diff --git a/dev/FacElem/index.html b/dev/FacElem/index.html index 02023207dc..80d698a25b 100644 --- a/dev/FacElem/index.html +++ b/dev/FacElem/index.html @@ -1074,47 +1074,47 @@

Construction

FacElem{B}(R, base::Vector{B}, exp::Vector{fmpz}) -> FacElem{B}
 

Returns the element , un-expanded.

-

source

+

source

FacElem{B}(base::Vector{B}, exp::Vector{fmpz}) -> FacElem{B}
 

Returns the element , un-expanded.

-

source

+

source

FacElem{B}(R, d::Dict{B, fmpz}) -> FacElem{B}
 FacElem{B}(R, d::Dict{B, Integer}) -> FacElem{B}
 

Returns the element , un-expanded.

-

source

+

source

FacElem{B}(d::Dict{B, fmpz}) -> FacElem{B}
 FacElem{B}(d::Dict{B, Integer}) -> FacElem{B}
 

Returns the element , un-expanded.

-

source

+

source

# FacElemMethod.

FacElem{B}(R, base::Vector{B}, exp::Vector{fmpz}) -> FacElem{B}
 

Returns the element , un-expanded.

-

source

+

source

FacElem{B}(base::Vector{B}, exp::Vector{fmpz}) -> FacElem{B}
 

Returns the element , un-expanded.

-

source

+

source

FacElem{B}(R, d::Dict{B, fmpz}) -> FacElem{B}
 FacElem{B}(R, d::Dict{B, Integer}) -> FacElem{B}
 

Returns the element , un-expanded.

-

source

+

source

FacElem{B}(d::Dict{B, fmpz}) -> FacElem{B}
 FacElem{B}(d::Dict{B, Integer}) -> FacElem{B}
 

Returns the element , un-expanded.

-

source

+

source

# idealMethod.

 ideal(O::NfOrd, a::FacElem{nf_elem, AnticNumberField)
 

The factored fractional ideal .

-

source

+

source

Conversion

@@ -1124,26 +1124,26 @@

Conversion

evaluate{T}(x::FacElem{T}) -> T
 

Expands or evaluates the factored element, i.e. actually computes the value. Does "square-and-multiply" on the exponent vectors.

-

source

+

source

# evaluateMethod.

evaluate(x::FacElem{fmpq}) -> fmpq
 evaluate(x::FacElem{fmpz}) -> fmpz
 

Expands or evaluates the factored element, i.e. actually computes the the element. Works by first obtaining a simplified version of the power product into coprime base elements.

-

source

+

source

# evaluateMethod.

evaluate{T}(x::FacElem{T}) -> T
 

Expands or evaluates the factored element, i.e. actually computes the value. Does "square-and-multiply" on the exponent vectors.

-

source

+

source

# evaluate_naiveMethod.

evaluate_naive{T}(x::FacElem{T}) -> T
 

Expands or evaluates the factored element, i.e. actually computes the value. Uses the obvious naive algorithm. Faster for input in finite rings.

-

source

+

source

Special functions

@@ -1154,14 +1154,14 @@

Special functions

simplify(x::FacElem{NfOrdFracIdl, NfOrdFracIdlSet}) -> FacElem

Uses coprime_base to obtain a simplified version of , ie. in the simplified version all base ideals will be pariwise coprime but not neccessarily prime!.

-

source

+

source

# simplifyMethod.

simplify(x::FacElem{fmpq}) -> FacElem{fmpq}
 simplify(x::FacElem{fmpz}) -> FacElem{fmpz}
 

Simplfies the factored element, i.e. arranges for the base to be coprime.

-

source

+

source

The simplified version can then be used further:

# isoneMethod.

@@ -1169,123 +1169,123 @@

Special functions

isone(x::FacElem{fmpz}) -> Bool

Tests if represents without an evaluation.

-

source

+

source

# factor_coprimeMethod.

factor_coprime(x::FacElem{fmpz}) -> Fac{fmpz}
 

Computed a partial factorisation of , ie. writes as a product of pariwise coprime integers.

-

source

+

source

# factor_coprimeMethod.

factor_coprime(x::FacElem{NfOrdIdl, NfOrdIdlSet}) -> Dict{NfOrdIdl, Int}
 

Computed a partial factorisation of , ie. writes as a product of pariwise coprime integral ideals.

-

source

+

source

# factor_coprimeMethod.

factor_coprime(Q::FacElem{NfOrdFracIdl, NfOrdFracIdlSet}) -> Dict{NfOrdIdl, Int}
 

A coprime factorisation of : each ideal in is split using \code{integral_split} and then a coprime basis is computed. This does {\bf not} use any factorisation.

-

source

+

source

# factor_coprimeMethod.

factor_coprime(a::FacElem{nf_elem, AnticNumberField}, I::NfOrdIdlSet) -> Dict{NfOrdIdl, fmpz}
 

Factors the rincipal ideal generated by into coprimes by computing a coprime basis from the principal ideals in the factorisation of .

-

source

+

source

# factorMethod.

 factor(Q::FacElem{NfOrdFracIdl, NfOrdFracIdlSet}) -> Dict{NfOrdIdl, Int}
 

The factorisation of , by refining a coprime factorisation.

-

source

+

source

# factorMethod.

factor(a::FacElem{nf_elem, AnticNumberField}, I::NfOrdIdlSet) -> Dict{NfOrdIdl, fmpz}
 

Factors the principal ideal generated by by refinind a coprime factorisation.

-

source

+

source

For factorised algebraic numbers a unique simplification is not possible, however, this allows still do obtain partial results:

# compact_presentationFunction.

compact_presentation(a::FacElem{nf_elem, AnticNumberField}, n::Int = 2; decom, arb_prec = 100, short_prec = 1000) -> FacElem
 

Computes a presentation where all the exponents are powers of and, the elements are "small", generically, they have a norm bounded by where is the discriminant of the maximal order. As the algorithm needs the factorisation of the principal ideal generated by , it can be passed in in \code{decom}.

-

source

+

source

# signsMethod.

signs(a::nf_elem)          -> Dict{InfPlc, Int}
 signs(a::FacElem{nf_elem}) -> Dict{InfPlc, Int}
 

This function returns a dictionary of the signs of at all infinite places of the ambient number field. The keys are infinite places of the ambient number field. The value is if the sign is positive and if the sign is negative.

-

source

+

source

# signsMethod.

signs(a::nf_elem, l::Vector{InfPlc})          -> Dict{InfPlc, Int}
 signs(a::FacElem{nf_elem}, l::Vector{InfPlc}) -> Dict{InfPlc, Int}
 

This function returns a dictionary of the signs of at places in . The keys are the elements of . The value is if the sign is positive and if the sign is negative. The result will contain as many signs as there are real places contained in .

-

source

+

source

# signMethod.

sign(a::nf_elem, P::InfPlc)          -> Int
 sign(a::FacElem{nf_elem}, P::InfPlc) -> Int
 

This function returns the sign of at the place . The value is if the sign is positive and if the sign is negative.

-

source

+

source

# ispositiveMethod.

ispositive(a::nf_elem, P::InfPlc)          -> Bool
 ispositive(a::FacElem{nf_elem}, P::InfPlc) -> Bool
 

Returns whether the element is positive at the embedding corresponding to . The place must be real.

-

source

+

source

# ispositiveMethod.

ispositive(a::nf_elem, l::Vector{InfPlc})          -> Bool
 ispositive(a::FacElem{nf_elem}, l::Vector{InfPlc}) -> Bool
 

Returns whether the element is positive at the embeddings corresponding to the real places of .

-

source

+

source

# istotally_positiveMethod.

istotally_positive(a::nf_elem)          -> Bool
 istotally_positive(a::FacElem{nf_elem}) -> Bool
 

Returns whether the element is totally positive, that is, whether it is positive at all places of the ambient number field.

-

source

+

source

# valuationMethod.

valuation(a::FacElem{nf_elem, AnticNumberField}, P::NfOrdIdl) -> fmpz
 

The valuation of at .

-

source

+

source

# valuationMethod.

valuation(A::FacElem{NfOrdFracIdl, NfOrdFracIdlSet}, p::NfOrdIdl)
 valuation(A::FacElem{NfOrdIdl, NfOrdIdlSet}, p::NfOrdIdl)
 

The valuation of at .

-

source

+

source

# evaluate_modMethod.

evaluate_mod(a::FacElem{nf_elem, AnticNumberField}, B::NfOrdFracIdl) -> nf_elem
 

Evaluates using CRT and small primes. Assumes that the ideal generated by is in fact . Useful in cases where has huge exponents, but the evaluated element is actually "small".

-

source

+

source

# reduce_idealMethod.

reduce_ideal(A::FacElem{NfOrdIdl}) -> NfOrdIdl, FacElem{nf_elem}
 

Computes and in factored form, such that .

-

source

+

source

# modular_projMethod.

modular_proj(a::FacElem{nf_elem, AnticNumberField}, me::modular_env) -> Vector{fq_nmod}
 

Given an algebraic number in factored form and data \code{me} as computed by \code{modular_init}, project onto the residue class fields.

-

source

+

source

Miscellaneous

@@ -1294,19 +1294,19 @@

Miscellaneous

max_exp(a::FacElem)
 

Finds the largest exponent in the factored element .

-

source

+

source

# min_expMethod.

min_exp(a::FacElem)
 

Finds the smallest exponent in the factored element .

-

source

+

source

# maxabs_expMethod.

maxabs_exp(a::FacElem)
 

Finds the largest exponent by absolute value in the factored element .

-

source

+

source

diff --git a/dev/abelian/elements/index.html b/dev/abelian/elements/index.html index 5f0b5042f9..78a0d75ffe 100644 --- a/dev/abelian/elements/index.html +++ b/dev/abelian/elements/index.html @@ -1100,43 +1100,43 @@

Creation

gens(G::GrpAbFinGen) -> Vector{GrpAbFinGenElem}
 

The sequence of generators of .

-

source

+

source

# GrpAbFinGenMethod.

(A::GrpAbFinGen)(x::Vector{fmpz}) -> GrpAbFinGenElem
 

Given an array x of elements of type fmpz of the same length as ngens(), this function returns the element of with components x.

-

source

+

source

# GrpAbFinGenMethod.

(A::GrpAbFinGen)(x::fmpz_mat) -> GrpAbFinGenElem
 

Given a matrix over the integers with row and ngens(A) columns, this function returns the element of with components x.

-

source

+

source

# getindexMethod.

getindex(A::GrpAbFinGen, i::Int) -> GrpAbFinGenElem
 

Returns the element of with components , where the is at the -th position.

-

source

+

source

# randMethod.

rand(G::GrpAbFinGen) -> GrpAbFinGenElem
 

Returns an element of chosen uniformly at random.

-

source

+

source

# randMethod.

rand(G::GrpAbFinGen, B::fmpz) -> GrpAbFinGenElem
 

For a (potentially infinite) abelian group , return an element chosen uniformly at random with coefficients bounded by .

-

source

+

source

# parentMethod.

parent(x::GrpAbFinGenElem) -> GrpAbFinGen
 

Returns the parent of .

-

source

+

source

Access

@@ -1145,7 +1145,7 @@

Access

getindex(x::GrpAbFinGenElem, i::Int) -> fmpz
 

Returns the -th component of the element .

-

source

+

source

Predicates

@@ -1158,7 +1158,7 @@

Invariants

order(A::GrpAbFinGenElem) -> fmpz
 

Returns the order of . It is assumed that the order is finite.

-

source

+

source

Iterator

diff --git a/dev/abelian/introduction/index.html b/dev/abelian/introduction/index.html index e645fedb64..4c234eac73 100644 --- a/dev/abelian/introduction/index.html +++ b/dev/abelian/introduction/index.html @@ -1071,19 +1071,19 @@

Basic Creation

abelian_group(::Type{T} = GrpAbFinGen, M::fmpz_mat) -> GrpAbFinGen
 

Creates the abelian group with relation matrix M. That is, the group will have ncols(M) generators and each row of M describes one relation.

-

source

+

source

# abelian_groupMethod.

abelian_group(::Type{T} = GrpAbFinGen, M::AbstractMatrix{<:IntegerUnion})
 

Creates the abelian group with relation matrix M. That is, the group will have ncols(M) generators and each row of M describes one relation.

-

source

+

source

# abelian_groupMethod.

abelian_group(::Type{T} = GrpAbFinGen, M::AbstractMatrix{<:IntegerUnion})
 

Creates the abelian group with relation matrix M. That is, the group will have ncols(M) generators and each row of M describes one relation.

-

source

+

source

Alternatively, there are shortcuts to create products of cyclic groups:

# abelian_groupMethod.

@@ -1091,7 +1091,7 @@

Basic Creation

abelian_group(::Type{T} = GrpAbFinGen, M::IntegerUnion...) -> GrpAbFinGen

Creates the direct product of the cyclic groups , where is the th entry of M.

-

source

+

source

julia> G = abelian_group(2, 2, 6)
 GrpAb: (Z/2)^2 x Z/6
 
@@ -1101,13 +1101,13 @@

Basic Creation

free_abelian_group(::Type{T} = GrpAbFinGen, n::Int) -> GrpAbFinGen
 

Creates the free abelian group of rank n.

-

source

+

source

# abelian_groupsMethod.

abelian_groups(n::Int) -> Vector{GrpAbFinGen}
 

Given a positive integer , return a list of all abelian groups of order .

-

source

+

source

julia> abelian_groups(8)
 3-element Vector{GrpAbFinGen}:
  GrpAb: (Z/2)^3
@@ -1122,79 +1122,79 @@ 

Invariants

issnf(G::GrpAbFinGen) -> Bool
 

Returns whether the current relation matrix of the group is in Smith normal form.

-

source

+

source

# ngensMethod.

ngens(G::GrpAbFinGen) -> Int
 

Returns the number of generators of in the current representation.

-

source

+

source

# nrelsMethod.

nrels(G::GrpAbFinGen) -> Int
 

Returns the number of relations of in the current representation.

-

source

+

source

# relsMethod.

rels(A::GrpAbFinGen) -> fmpz_mat
 

Returns the currently used relations of as a single matrix.

-

source

+

source

# isfiniteMethod.

isfinite(A::GrpAbFinGen) -> Bool
 

Returns whether is finite.

-

source

+

source

# isinfiniteMethod.

isinfinite(A::GrpAbFinGen) -> Bool
 

Returns whether is infinite.

-

source

+

source

# rankMethod.

rank(A::GrpAbFinGen) -> Int
 

Returns the rank of , that is, the dimension of the -vectorspace .

-

source

+

source

# orderMethod.

order(A::GrpAbFinGen) -> fmpz
 

Returns the order of . It is assumed that is finite.

-

source

+

source

# exponentMethod.

exponent(A::GrpAbFinGen) -> fmpz
 

Returns the exponent of . It is assumed that is finite.

-

source

+

source

# istrivialMethod.

istrivial(A::GrpAbFinGen) -> Bool
 

Checks if is the trivial group.

-

source

+

source

# istorsionMethod.

istorsion(G::GrpAbFinGen) -> Bool
 

Returns true if and only if G is a torsion group.

-

source

+

source

# iscyclicMethod.

iscyclic(G::GrpAbFinGen) -> Bool
 

Returns whether is cyclic.

-

source

+

source

# elementary_divisorsMethod.

elementary_divisors(G::GrpAbFinGen) -> Vector{fmpz}
 

Given , returns the elementary divisors of , that is, the unique positive integers with and .

-

source

+

source

diff --git a/dev/abelian/maps/index.html b/dev/abelian/maps/index.html index 7e32458c72..2106b931cd 100644 --- a/dev/abelian/maps/index.html +++ b/dev/abelian/maps/index.html @@ -1021,13 +1021,13 @@

Maps

hom(G::GrpAbFinGen, H::GrpAbFinGen, A::Matrix{ <: Map{GrpAbFinGen, GrpAbFinGen}}) -> Map
 

Given groups and that are created as direct products as well as a matrix containing maps , return the induced homomorphism.

-

source

+

source

# isisomorphicMethod.

isisomorphic(G::GrpAbFinGen, H::GrpAbFinGen) -> Bool
 

Checks if and are isomorphic.

-

source

+

source

julia> G = free_abelian_group(2)
 GrpAb: Z^2
 
diff --git a/dev/abelian/structural/index.html b/dev/abelian/structural/index.html
index b05aa6d47b..6c5477756a 100644
--- a/dev/abelian/structural/index.html
+++ b/dev/abelian/structural/index.html
@@ -1089,14 +1089,14 @@ 

Structural Computations

snf(A::GrpAbFinGen) -> GrpAbFinGen, Map
 

Returns a pair , where is an abelian group in canonical Smith normal form isomorphic to and an isomorphism .

-

source

+

source

# find_isomorphismMethod.

find_isomorphism(G, op, A::GrpAb) -> Dict, Dict
 

Given an abelian group and a collection which is an abelian group with the operation op, this functions returns isomorphisms and encoded as dictionaries.

It is assumed that and are isomorphic.

-

source

+

source

Subgroups and Quotients

@@ -1105,59 +1105,59 @@

Subgroups and Quotients

torsion_subgroup(G::GrpAbFinGen) -> GrpAbFinGen, Map
 

Returns the torsion subgroup of G.

-

source

+

source

# subMethod.

sub(G::GrpAbFinGen, s::Vector{GrpAbFinGenElem}) -> GrpAbFinGen, Map
 

Create the subgroup of generated by the elements in s together with the injection .

-

source

+

source

# subMethod.

sub(s::Vector{GrpAbFinGenElem}) -> GrpAbFinGen, Map
 

Assuming that the non-empty array s contains elements of an abelian group , this functions returns the subgroup of generated by the elements in s together with the injection .

-

source

+

source

sub(A::SMat, r::UnitRange, c::UnitRange) -> SMat
 

Return the submatrix of , where the rows correspond to and the columns correspond to .

-

source

+

source

# subMethod.

sub(G::GrpAbFinGen, M::fmpz_mat) -> GrpAbFinGen, Map
 

Create the subgroup of generated by the elements corresponding to the rows of together with the injection .

-

source

+

source

# subMethod.

sub(G::GrpAbFinGen, n::fmpz) -> GrpAbFinGen, Map
 

Create the subgroup of together with the injection .

-

source

+

source

# subMethod.

sub(G::GrpAbFinGen, n::Integer) -> GrpAbFinGen, Map
 

Create the subgroup of together with the injection .

-

source

+

source

# psylow_subgroupMethod.

psylow_subgroup(G::GrpAbFinGen, p::IntegerUnion) -> GrpAbFinGen, Map
 

Returns the -Sylow subgroup of G.

-

source

+

source

# has_quotientMethod.

has_quotient(G::GrpAbFinGen, invariant::Vector{Int}) -> Bool
 

Given an abelian group , returns true if it has a quotient with given elementary divisors and false otherwise.

-

source

+

source

# has_complementMethod.

has_complement(f::GrpAbFinGenMap) -> Bool, GrpAbFinGenMap
 

Given a map representing a subgroup of a group , returns either true and an injection of a complement in , or false.

-

source

+

source

A sophisticated algorithm for the enumeration of all (or selected) subgroups of a finite abelian group is available.

# psubgroupsMethod.

@@ -1168,7 +1168,7 @@

Subgroups and Quotients

order = -1)

Return an iterator for the subgroups of of the specific form. Note that subtype (and quotype) is the type of the subgroup as an abelian -group.

-

source

+

source

julia> G = abelian_group([6, 12])
 GrpAb: Z/6 x Z/12
 
@@ -1193,7 +1193,7 @@ 

Subgroups and Quotients

order = -1)

Return an iterator for the subgroups of of the specific form.

-

source

+

source

julia> for U = subgroups(G, subtype = [2])
          @show U[1], map(U[2], gens(U[1]))
        end
@@ -1242,40 +1242,40 @@ 

Subgroups and Quotients

quo(G::GrpAbFinGen, s::Vector{GrpAbFinGenElem}) -> GrpAbFinGen, Map
 

Create the quotient of by the subgroup generated by the elements in , together with the projection .

-

source

+

source

# quoMethod.

quo(G::GrpAbFinGen, M::fmpz_mat) -> GrpAbFinGen, Map
 

Create the quotient of by the subgroup generated by the elements corresponding to the rows of , together with the projection .

-

source

+

source

# quoMethod.

quo(G::GrpAbFinGen, n::Integer}) -> GrpAbFinGen, Map
 quo(G::GrpAbFinGen, n::fmpz}) -> GrpAbFinGen, Map
 

Returns the quotient together with the projection .

-

source

+

source

# quoMethod.

quo(G::GrpAbFinGen, n::Integer}) -> GrpAbFinGen, Map
 quo(G::GrpAbFinGen, n::fmpz}) -> GrpAbFinGen, Map
 

Returns the quotient together with the projection .

-

source

+

source

# quoMethod.

quo(G::GrpAbFinGen, U::GrpAbFinGen) -> GrpAbFinGen, Map
 

Create the quotient of by , together with the projection .

-

source

+

source

For 2 subgroups U and V of the same group G, U+V returns the smallest subgroup of G containing both. Similarly, computes the intersection and U \subset V tests for inclusion. The difference between issubset = and issubgroup is that the inclusion map is also returned in the 2nd call.

# intersectMethod.

intersect(mG::GrpAbFinGenMap, mH::GrpAbFinGenMap) -> GrpAbFinGen, Map
 

Given two injective maps of abelian groups with the same codomain , return the intersection of the images as a subgroup of .

-

source

+

source

Direct Products

@@ -1284,25 +1284,25 @@

Direct Products

direct_product(G::GrpAbFinGen...; task::Symbol = :prod) -> GrpAbFinGen, GrpAbFinGenMap, GrpAbFinGenMap
 

Returns the direct product of the abelian groups . task can be ":sum", ":prod", ":both" or ":none" and determines which canonical maps are computed as well: ":sum" for the injections, ":prod" for the projections.

-

source

+

source

# canonical_injectionMethod.

canonical_injection(G::GrpAbFinGen, i::Int) -> Map
 

Given a group that was created as a direct product, return the injection from the th component.

-

source

+

source

# canonical_projectionMethod.

canonical_projection(G::GrpAbFinGen, i::Int) -> Map
 

Given a group that was created as a direct product, return the projection onto the th component.

-

source

+

source

# flatMethod.

flat(G::GrpAbFinGen) -> GrpAbFinGen, Map
 

Given a group that is created using (iterated) direct products, or (iterated) tensor product, return a group that is a flat product: is returned as , (resp. ) together with the isomorphism.

-

source

+

source

Tensor Producs

@@ -1311,13 +1311,13 @@

Tensor Producs

tensor_product(G::GrpAbFinGen...; task::Symbol = :map) -> GrpAbFinGen, Map
 

Given groups , compute the tensor product . If task is set to ":map", a map is returned that maps tuples in to pure tensors . The map admits a preimage as well.

-

source

+

source

<a id='hom-Tuple{GrpAbFinGen, GrpAbFinGen, Vector{<:Map{GrpAbFinGen, GrpAbFinGen}}}' href='#hom-Tuple{GrpAbFinGen, GrpAbFinGen, Vector{<:Map{GrpAbFinGen, GrpAbFinGen}}}'># homMethod.

hom(G::GrpAbFinGen, H::GrpAbFinGen, A::Vector{ <: Map{GrpAbFinGen, GrpAbFinGen}}) -> Map
 

Given groups and as well as maps , compute the tensor product of the maps.

-

source

+

source

Hom-Group

@@ -1326,7 +1326,7 @@

Hom-Group

hom(G::GrpAbFinGen, H::GrpAbFinGen; task::Symbol = :map) -> GrpAbFinGen, Map
 

Computes the group of all homomorpisms from to as an abstract group. If task is ":map", then a map is computed that can be used to obtain actual homomorphisms. This map also allows preimages. Set task to ":none" to not compute the map.

-

source

+

source

diff --git a/dev/class_fields/intro/index.html b/dev/class_fields/intro/index.html index c5a54f23d1..a62aaebb9a 100644 --- a/dev/class_fields/intro/index.html +++ b/dev/class_fields/intro/index.html @@ -1123,13 +1123,13 @@

Ray Class Groups

ray_class_group(m::NfOrdIdl, inf_plc::Vector{InfPlc}; n_quo::Int, lp::Dict{NfOrdIdl, Int}) -> GrpAbFinGen, MapRayClassGrp
 

Given an ideal and a set of infinite places of , this function returns the corresponding ray class group as an abstract group and a map going from the group into the group of ideals of that are coprime to . If n_quo is set, it will return the group modulo n_quo. The factorization of can be given with the keyword argument lp.

-

source

+

source

# class_groupMethod.

class_group(K::AnticNumberField) -> GrpAbFinGen, Map
 

Shortcut for class_group(maximal_order(K)): returns the class group as an abelian group and a map from this group to the set of ideals of the maximal order.

-

source

+

source

# norm_groupMethod.

norm_group(f::Nemo.PolyElem, mR::Hecke.MapRayClassGrp, isabelian::Bool = true; of_closure::Bool = false) -> Hecke.FinGenGrpAb, Hecke.FinGenGrpAbMap
@@ -1137,7 +1137,7 @@ 

Ray Class Groups

norm_group(f::Array{PolyElem{nf_elem}}, mR::Hecke.MapRayClassGrp, isabelian::Bool = true; of_closure::Bool = false) -> Hecke.FinGenGrpAb, Hecke.FinGenGrpAbMap

Computes the subgroup of the Ray Class Group given by the norm of the extension generated by a/the roots of . If isabelian is set to true, then the code assumes the field to be abelian, hence the algorithm stops when the quotient by the norm group has the correct order. Even though the algorithm is probabilistic by nature, in this case the result is guaranteed. If of_closure is given, then the norm group of the splitting field of the polynomial(s) is computed. It is the callers responsibility to ensure that the ray class group passed in is large enough.

-

source

+

source

# norm_groupMethod.

norm_group(K::NfRel{nf_elem}, mR::Hecke.MapRayClassGrp) -> Hecke.FinGenGrpAb, Hecke.FinGenGrpAbMap
@@ -1145,7 +1145,7 @@ 

Ray Class Groups

norm_group(K::NfRelNS{nf_elem}, mR::Hecke.MapRayClassGrp) -> Hecke.FinGenGrpAb, Hecke.FinGenGrpAbMap

Computes the subgroup of the Ray Class Group given by the norm of the extension.

-

source

+

source

Ray Class Fields

@@ -1157,37 +1157,37 @@

Ray Class Fields

ray_class_field(m::MapRayClassGrp) -> ClassField

Creates the (formal) abelian extension defined by the map where is the set of ideals coprime to the modulus defining and is a quotient of the ray class group (or class group). The map must be the map returned from a call to {classgroup} or {rayclass_group}.

-

source

+

source

# ray_class_fieldMethod.

ray_class_field(m::Union{MapClassGrp, MapRayClassGrp}, quomap::GrpAbFinGenMap) -> ClassField
 

For a map computed by either {rayclassgroup} or {class_group} and a canonical projection (quotient map) as returned by {quo} for q quotient of the domain of and a subgroup of , create the (formal) abelian extension where the (relative) automorphism group is canonically isomorphic to the codomain of .

-

source

+

source

# ray_class_fieldMethod.

ray_class_field(I::NfAbsOrdIdl; n_quo = 0) -> ClassField
 

The ray class field modulo . If n_quo is given, then the largest subfield of exponent is computed.

-

source

+

source

# ray_class_fieldMethod.

ray_class_field(I::NfAbsOrdIdl, inf::Vector{InfPlc}; n_quo = 0) -> ClassField
 

The ray class field modulo and the infinite places given. If n_quo is given, then the largest subfield of exponent is computed.

-

source

+

source

# hilbert_class_fieldMethod.

hilbert_class_field(k::AnticNumberField) -> ClassField
 

The Hilbert class field of as a formal (ray-) class field.

-

source

+

source

# ring_class_fieldMethod.

ring_class_field(O::NfAbsOrd) -> ClassField
 

The ring class field of , i.e. the maximal abelian extension ramified only at primes dividing the conductor with the automorphism group isomorphic to the Picard group.

-

source

+

source

Example

@@ -1216,7 +1216,7 @@

Conversions

Given a (formal) abelian extension, compute the class field by finding defining polynomials for all prime power cyclic subfields.

Note, the return type is always a non-simple extension.

-

source

+

source

julia> Qx, x = PolynomialRing(FlintQQ, "x");
 
 julia> k, a = NumberField(x^2 - 10, "a");
@@ -1245,25 +1245,25 @@ 

Conversions

ray_class_field(K::NfRel{nf_elem}) -> ClassField
 

For a (relative) abelian extension, compute an abstract representation as a class field.

-

source

+

source

# genus_fieldMethod.

genus_field(A::ClassField, k::AnticNumberField) -> ClassField
 

The maximal extension contained in that is the compositum of with an abelian extension of .

-

source

+

source

# maximal_abelian_subfieldMethod.

maximal_abelian_subfield(A::ClassField, k::AnticNumberField) -> ClassField
 

The maximal abelian extension of contained in . must be a subfield of the base field of .

-

source

+

source

# maximal_abelian_subfieldMethod.

maximal_abelian_subfield(K::NfRel{nf_elem}; of_closure::Bool = false) -> ClassField
 

Using a probabilistic algorithm for the norm group computation, determine the maximal abelian subfield in over its base field. If of_closure is set to true, then the algorithm is applied to the normal closure of (without computing it).

-

source

+

source

Invariants

@@ -1272,61 +1272,61 @@

Invariants

degree(A::ClassField)
 

The degree of over its base field, i.e. the size of the defining ideal group.

-

source

+

source

# base_ringMethod.

base_ring(A::ClassField)
 

The maximal order of the field that is defined over.

-

source

+

source

# base_fieldMethod.

base_field(A::ClassField)
 

The number field that is defined over.

-

source

+

source

# discriminantMethod.

discriminant(C::ClassField) -> NfOrdIdl
 

Using the conductor-discriminant formula, compute the (relative) discriminant of . This does not use the defining equations.

-

source

+

source

# conductorMethod.

conductor(C::ClassField) -> NfOrdIdl, Vector{InfPlc}
 

Return the conductor of the abelian extension corresponding to .

-

source

+

source

# defining_modulusMethod.

defining_modulus(CF::ClassField)
 

The modulus, i.e. an ideal of the set of real places, used to create the class field.

-

source

+

source

# iscyclicMethod.

iscyclic(C::ClassField)
 

Tests if the (relative) automorphism group of is cyclic (by checking the defining ideal group).

-

source

+

source

# isconductorMethod.

isconductor(C::Hecke.ClassField, m::NfOrdIdl, inf_plc::Vector{InfPlc}=InfPlc[]; check) -> NfOrdIdl, Vector{InfPlc}
 

Checks if (m, inf_plc) is the conductor of the abelian extension corresponding to . If check is false, it assumes that the given modulus is a multiple of the conductor. This is usually faster than computing the conductor.

-

source

+

source

# isnormalMethod.

isnormal(C::ClassField) -> Bool
 

For a class field defined over a normal base field , decide if is normal over .

-

source

+

source

# iscentralMethod.

iscentral(C::ClassField) -> Bool
 

For a class field defined over a normal base field , decide if is central over .

-

source

+

source

Operations

@@ -1335,67 +1335,67 @@

Operations

*(A::ClassField, B::ClassField) -> ClassField
 

The compositum of and as a (formal) class field.

-

source

+

source

# compositumMethod.

compositum(a::ClassField, b::ClassField) -> ClassField
 

The compositum of and as a (formal) class field.

-

source

+

source

# ==Method.

==(a::ClassField, b::ClassField)
 

Tests if and are equal.

-

source

+

source

# intersectMethod.

intersect(a::ClassField, b::ClassField) -> ClassField
 

The intersection of and as a class field.

-

source

+

source

# prime_decomposition_typeMethod.

prime_decomposition_type(C::ClassField, p::NfAbsOrdIdl) -> (Int, Int, Int)
 

For a prime in the base ring of , determine the splitting type of in . ie. the tuple giving the ramification degree, the inertia and the number of primes above .

-

source

+

source

# issubfieldMethod.

issubfield(a::ClassField, b::ClassField) -> Bool
 

Determines if is a subfield of .

-

source

+

source

# islocal_normMethod.

islocal_norm(r::ClassField, a::NfAbsOrdElem) -> Bool
 

Tests if is a local norm at all finite places in the extension implictly given by .

-

source

+

source

# islocal_normMethod.

islocal_norm(r::ClassField, a::NfAbsOrdElem, p::NfAbsOrdIdl) -> Bool
 

Tests if is a local norm at in the extension implictly given by . Currently the conductor cannot have infinite places.

-

source

+

source

# normal_closureMethod.

normal_closure(C::ClassField) -> ClassField
 

For a ray class field extending a normal base field , compute the normal closure over .

-

source

+

source

# subfieldsMethod.

subfields(C::ClassField) -> Vector{ClassField}
 

Find all subfields of as class fields. Note: this will not find all subfields over , but only the ones sharing the same base field.

-

source

+

source

# subfieldsMethod.

subfields(C::ClassField, d::Int) -> Vector{ClassField}
 

Find all subfields of of degree as class fields. Note: this will not find all subfields over , but only the ones sharing the same base field.

-

source

+

source

diff --git a/dev/function_fields/degree_localization/index.html b/dev/function_fields/degree_localization/index.html index 9f1c905471..43e51a071e 100644 --- a/dev/function_fields/degree_localization/index.html +++ b/dev/function_fields/degree_localization/index.html @@ -1144,7 +1144,7 @@

Construction of the degree loca
Localization(K::RationalFunctionField{T}, ::typeof(degree)) where T <: FieldElement
 

Return the localization of at inside the rational function field , i.e. the localization of the function field at the point at infinity, i.e. the valuation ring for valuation degree. This is the ring .

-

source

+

source


@@ -1184,20 +1184,20 @@

Element functionality

 degree(a::KInftyElem)
 

Return the degree of the given element, i.e. degree(numerator) - degree(denominator).

-

source

+

source

# valuationMethod.

valuation(a::KInftyElem)
 

Return the degree valuation of the given element, i.e. -degree(a).

-

source

+

source

One can test whether a given element of a rational function field is in the degree localization.

<a id='in-Union{Tuple{T}, Tuple{AbstractAlgebra.Generic.Rat{T}, KInftyRing{T}}} where T<:FieldElement' href='#in-Union{Tuple{T}, Tuple{AbstractAlgebra.Generic.Rat{T}, KInftyRing{T}}} where T<:FieldElement'># inMethod.

in(a::Generic.Rat{T}, R::KInftyRing{T}) where T <: FieldElement
 

Return true if the given element of the rational function field is an element of k_\infty(x), i.e. if degree(numerator) <= degree(denominator).

-

source

+

source

All basic arithmetic operations are provided for elements of the degree localization.

As the degree localization is a Euclidean ring, all standard Euclidean functions, including div, divrem, mod, gcd, gcdx, are provided.

diff --git a/dev/misc/conjugacy/index.html b/dev/misc/conjugacy/index.html index 8ff42fbd00..4fe7dead03 100644 --- a/dev/misc/conjugacy/index.html +++ b/dev/misc/conjugacy/index.html @@ -986,7 +986,7 @@

Conjugacy of integral matrices

julia> isone(abs(det(T))) && T * A == B * T true
-

source

+

source

diff --git a/dev/misc/index.html b/dev/misc/index.html index d431f47187..6b38fb1a38 100644 --- a/dev/misc/index.html +++ b/dev/misc/index.html @@ -1076,35 +1076,35 @@
euler_phi_inv(n::Integer) -> Vector{fmpz}
 

The inverse of the Euler totient functions: find all s.th. holds.

-

source

+

source

euler_phi_inv(n::fmpz) -> Vector{fmpz}
 

The inverse of the Euler totient functions: find all s.th. holds.

-

source

+

source

euler_phi_inv(n::fmpz, zk::NfAbsOrd{AnticNumberField, nf_elem}) -> Vector{NfOrdIdl}
 

The inverse of the ideal totient function: all ideals s.th. the unit group of the residue ring has the required size.

-

source

+

source

# modordMethod.

modord(a::fmpz, m::fmpz) -> Int
 modord(a::Integer, m::Integer)
 

The multiplicative order of a modulo (not a good algorithm).

-

source

+

source

# isprime_powerMethod.

isprime_power(n::fmpz) -> Bool
 isprime_power(n::Integer) -> Bool
 

Tests if is the exact power of a prime number.

-

source

+

source

# primes_up_toMethod.

primes_up_to(n::Int) -> Vector{Int}
 

Returns a vector containing all the prime numbers up to .

-

source

+

source

Analytic

@@ -1113,21 +1113,21 @@

Analytic

dickman_rho(x::Number, prec::Int=55) Number
 

Evaluates the Dickman- function at .

-

source

+

source

dickman_rho(x::Number, e::UnitRange{Int}, prec::Int=55) Number[]
 

Evaluates the Dickman- function at for all .

-

source

+

source

# psi_guessFunction.

psi_guess(x::Number, B::Int) Number
 

Uses the dickman_rho function to estimate the number of -smooth integers bounded by .

-

source

+

source

psi_guess(x::Number, e::UnitRange, B::Int) Number
 

Uses the dickman_rho function to estimate the number of -smooth integers bounded by for .

-

source

+

source

# psi_lowerFunction.

psi_lower(N::Integer, B::Int, a::Int = 776) -> Vector{Int}, fmpz_abs_series
@@ -1135,7 +1135,7 @@ 

Analytic

Uses Bernstein's ideas: https://cr.yp.to/papers/psi.pdf to compute lower bounds on the psi function counting smooth numbers. An array is returned s.th. for . The second return value is Bernstein's power series.

The optional other parameter controls the precision of the result, it defaults to 776.

-

source

+

source

psi_lower(N::Integer, B::NfFactorBase) -> Vector{Int}, fmpz_abs_series
 psi_lower(N::fmpz, B::NfFactorBase) -> Vector{Int}, fmpz_abs_series
 
@@ -1143,7 +1143,7 @@ 

Analytic

psi_upper(N::fmpz, B::NfFactorBase) -> Vector{Int}, fmpz_abs_series

Uses Bernstein's techniques to bound the number of ideals of norm bounded by that are smooth over the factor base .

-

source

+

source

Linear Algebra

@@ -1152,62 +1152,62 @@

Linear Algebra

largest_elementary_divisor(A::fmpz_mat) -> fmpz
 

The largest elementary divisor of , that is, the last diagonal entry of the Smith normal form of .

-

source

+

source

# maximal_elementary_divisorMethod.

maximal_elementary_divisor(A::fmpz_mat) -> fmpz
 

The largest elementary divisor of , that is, the last diagonal entry of the Smith normal form of .

-

source

+

source

# mod_symMethod.

mod_sym(M::fmpz_mat, p::fmpz) -> fmpz_mat
 

Reduces every entry modulo into the symmetric residue system.

-

source

+

source

# mod_sym!Method.

mod_sym!(M::fmpz_mat, p::fmpz)
 

Reduces every entry modulo in-place, into the symmetric residue system.

-

source

+

source

# mod!Method.

mod!(M::fmpz_mat, p::fmpz)
 

Reduces every entry modulo in-place, i.e. applies the mod function to every entry. Positive residue system.

-

source

+

source

# saturateMethod.

saturate(A::fmpz_mat) -> fmpz_mat
 

Computes the saturation of , that is, a basis for , where is the row span of and the number of rows of .

Equivalently, return for an invertible rational matrix such that is integral and the elementary divisors of are all trivial.

-

source

+

source

# elementary_divisorsMethod.

elementary_divisors(A::fmpz_mat) -> Vector{fmpz}
 

The elementary divisors of , that is, the diagonal entries of the Smith normal form of .

-

source

+

source

# jordan_normal_formFunction.

jordan_normal_form(M::MatElem{T}) where T <: FieldElem -> MatElem{T}, MatElem{T}
 

Returns matrices and such that and is in Jordan normal form.

-

source

+

source

# divisorsMethod.

divisors(A::fmpz_mat, d::fmpz) -> fmpz
 

Returns the diagonal entries of a diagonal form of . We assume that all the elementary divisors are divisors of .

-

source

+

source

# snf_with_transformMethod.

snf_with_transform(A::fmpz_mat, l::Bool = true, r::Bool = true) -> fmpz_mat, fmpz_mat, fmpz_mat
 

Given some integer matrix , compute the Smith normal form (elementary divisor normal form) of . If l and/ or r are true, then the corresponding left and/ or right transformation matrices are computed as well.

-

source

+

source

Polynomials

@@ -1219,29 +1219,29 @@

CRT

induce_crt(a::fmpz_poly, p::fmpz, b::fmpz_poly, q::fmpz, signed::Bool = false) -> fmpz_poly
 

Given integral polynomials and as well as coprime integer moduli and , find and . If signed is set, the symmetric representative is used, the positive one otherwise.

-

source

+

source

induce_crt(L::Vector{PolyElem}, c::crt_env{fmpz}) -> fmpz_poly
 

Given fmpz_poly polynomials and a crt\_env, apply the crt function to each coefficient resulting in a polynomial .

-

source

+

source

induce_crt(L::Vector{MatElem}, c::crt_env{fmpz}) -> fmpz_mat
 

Given matrices and a crt\_env, apply the crt function to each coefficient resulting in a matrix .

-

source

+

source

induce_crt(a::Generic.Poly{nf_elem}, p::fmpz, b::Generic.Poly{nf_elem}, q::fmpz) -> Generic.Poly{nf_elem}, fmpz
 

Given polynomials defined modulo and modulo , apply the CRT to all coefficients recursively. Implicitly assumes that and have integral coefficients (i.e. no denominators).

-

source

+

source

# induce_rational_reconstructionFunction.

induce_rational_reconstruction(a::fmpz_poly, M::fmpz) -> fmpq_poly
 

Apply rational_reconstruction to each coefficient of , resulting in either a fail (return (false, s.th.)) or (true, g) for some rational polynomial s.th. .

-

source

+

source

induce_rational_reconstruction(a::Generic.Poly{nf_elem}, M::fmpz) -> bool, Generic.Poly{nf_elem}
 

Apply rational reconstruction to the coefficients of . Implicitly assumes the coefficients to be integral (no checks done) returns true iff this is successful for all coefficients.

-

source

+

source

diff --git a/dev/number_fields/complex_embeddings/index.html b/dev/number_fields/complex_embeddings/index.html index ccb10db665..34d406da80 100644 --- a/dev/number_fields/complex_embeddings/index.html +++ b/dev/number_fields/complex_embeddings/index.html @@ -1117,7 +1117,7 @@

Construction of complex embeddings1-element Vector{Hecke.NumFieldEmbNfAbs}: Embedding corresponding to ≈ 0.00 + 1.73 * i -

source

+

source

# real_embeddingsMethod.

real_embeddings(K::NumField) -> Vector{NumFieldEmb}
@@ -1131,7 +1131,7 @@ 

Construction of complex embeddings

-

source

+

source

Properties

@@ -1146,7 +1146,7 @@

Properties

julia> number_field(e) Imaginary quadratic field defined by x^2 + 3
-

source

+

source

# isrealMethod.

isreal(f::NumFieldEmb) -> Bool
@@ -1158,7 +1158,7 @@ 

Properties

julia> isreal(e) true
-

source

+

source

# isimaginaryMethod.

isimaginary(f::NumFieldEmb) -> Bool
@@ -1170,7 +1170,7 @@ 

Properties

julia> isimaginary(e) true
-

source

+

source

Conjugated embedding

@@ -1185,7 +1185,7 @@

Conjugated embedding

julia> conj(e[1]) == e[2] true -

source

+

source

Evaluating elements at complex embeddings

@@ -1212,7 +1212,7 @@

Evaluating elements at comple julia> fn(a) [+/- 3.99e-77] + [1.73205080756887729353 +/- 5.41e-21]*im -

source

+

source

Restriction

@@ -1234,7 +1234,7 @@

Restriction

Real quadratic field defined by x^2 - 3 corresponding to ≈ -1.73 -

source

+

source

# restrictMethod.

restrict(f::NumFieldEmb, g::NumFieldMor)
@@ -1253,7 +1253,7 @@ 

Restriction

Number field over Rational Field with defining polynomial x^2 + x - 1 corresponding to ≈ 0.62
-

source

+

source

Extension

@@ -1275,7 +1275,7 @@

Extension

Embedding corresponding to ≈ 0.31 + 0.95 * i Embedding corresponding to ≈ 0.31 - 0.95 * i -

source

+

source

Example

diff --git a/dev/number_fields/elements/index.html b/dev/number_fields/elements/index.html index 07f3a69bed..0c9801440b 100644 --- a/dev/number_fields/elements/index.html +++ b/dev/number_fields/elements/index.html @@ -1074,13 +1074,13 @@

Creation

gen(L::SimpleNumField) -> NumFieldElem
 

Given a simple number field over , this functions returns the class of , which is the canonical primitive element of over .

-

source

+

source

# gensMethod.

gens(L::NonSimpleNumField) -> Vector{NumFieldElem}
 

Given a non-simple number field over , this functions returns the list .

-

source

+

source

Elements can also be created by specifying the coordinates with respect to the basis of the number field:

    (L::NumberField)(c::Vector{NumFieldElem}) -> NumFieldElem
 
@@ -1104,80 +1104,80 @@

Creation

quadratic_defect(a::Union{NumFieldElem,Rational,fmpq}, p) -> Union{Inf, PosInf}
 

Returns the valuation of the quadratic defect of the element at , which can either be prime object or an infinite place of the parent of .

-

source

+

source

# hilbert_symbolMethod.

hilbert_symbol(a::NumFieldElem, b::NumFieldElem, p::NfOrdIdl) -> Int
 

Returns the local Hilbert symbol .

-

source

+

source

# representation_matrixMethod.

representation_matrix(a::NumFieldElem) -> MatElem
 

Returns the representation matrix of , that is, the matrix representing multiplication with with respect to the canonical basis of the parent of .

-

source

+

source

# basis_matrixMethod.

basis_matrix(v::Vector{NumFieldElem}) -> Mat
 

Given a vector of elements of a number field of degree , this function returns an matrix with entries in the base field of , where row contains the coefficients of with respect of the canonical basis of .

-

source

+

source

# coefficientsMethod.

coefficients(a::SimpleNumFieldElem, i::Int) -> Vector{FieldElem}
 

Given a number field element a of a simple number field extension L/K, this function returns the coefficients of a, when expanded in the canonical power basis of L.

-

source

+

source

# coordinatesMethod.

coordinates(x::NumFieldElem{T}) -> Vector{T}
 

Given an element in a number field , this function returns the coordinates of with respect to the basis of (the output of the 'basis' function).

-

source

+

source

# absolute_coordinatesMethod.

absolute_coordinates(x::NumFieldElem{T}) -> Vector{T}
 

Given an element in a number field , this function returns the coordinates of with respect to the basis of over the rationals (the output of the 'absolute_basis' function).

-

source

+

source

# coeffMethod.

coeff(a::SimpleNumFieldElem, i::Int) -> FieldElem
 

Given a number field element a of a simple number field extension L/K, this function returns the i-th coefficient of a, when expanded in the canonical power basis of L. The result is an element of K.

-

source

+

source

# valuationMethod.

valuation(a::NumFieldElem, p::NfOrdIdl) -> fmpz
 

Computes the -adic valuation of , that is, the largest such that is contained in .

-

source

+

source

# torsion_unit_orderMethod.

torsion_unit_order(x::nf_elem, n::Int)
 

Given a torsion unit together with a multiple of its order, compute the order of , that is, the smallest such that .

It is not checked whether is a torsion unit.

-

source

+

source

# trMethod.

tr(a::NumFieldElem) -> NumFieldElem
 

Returns the trace of an element of a number field extension . This will be an element of .

-

source

+

source

# absolute_trMethod.

absolute_tr(a::NumFieldElem) -> fmpq
 

Given a number field element , returns the absolute trace of .

-

source

+

source

# algebraic_splitMethod.

algebraic_split(a::nf_elem) -> nf_elem, nf_elem
 

Writes the input as a quotient of two "small" algebraic integers.

-

source

+

source

Conjugates

@@ -1187,60 +1187,60 @@

Conjugates

Compute the conjugates of as elements of type acb. Recall that we order the complex conjugates such that for .

Let p be the precision of C, then every entry of the vector returned satisfies radius(real(y)) < 2^-p and radius(imag(y)) < 2^-p respectively.

-

source

+

source

# conjugatesMethod.

conjugates(x::nf_elem, abs_tol::Int) -> Vector{acb}
 

Compute the conjugates of as elements of type acb. Recall that we order the complex conjugates such that for .

Every entry of the vector returned satisfies radius(real(y)) < 2^-abs_tol and radius(imag(y)) < 2^-abs_tol respectively.

-

source

+

source

# conjugates_logMethod.

conjugates_arb_log(x::nf_elem, abs_tol::Int) -> Vector{arb}
 

Returns the elements as elements of type arb with radius less then 2^-abs_tol.

-

source

+

source

# conjugates_realMethod.

conjugates_arb_real(x::nf_elem, abs_tol::Int) -> Vector{arb}
 

Compute the real conjugates of as elements of type arb.

Every entry of the array returned satisfies radius(y) < 2^-abs_tol.

-

source

+

source

# conjugates_complexMethod.

conjugates_complex(x::nf_elem, abs_tol::Int) -> Vector{acb}
 

Compute the complex conjugates of as elements of type acb. Recall that we order the complex conjugates such that for .

Every entry of the array returned satisfies radius(real(y)) < 2^-abs_tol and radius(imag(y)) < 2^-abs_tol.

-

source

+

source

# evaluateMethod.

evaluate(a::nf_elem, P::InfPlc, p::Int = 20)
 

The evaluation of at the place , i.e. a real or complex value. specifies the precision to be returned.

-

source

+

source

# conjugates_arb_log_normaliseMethod.

conjugates_arb_log_normalise(x::nf_elem, p::Int = 10)
 conjugates_arb_log_normalise(x::FacElem{nf_elem, AnticNumberField}, p::Int = 10)
 

The "normalised" logarithms, i.e. the array , so the (weighted) sum adds up to zero.

-

source

+

source

# minkowski_mapMethod.

minkowski_map(a::nf_elem, abs_tol::Int) -> Vector{arb}
 

Returns the image of under the Minkowski embedding. Every entry of the array returned is of type arb with radius less then 2^(-abs_tol).

-

source

+

source

# isnegativeMethod.

isnegative(a::nf_elem, P::InfPlc)          -> Bool
 isnegative(a::FacElem{nf_elem}, P::InfPlc) -> Bool
 

Returns whether the element is negative at the embedding corresponding to . The place must be real.

-

source

+

source

Predicates

@@ -1249,33 +1249,33 @@

Predicates

isintegral(a::NumFieldElem) -> Bool
 

Returns whether is integral, that is, whether the minimal polynomial of has integral coefficients.

-

source

+

source

# istorsion_unitMethod.

istorsion_unit(x::nf_elem, checkisunit::Bool = false) -> Bool
 

Returns whether is a torsion unit, that is, whether there exists such that .

If checkisunit is true, it is first checked whether is a unit of the maximal order of the number field is lying in.

-

source

+

source

# islocal_normMethod.

islocal_norm(L::NumField, a::NumFieldElem, P)
 

Given a number field , an element and a prime ideal of , returns whether is a local norm at .

The number field must be a simple extension of degree 2.

-

source

+

source

# isnorm_divisibleMethod.

isnorm_divisible(a::nf_elem, n::fmpz) -> Bool
 

Checks if the norm of is divisible by , assuming that the norm of is an integer.

-

source

+

source

# isnormMethod.

isnorm(K::AnticNumberField, a::fmpz; extra::Vector{fmpz}) -> Bool, nf_elem
 

For a fmpz , try to find s.th. holds. If successful, return true and , otherwise false and some element. In \testtt{extra} one can pass in additional prime numbers that are allowed to occur in the solution. This will then be supplemented. The element will be returned in factored form.

-

source

+

source

Invariants

@@ -1284,43 +1284,43 @@

Invariants

norm(a::NumFieldElem) -> NumFieldElem
 

Returns the norm of an element of a number field extension . This will be an element of .

-

source

+

source

# absolute_normMethod.

absolute_norm(a::NumFieldElem) -> fmpq
 

Given a number field element , returns the absolute norm of .

-

source

+

source

# minpolyMethod.

minpoly(a::NumFieldElem) -> PolyElem
 

Given a number field element of a number field , this function returns the minimal polynomial of over the base field of .

-

source

+

source

# absolute_minpolyMethod.

absolute_minpoly(a::NumFieldElem) -> PolyElem
 

Given a number field element of a number field , this function returns the minimal polynomial of over the rationals .

-

source

+

source

# charpolyMethod.

charpoly(a::NumFieldElem) -> PolyElem
 

Given a number field element of a number field , this function returns the characteristic polynomial of over the base field of .

-

source

+

source

# absolute_charpolyMethod.

absolute_charpoly(a::NumFieldElem) -> PolyElem
 

Given a number field element of a number field , this function returns the characteristic polynomial of over the rationals .

-

source

+

source

# normMethod.

norm(a::NumFieldElem, k::NumField) -> NumFieldElem
 

Returns the norm of an element of a number field with respect to a subfield of . This will be an element of .

-

source

+

source

diff --git a/dev/number_fields/fields/index.html b/dev/number_fields/fields/index.html index de7380b302..d60d3e034e 100644 --- a/dev/number_fields/fields/index.html +++ b/dev/number_fields/fields/index.html @@ -1171,7 +1171,7 @@

Creation of number fields

julia> L, b = NumberField(t^3 - 3, "b"); -

source

+

source

# NumberFieldMethod.

NumberField(f::Vector{PolyElem{<:NumFieldElem}}, s::String="_\$", check = true)
@@ -1184,7 +1184,7 @@ 

Creation of number fields

julia> K, a = NumberField([x^2 - 2, x^2 - 3], "a") (Non-simple number field with defining polynomials fmpq_mpoly[x1^2 - 2, x2^2 - 3], NfAbsNSElem[a1, a2])
-

source

+

source

Tip

Many of the constructors have arguments of type Symbol or AbstractString. If used, they define the appearance in printing, and printing only. The named parameter check can be true or false, the default being true. This parameter controls whether the polynomials defining the number field are tested for irreducibility or not. Given that this can be potentially very time consuming if the degree if large, one can disable this test. Note however, that the behaviour of Hecke is undefined if a reducible polynomial is used to define a field.

@@ -1200,7 +1200,7 @@

Creation of number fields

julia> cyclotomic_field(10)
 (Cyclotomic field of order 10, z_10)
 
-

source

+

source

# quadratic_fieldMethod.

quadratic_field(d::IntegerUnion) -> AnticNumberField, nf_elem
@@ -1210,7 +1210,7 @@ 

Creation of number fields

julia> quadratic_field(5)
 (Real quadratic field defined by x^2 - 5, sqrt(5))
 
-

source

+

source

# wildanger_fieldMethod.

wildanger_field(n::Int, B::fmpz) -> AnticNumberField, nf_elem
@@ -1220,7 +1220,7 @@ 

Creation of number fields

julia> wildanger_field(3, ZZ(10), "a")
 (Number field over Rational Field with defining polynomial x^3 - 10*x^2 + 10*x - 10, a)
 
-

source

+

source

# radical_extensionMethod.

radical_extension(n::Int, a::NumFieldElem, s = "_$";
@@ -1231,7 +1231,7 @@ 

Creation of number fields

julia> radical_extension(5, QQ(2), "a")
 (Number field over Rational Field with defining polynomial x^5 - 2, a)
 
-

source

+

source

# rationals_as_number_fieldMethod.

rationals_as_number_field() -> AnticNumberField, nf_elem
@@ -1241,7 +1241,7 @@ 

Creation of number fields

julia> rationals_as_number_field()
 (Number field over Rational Field with defining polynomial x - 1, 1)
 
-

source

+

source

Basic properties

@@ -1260,7 +1260,7 @@

Basic properties

1 a
-

source

+

source

# basisMethod.

basis(L::NonSimpleNumField) -> Vector{NumFieldElem}
@@ -1278,43 +1278,43 @@ 

Basic properties

a2 a1*a2
-

source

+

source

# absolute_basisMethod.

absolute_basis(K::NumField) -> Vector{NumFieldElem}
 

Returns an array of elements that form a basis of (as a vector space) over the rationals.

-

source

+

source

# defining_polynomialMethod.

defining_polynomial(L::SimpleNumField) -> PolyElem
 

Given a simple number field , constructed as , this function returns .

-

source

+

source

# defining_polynomialsMethod.

defining_polynomials(L::NonSimpleNumField) -> Vector{PolyElem}
 

Given a non-simple number field , constructed as , return the vector containing the 's.

-

source

+

source

# absolute_primitive_elementMethod.

absolute_primitive_element(K::NumField) -> NumFieldElem
 

Given a number field , this function returns an element such that .

-

source

+

source

# componentMethod.

component(L::NonSimpleNumField, i::Int) -> SimpleNumField, Map
 

Given a non-simple extension , this function returns the simple number field corresponding to the -th component of together with its embedding.

-

source

+

source

# base_fieldMethod.

base_field(L::NumField) -> NumField
 

Given a number field this function returns the base field . For absolute extensions this returns .

-

source

+

source

Invariants

@@ -1331,13 +1331,13 @@

Invariants

julia> degree(K) 2
-

source

+

source

# absolute_degreeMethod.

absolute_degree(L::NumField) -> Int
 

Given a number field , this function returns the degree of over .

-

source

+

source

# signatureMethod.

signature(K::NumField)
@@ -1351,43 +1351,43 @@ 

Invariants

julia> signature(K) (2, 0)
-

source

+

source

# unit_group_rankMethod.

unit_group_rank(K::NumField) -> Int
 

Return the rank of the unit group of any order of .

-

source

+

source

# class_numberMethod.

class_number(K::AnticNumberField) -> fmpz
 

Returns the class number of .

-

source

+

source

# relative_class_numberMethod.

relative_class_number(K::AnticNumberField) -> fmpz
 

Returns the relative class number of . The field must be a CM-field.

-

source

+

source

# regulatorMethod.

regulator(K::AnticNumberField)
 

Computes the regulator of , i.e. the discriminant of the unit lattice for the maximal order of .

-

source

+

source

# discriminantMethod.

discriminant(L::SimpleNumField) -> NumFieldElem
 

The discriminant of the defining polynomial of , not the discriminant of the maximal order of .

-

source

+

source

# absolute_discriminantMethod.

absolute_discriminant(L::SimpleNumField, QQ) -> fmpq
 

The absolute discriminant of the defining polynomial of , not the discriminant of the maximal order of . This is the norm of the discriminant times the -th power of the discriminant of the base field, where is the degree of .

-

source

+

source

Predicates

@@ -1396,73 +1396,73 @@

Predicates

issimple(L::NumField) -> Bool
 

Given a number field this function returns whether is simple, that is, whether is defined by a univariate polynomial.

-

source

+

source

# isabsoluteMethod.

isabsolute(L::NumField) -> Bool
 

Returns whether is an absolute extension, that is, whether the base field of is .

-

source

+

source

# istotally_realMethod.

istotally_real(K::NumberField) -> Bool
 

Returns true if and only if is totally real, that is, if all roots of the defining polynomial are real.

-

source

+

source

# istotally_complexMethod.

istotally_complex(K::AnticNumberField) -> Bool
 

Returns true if and only if is totally complex, that is, if all roots of the defining polynomial are not real.

-

source

+

source

# iscm_fieldMethod.

iscm_field(K::AnticNumberField) -> Bool, NfToNfMor
 

Given a number field , this function returns true and the complex conjugation if the field is CM, false and the identity otherwise.

-

source

+

source

# iskummer_extensionMethod.

iskummer_extension(L::SimpleNumField) -> Bool
 

Tests if is a Kummer extension, that is, if the defining polynomial is of the form for some and if contains the -th roots of unity.

-

source

+

source

# isradical_extensionMethod.

isradical_extension(L::SimpleNumField) -> Bool
 

Tests if is pure, that is, if the defining polynomial is of the form for some .

-

source

+

source

# islinearly_disjointMethod.

islinearly_disjoint(K::SimpleNumField, L::SimpleNumField) -> Bool
 

Given two number fields and with the same base field , this function returns whether and are linear disjoint over .

-

source

+

source

# isweakly_ramifiedMethod.

isweakly_ramified(K::AnticNumberField, P::NfOrdIdl) -> Bool
 

Given a prime ideal of a number field , return whether is weakly ramified, that is, whether the second ramification group is trivial.

-

source

+

source

# istamely_ramifiedMethod.

istamely_ramified(K::AnticNumberField) -> Bool
 

Returns whether the number field is tamely ramified.

-

source

+

source

# istamely_ramifiedMethod.

istamely_ramified(O::NfOrd, p::Union{Int, fmpz}) -> Bool
 

Returns whether the integer is tamely ramified in . It is assumed that is prime.

-

source

+

source

# isabelianMethod.

isabelian(L::NumField) -> Bool
 

Check if the number field is abelian over . The function is probabilistic and assumes GRH.

-

source

+

source

Subfields

@@ -1471,50 +1471,50 @@

Subfields

issubfield(K::SimpleNumField, L::SimpleNumField) -> Bool, Map
 

Returns true and an injection from to if is a subfield of . Otherwise the function returns false and a morphism mapping everything to .

-

source

+

source

# subfieldsMethod.

subfields(L::SimpleNumField) -> Vector{Tuple{NumField, Map}}
 

Given a simple extension , returns all subfields of containing as tuples consisting of a simple extension and an embedding .

-

source

+

source

# principal_subfieldsMethod.

principal_subfields(L::SimpleNumField) -> Vector{Tuple{NumField, Map}}
 

Return the principal subfields of as pairs consisting of a subfield and an embedding .

-

source

+

source

# compositumMethod.

compositum(K::AnticNumberField, L::AnticNumberField) -> AnticNumberField, Map, Map
 

Assuming is normal (which is not checked), compute the compositum of the 2 fields together with the embedding of and .

-

source

+

source

# embeddingMethod.

embedding(k::NumField, K::NumField) -> Map
 

Assuming is known to be a subfield of , return the embedding map.

-

source

+

source

# normal_closureMethod.

normal_closure(K::AnticNumberField) -> AnticNumberField, NfToNfMor
 

The normal closure of together with the embedding map.

-

source

+

source

# relative_simple_extensionMethod.

relative_simple_extension(K::NumField, k::NumField) -> NfRel
 

Given two fields , it returns as a simple relative extension of and an isomorphism .

-

source

+

source

# issubfield_normalMethod.

  issubfield_normal(K::AnticNumberField, L::AnticNumberField) -> Bool, NfToNfMor
 

Returns true and an injection from to if is a subfield of . Otherwise the function returns "false" and a morphism mapping everything to 0.

This function assumes that is normal.

-

source

+

source

Conversion

@@ -1525,25 +1525,25 @@

Conversion

Tries to find an isomorphic field given by a "simpler" defining polynomial. By default, "simple" is defined to be of smaller index, testing is done only using a LLL-basis of the maximal order.

If canonical is set to true, then a canonical defining polynomial is found, where canonical is using the definition of PARI's polredabs, which is described in http://beta.lmfdb.org/knowledge/show/nf.polredabs.

Both versions require a LLL reduced basis for the maximal order.

-

source

+

source

# absolute_simple_fieldMethod.

absolute_simple_field(K::NumField) -> NumField, Map
 

Given a number field , this function returns an absolute simple number field together with a -linear isomorphism .

-

source

+

source

# simple_extensionMethod.

simple_extension(L::NonSimpleNumField) -> SimpleNumField, Map
 

Given a non-simple extension , this function computes a simple extension and a -linear isomorphism .

-

source

+

source

# simplified_simple_extensionMethod.

simplified_simple_extension(L::NonSimpleNumField) -> SimpleNumField, Map
 

Given a non-simple extension , this function returns an isomorphic simple number field with a "small" defining equation together with the isomorphism.

-

source

+

source

Morphisms

@@ -1552,13 +1552,13 @@

Morphisms

isisomorphic(K::SimpleNumField, L::SimpleNumField) -> Bool, Map
 

Returns true and an isomorphism from to if and are isomorphic. Otherwise the function returns false and a morphism mapping everything to .

-

source

+

source

# isinvolutionMethod.

isinvolution(f::NfToNfMor) -> Bool
 

Returns true if is an involution, i.e. if is the identity, false otherwise.

-

source

+

source

# fixed_fieldMethod.

fixed_field(K::SimpleNumField,
@@ -1567,25 +1567,25 @@ 

Morphisms

Given a number field and an automorphism of , this function returns the fixed field of as a pair consisting of a number field and an embedding of into .

By default, the function tries to find a small defining polynomial of . This can be disabled by setting simplify = false.

-

source

+

source

# automorphismsMethod.

automorphisms(L::NumField) -> Vector{NumFieldMor}
 

Given a number field , return a list of all -automorphisms of .

-

source

+

source

# automorphism_groupMethod.

automorphism_group(K::NumField) -> GenGrp, GrpGenToNfMorSet
 

Given a number field , this function returns a group and a map from to the automorphisms of .

-

source

+

source

# complex_conjugationMethod.

complex_conjugation(K::AnticNumberField)
 

Given a totally complex normal number field, this function returns an automorphism which is the restriction of complex conjugation at one embedding.

-

source

+

source

Galois theory

@@ -1594,26 +1594,26 @@

Galois theory

normal_basis(L::NumField) -> NumFieldElem
 

Given a normal number field , this function returns an element of , such that the orbit of under the Galois group of is an -basis of .

-

source

+

source

# decomposition_groupMethod.

decomposition_group(K::AnticNumberField, P::NfOrdIdl, m::Map)
                                               -> Grp, GrpToGrp
 

Given a prime ideal of a number field and a map m return from automorphism_group(K), return the decompositon group of as a subgroup of the domain of m.

-

source

+

source

# ramification_groupMethod.

ramification_group(K::AnticNumberField, P::NfOrdIdl, m::Map) -> Grp, GrpToGrp
 

Given a prime ideal of a number field and a map m return from automorphism_group(K), return the ramification group of as a subgroup of the domain of m.

-

source

+

source

# inertia_subgroupMethod.

inertia_subgroup(K::AnticNumberField, P::NfOrdIdl, m::Map) -> Grp, GrpToGrp
 

Given a prime ideal of a number field and a map m return from automorphism_group(K), return the intertia subgroup of as a subgroup of the domain of m.

-

source

+

source

Infinite places

@@ -1636,37 +1636,37 @@

Infinite places

Number field over Rational Field with defining polynomial x^2 - 2 corresponding to the root [1.414213562373095049 +/- 3.90e-19]
-

source

+

source

# real_placesMethod.

real_places(K::AnticNumberField) -> Vector{InfPlc}
 

This function returns all infinite real places of .

-

source

+

source

# complex_placesMethod.

complex_places(K::AnticNumberField) -> Vector{InfPlc}
 

This function returns all infinite complex places of .

-

source

+

source

# isrealMethod.

isreal(P::Plc)
 

Return whether the embedding into defined by is real or not.

-

source

+

source

# iscomplexMethod.

iscomplex(P::Plc) -> Bool
 

Return whether the embedding into defined by is complex or not.

-

source

+

source

# infinite_places_uniformizersMethod.

infinite_places_uniformizers(K::AnticNumberField)
 

Returns a dictionary having as keys the real places of and the values are uniformizers for the corresponding real place. A uniformizer of a real place is an element of the field which is negative at and positive at all the other real places.

-

source

+

source

Miscellaneous

@@ -1675,25 +1675,25 @@

Miscellaneous

norm_equation(K::AnticNumerField, a) -> nf_elem
 

For an integer or rational, try to find s.th. . Raises an error if unsuccessful.

-

source

+

source

# lorenz_moduleMethod.

lorenz_module(k::AnticNumberField, n::Int) -> NfOrdIdl
 

Finds an ideal s.th. for all positive units we have that is an -th power. Uses Lorenz, number theory, 9.3.1. If containing is set, it has to be an integral ideal. The resulting ideal will be a multiple of this.

-

source

+

source

# kummer_failureMethod.

kummer_failure(x::nf_elem, M::Int, N::Int) -> Int
 

Computes the quotient of and , where is the field containing and divides .

-

source

+

source

# isdefining_polynomial_niceMethod.

isdefining_polynomial_nice(K::AnticNumberField)
 

Tests if the defining polynomial of is integral and monic.

-

source

+

source

diff --git a/dev/orders/elements/index.html b/dev/orders/elements/index.html index 2f96afff63..8909a01d9e 100644 --- a/dev/orders/elements/index.html +++ b/dev/orders/elements/index.html @@ -1064,11 +1064,11 @@

Creation

  (O::NumFieldOrd)(a::IntegerUnion) -> NumFieldOrdElem
 

Given an element of type fmpz or Integer, this function coerces the element into .

-

source

+

source

  (O::NfAbsOrd)(arr::Vector{fmpz})
 

Returns the element of with coefficient vector arr.

-

source

+

source

Basic properties

@@ -1077,39 +1077,39 @@

Basic properties

parent(a::NumFieldOrdElem) -> NumFieldOrd
 

Returns the order of which is an element.

-

source

+

source

# elem_in_nfMethod.

elem_in_nf(a::NumFieldOrdElem) -> NumFieldElem
 

Returns the element considered as an element of the ambient number field.

-

source

+

source

# coordinatesMethod.

coordinates(a::NfAbsOrdElem) -> Vector{fmpz}
 

Returns the coefficient vector of with respect to the basis of the order.

-

source

+

source

# discriminantMethod.

discriminant(B::Vector{NumFieldOrdElem})
 

Returns the discriminant of the family of algebraic numbers, i.e. .

-

source

+

source

discriminant(E::EllCrv{T}) -> T
 

Computes the discriminant of .

-

source

+

source

discriminant(O::AlgssRelOrd)
 

Returns the discriminant of .

-

source

+

source

# ==Method.

==(x::NumFieldOrdElem, y::NumFieldOrdElem) -> Bool
 

Returns whether and are equal.

-

source

+

source

Arithmetic

@@ -1132,108 +1132,108 @@

Miscellaneous

representation_matrix(a::NfAbsOrdElem) -> fmpz_mat
 

Returns the representation matrix of the element .

-

source

+

source

# representation_matrixMethod.

representation_matrix(a::NfAbsOrdElem, K::AnticNumberField) -> FakeFmpqMat
 

Returns the representation matrix of the element considered as an element of the ambient number field . It is assumed that is the ambient number field of the order of .

-

source

+

source

# trMethod.

tr(a::NumFieldOrdElem)
 

Returns the trace of as an element of the base ring.

-

source

+

source

# normMethod.

norm(a::NumFieldOrdElem)
 

Returns the norm of as an element in the base ring.

-

source

+

source

# absolute_normMethod.

absolute_norm(a::NumFieldOrdElem) -> fmpz
 

Return the absolute norm as an integer.

-

source

+

source

# absolute_trMethod.

absolute_tr(a::NumFieldOrdElem) -> fmpz
 

Return the absolute trace as an integer.

-

source

+

source

# randMethod.

rand(O::NfOrd, n::IntegerUnion) -> NfAbsOrdElem
 

Computes a coefficient vector with entries uniformly distributed in and returns the corresponding element of the order .

-

source

+

source

# minkowski_mapMethod.

minkowski_map(a::NumFieldOrdElem, abs_tol::Int) -> Vector{arb}
 

Returns the image of under the Minkowski embedding. Every entry of the array returned is of type arb with radius less then 2^-abs_tol.

-

source

+

source

# conjugates_arbMethod.

conjugates_arb(x::NumFieldOrdElem, abs_tol::Int) -> Vector{acb}
 

Compute the conjugates of as elements of type acb. Recall that we order the complex conjugates such that for .

Every entry of the array returned satisfies radius(real(y)) < 2^-abs_tol, radius(imag(y)) < 2^-abs_tol respectively.

-

source

+

source

# conjugates_arb_logMethod.

conjugates_arb_log(x::NumFieldOrdElem, abs_tol::Int) -> Vector{arb}
 

Returns the elements as elements of type arb radius less then 2^-abs_tol.

-

source

+

source

# t2Method.

t2(x::NumFieldOrdElem, abs_tol::Int = 32) -> arb
 

Return the -norm of . The radius of the result will be less than 2^-abs_tol.

-

source

+

source

# minpolyMethod.

minpoly(a::NfAbsOrdElem) -> fmpz_poly
 

The minimal polynomial of .

-

source

+

source

# charpolyMethod.

charpoly(a::NfAbsOrdElem) -> fmpz_poly
 charpoly(a::NfAbsOrdElem, FlintZZ) -> fmpz_poly
 

The characteristic polynomial of .

-

source

+

source

# factorMethod.

factor(a::NfOrdElem) -> Fac{NfOrdElem}
 

Computes a factorization of into irreducible elements. The return value is a factorization fac, which satisfies a = unit(fac) * prod(p^e for (p, e) in fac).

The function requires that is non-zero and that all prime ideals containing are principal, which is for example satisfied if class group of the order of is trivial.

-

source

+

source

# denominatorMethod.

denominator(a::NumFieldElem, O::NfOrd) -> fmpz
 

Returns the smallest positive integer such that is contained in .

-

source

+

source

# discriminantMethod.

discriminant(B::Vector{NumFieldOrdElem})
 

Returns the discriminant of the family of algebraic numbers, i.e. .

-

source

+

source

discriminant(E::EllCrv{T}) -> T
 

Computes the discriminant of .

-

source

+

source

discriminant(O::AlgssRelOrd)
 

Returns the discriminant of .

-

source

+

source

diff --git a/dev/orders/frac_ideals/index.html b/dev/orders/frac_ideals/index.html index 3b50f72126..c882e9e424 100644 --- a/dev/orders/frac_ideals/index.html +++ b/dev/orders/frac_ideals/index.html @@ -1050,53 +1050,53 @@

Creation

fractional_ideal(O::NfAbsOrd, A::fmpz_mat, b::fmpz, A_in_hnf::Bool = false) -> NfAbsOrdFracIdl
 

Creates the fractional ideal of with basis matrix . If A_in_hnf is set, then it is assumed that is already in lower left HNF.

-

source

+

source

# fractional_idealMethod.

fractional_ideal(O::NfAbsOrd, A::fmpz_mat, b::fmpz, A_in_hnf::Bool = false) -> NfAbsOrdFracIdl
 

Creates the fractional ideal of with basis matrix . If A_in_hnf is set, then it is assumed that is already in lower left HNF.

-

source

+

source

# fractional_idealMethod.

fractional_ideal(O::NfAbsOrd, A::FakeFmpqMat, A_in_hnf::Bool = false) -> NfAbsOrdFracIdl
 

Creates the fractional ideal of with basis matrix . If A_in_hnf is set, then it is assumed that the numerator of is already in lower left HNF.

-

source

+

source

# fractional_idealMethod.

fractional_ideal(O::NfOrd, I::NfAbsOrdIdl) -> NfOrdFracIdl
 

The fractional ideal of generated by a -basis of .

-

source

+

source

fractional_ideal(O::NfAbsOrd, I::NfAbsOrdIdl) -> NfAbsOrdFracIdl
 

Turns the ideal into a fractional ideal of .

-

source

+

source

# fractional_idealMethod.

fractional_ideal(O::NfAbsOrd, I::NfAbsOrdIdl, b::fmpz) -> NfAbsOrdFracIdl
 

Creates the fractional ideal of .

-

source

+

source

# fractional_idealMethod.

fractional_ideal(O::NfAbsOrd, a::nf_elem) -> NfAbsOrdFracIdl
 

Creates the principal fractional ideal of .

-

source

+

source

# fractional_idealMethod.

fractional_ideal(O::NfAbsOrd, a::NfAbsOrdElem) -> NfAbsOrdFracIdl
 

Creates the principal fractional ideal of .

-

source

+

source

# invMethod.

inv(A::NfAbsOrdIdl) -> NfOrdFracIdl
 

Computes the inverse of , that is, the fractional ideal such that .

-

source

+

source

Arithmetic

@@ -1106,26 +1106,26 @@

Arithmetic

inv(A::NfAbsOrdFracIdl) -> NfAbsOrdFracIdl
 

Returns the fractional ideal such that .

-

source

+

source

# integral_splitMethod.

integral_split(A::NfAbsOrdFracIdl) -> NfAbsOrdIdl, NfAbsOrdIdl
 

Computes the unique coprime integral ideals and s.th.

-

source

+

source

# numeratorMethod.

numerator(a::NfRelOrdFracIdl) -> NfRelOrdIdl
 

Returns the ideal where is the denominator of .

-

source

+

source

# denominatorMethod.

denominator(a::NfRelOrdFracIdl) -> fmpz
 

Returns the smallest positive integer such that is contained in the order of .

-

source

+

source

Miscaellenous

@@ -1134,56 +1134,56 @@

Miscaellenous

order(a::NfAbsOrdFracIdl) -> NfAbsOrd
 

The order that was used to define the ideal .

-

source

+

source

# basis_matrixMethod.

basis_matrix(I::NfAbsOrdFracIdl) -> FakeFmpqMat
 

Returns the basis matrix of with respect to the basis of the order.

-

source

+

source

# basis_mat_invMethod.

basis_mat_inv(O::NfAbsOrd) -> FakeFmpqMat
 

Returns the inverse of the basis matrix of .

-

source

+

source

basis_mat_inv(A::NfAbsOrdIdl) -> fmpz_mat
 

Returns the inverse basis matrix of .

-

source

+

source

basis_mat_inv(I::NfAbsOrdFracIdl) -> FakeFmpqMat
 

Returns the inverse of the basis matrix of .

-

source

+

source

# basisMethod.

basis(I::NfAbsOrdFracIdl) -> Vector{nf_elem}
 

Returns the -basis of .

-

source

+

source

# normMethod.

norm(I::NfAbsOrdFracIdl) -> fmpq
 

Returns the norm of .

-

source

+

source

norm(a::NfRelOrdIdl) -> NfOrdIdl
 

Returns the norm of .

-

source

+

source

norm(a::NfRelOrdFracIdl{T, S}) -> S
 

Returns the norm of .

-

source

+

source

norm(a::AlgAssAbsOrdIdl, O::AlgAssAbsOrd; copy::Bool = true) -> fmpq
 

Returns the norm of considered as an (possibly fractional) ideal of .

-

source

+

source

norm(a::AlgAssRelOrdIdl{S, T, U}, O::AlgAssRelOrd{S, T, U}; copy::Bool = true)
   where { S, T, U } -> T
 

Returns the norm of considered as an (possibly fractional) ideal of .

-

source

+

source

diff --git a/dev/orders/ideals/index.html b/dev/orders/ideals/index.html index 62b0813139..e848d13e82 100644 --- a/dev/orders/ideals/index.html +++ b/dev/orders/ideals/index.html @@ -1082,72 +1082,72 @@

Creation

ideal(O::NfOrd, a::Integer) -> NfAbsOrdIdl

Returns the ideal of which is generated by .

-

source

+

source

# idealMethod.

ideal(O::NfOrd, x::fmpz_mat, check::Bool = false, x_in_hnf::Bool = false) -> NfAbsOrdIdl
 

Creates the ideal of with basis matrix . If check is set, then it is checked whether defines an ideal (expensive). If x_in_hnf is set, then it is assumed that is already in lower left HNF.

-

source

+

source

# idealMethod.

ideal(O::NfOrd, x::NfOrdElem) -> NfAbsOrdIdl
 

Creates the principal ideal of .

-

source

+

source

# idealMethod.

ideal(O::NfOrd, x::fmpz, y::NfOrdElem) -> NfAbsOrdIdl
 ideal(O::NfOrd, x::Integer, y::NfOrdElem) -> NfAbsOrdIdl
 

Creates the ideal of .

-

source

+

source

# idealMethod.

ideal(O::NfOrd, x::fmpz, y::NfOrdElem) -> NfAbsOrdIdl
 ideal(O::NfOrd, x::Integer, y::NfOrdElem) -> NfAbsOrdIdl
 

Creates the ideal of .

-

source

+

source

# idealMethod.

ideal(O::NfOrd, a::fmpz) -> NfAbsOrdIdl
 ideal(O::NfOrd, a::Integer) -> NfAbsOrdIdl
 

Returns the ideal of which is generated by .

-

source

+

source

# idealMethod.

ideal(O::NfOrd, x::NfOrdElem) -> NfAbsOrdIdl
 

Creates the principal ideal of .

-

source

+

source

# *Method.

*(O::NfOrd, x::NfOrdElem) -> NfAbsOrdIdl
 *(x::NfAbsOrdElem, O::NfAbsOrd) -> NfAbsOrdIdl
 

Returns the principal ideal of .

-

source

+

source

# factorMethod.

factor(A::NfOrdIdl) -> Dict{NfOrdIdl, Int}
 

Computes the prime ideal factorization as a dictionary, the keys being the prime ideal divisors: If lp = factor_dict(A), then keys(lp) are the prime ideal divisors of and lp[P] is the -adic valuation of for all in keys(lp).

-

source

+

source

# factorMethod.

factor(a::nf_elem, I::NfOrdIdlSet) -> Dict{NfOrdIdl, fmpz}
 

Factors the principal ideal generated by .

-

source

+

source

# coprime_baseMethod.

coprime_base(A::Vector{NfOrdIdl}) -> Vector{NfOrdIdl}
 coprime_base(A::Vector{NfOrdElem}) -> Vector{NfOrdIdl}
 

A coprime base for the (principal) ideals in , i.e. the returned array generated multiplicatively the same ideals as the input and are pairwise coprime.

-

source

+

source

Arithmetic

@@ -1163,13 +1163,13 @@

Arithmetic

intersect(x::NfOrdIdl, y::NfOrdIdl) -> NfOrdIdl
 

Returns .

-

source

+

source

# colonMethod.

colon(a::NfAbsOrdIdl, b::NfAbsOrdIdl) -> NfOrdFracIdl
 

The ideal where is the number field.

-

source

+

source

# inMethod.

in(x::NumFieldOrdElem, y::NumFieldOrdIdl)
@@ -1177,34 +1177,34 @@ 

Arithmetic

in(x::fmpz, y::NumFieldOrdIdl)

Returns whether is contained in .

-

source

+

source

# ispowerMethod.

ispower(A::NfAbsOrdIdl, n::Int) -> Bool, NfAbsOrdIdl
 ispower(A::NfOrdFracIdl, n::Int) -> Bool, NfOrdFracIdl
 

Computes, if possible, an ideal s.th. holds. In this case, true and are returned.

-

source

+

source

# ispowerMethod.

ispower(I::NfAbsOrdIdl) -> Int, NfAbsOrdIdl
 ispower(a::NfOrdFracIdl) -> Int, NfOrdFracIdl
 

Writes with maximal. Note: .

-

source

+

source

# isinvertibleMethod.

isinvertible(A::NfAbsOrdIdl) -> Bool, NfOrdFracIdl
 

Returns true and an inverse of or false and an ideal such that , if is not invertible.

-

source

+

source

# isoneMethod.

isone(A::NfAbsOrdIdl) -> Bool
 isunit(A::NfAbsOrdIdl) -> Bool
 

Tests if is the trivial ideal generated by .

-

source

+

source

Class Group

@@ -1214,25 +1214,25 @@

Class Group

class_group(O::NfOrd; bound = -1, method = 3, redo = false, large = 1000) -> GrpAbFinGen, Map
 

Returns a group and a map from to the set of ideals of . The inverse of the map is the projection onto the group of ideals modulo the group of principal ideals. redo allows to trigger a re-computation, thus avoiding the cache. bound, when given, is the bound for the factor base.

-

source

+

source

# narrow_class_groupMethod.

narrow_class_group(O::NfOrd) -> GrpAbFinGen, Map
 

Computes the narrow (or strict) class group of , ie. the group of invertable ideals modulo principal ideals generated by elements that are positive at all real places.

-

source

+

source

# picard_groupMethod.

picard_group(O::NfOrd) -> GrpAbFinGen, MapClassGrp
 

Returns the Picard group of and a map from the group in the set of (invertible) ideals of .

-

source

+

source

# ring_class_groupMethod.

ring_class_group(O::NfAbsOrd)
 

The ring class group (Picard group) of .

-

source

+

source

julia> k, a = wildanger_field(3, 13);
 
 julia> zk = maximal_order(k);
@@ -1249,10 +1249,10 @@ 

Class Group

10-element Vector{GrpAbFinGenElem}: Element of GrpAb: Z/9 -with components [7] +with components [1] Element of GrpAb: Z/9 -with components [1] +with components [7] Element of GrpAb: Z/9 with components [1] @@ -1279,7 +1279,7 @@

Class Group

with components [5] julia> mc(c[1]) -<2, 3//2*_$^2 + 2*_$ + 7//2> +<2, 3//2*_$^2 + 2*_$ + 3//2> Norm: 2 Minimum: 2 two normal wrt: 2 @@ -1288,7 +1288,7 @@

Class Group

9 julia> mc(c[1])^Int(order(c[1])) -<512, 45616403435015994675//2*_$^2 - 22636933952473144831*_$ + 49386866379765370909//2> +<512, 42356734006825450665//2*_$^2 - 21019337737156744045*_$ + 45857766179621516487//2> Norm: 512 two normal wrt: 2 @@ -1304,50 +1304,50 @@

Class Group

isprincipal(A::NfOrdFracIdl) -> Bool, NfOrdElem

Tests if is principal and returns if or otherwise.

-

source

+

source

# isprincipal_fac_elemMethod.

isprincipal_fac_elem(A::NfOrdIdl) -> Bool, FacElem{nf_elem, NumberField}
 

Tests if is principal and returns if or otherwise. The generator will be in factored form.

-

source

+

source

# power_classMethod.

power_class(A::NfOrdIdl, e::fmpz) -> NfOrdIdl
 

Computes a (small) ideal in the same class as .

-

source

+

source

# power_product_classMethod.

power_product_class(A::Vector{NfOrdIdl}, e::Vector{fmpz}) -> NfOrdIdl
 

Computes a (small) ideal in the same class as .

-

source

+

source

# power_reduceMethod.

power_reduce(A::NfOrdIdl, e::fmpz) -> NfOrdIdl, FacElem{nf_elem}
 

Computes and in factored form, such that has small norm.

-

source

+

source

# class_group_ideal_relationMethod.

class_group_ideal_relation(I::NfOrdIdl, c::ClassGrpCtx) -> nf_elem, SRow{fmpz}
 

Finds a number field element such that factors over the factor base in .

-

source

+

source

# factor_base_bound_grhMethod.

factor_base_bound_grh(O::NfOrd) -> Int
 

Returns an integer , such that under GRH the ideal class group of is generated by the prime ideals of norm bounded by .

-

source

+

source

# factor_base_bound_bachMethod.

factor_base_bound_bach(O::NfOrd) -> Int
 

Use the theorem of Bach to find such that under GRH the ideal class group of is generated by the prime ideals of norm bounded by .

-

source

+

source

# prime_ideals_up_toFunction.

prime_ideals_up_to(O::NfOrd,
@@ -1356,7 +1356,7 @@ 

Class Group

Computes the prime ideals with norm up to .

If degree_limit is a nonzero integer , then prime ideals with will be discarded. If 'index_divisors' is set to false, only primes not dividing the index of the order will be computed.

-

source

+

source

prime_ideals_up_to(O::NfOrd,
                    B::Int;
                    complete::Bool = false,
@@ -1367,9 +1367,9 @@ 

Class Group

Computes the prime ideals with norm up to .

If degree_limit is a nonzero integer , then prime ideals with will be discarded.

The function must be a function on prime numbers not dividing bad such that for all prime ideals lying above .

-

source

+

source

julia> I = mc(c[1])
-<2, 3//2*_$^2 + 2*_$ + 7//2>
+<2, 3//2*_$^2 + 2*_$ + 3//2>
 Norm: 2
 Minimum: 2
 two normal wrt: 2
@@ -1378,16 +1378,16 @@ 

Class Group

(false, 1) julia> I = I^Int(order(c[1])) -<512, 45616403435015994675//2*_$^2 - 22636933952473144831*_$ + 49386866379765370909//2> +<512, 42356734006825450665//2*_$^2 - 21019337737156744045*_$ + 45857766179621516487//2> Norm: 512 two normal wrt: 2 julia> Hecke.isprincipal(I) -(true, 1//2*_$^2 - 5*_$ - 17//2) +(true, -1//2*_$^2 + 5*_$ + 17//2) julia> Hecke.isprincipal_fac_elem(I) (true, Factored element with data -Dict{nf_elem, fmpz}(1//2*_$^2 - 5*_$ - 17//2 => 1)) +Dict{nf_elem, fmpz}(-1//2*_$^2 + 5*_$ + 17//2 => 1))

The computation of -units is also tied to the class group:

# @@ -1395,62 +1395,62 @@

Class Group

torsion_units(O::NfOrd) -> Vector{NfOrdElem}
 

Given an order , compute the torsion units of .

-

source

+

source

# torsion_unit_groupMethod.

torsion_unit_group(O::NfOrd) -> GrpAb, Map
 

Given an order , returns the torsion units as an abelian group together with a map .

-

source

+

source

# torsion_units_generatorMethod.

torsion_units_generator(O::NfOrd) -> NfOrdElem
 

Given an order , compute a generator of the torsion units of .

-

source

+

source

# torsion_units_gen_orderMethod.

torsion_units_gen_order(O::NfOrd) -> NfOrdElem
 

Given an order , compute a generator of the torsion units of as well as its order.

-

source

+

source

# unit_groupMethod.

unit_group(O::NfOrd) -> GrpAbFinGen, Map
 

Returns a group and an isomorphism map . A set of fundamental units of can be obtained via [ f(U[1+i]) for i in 1:unit_group_rank(O) ]. f(U[1]) will give a generator for the torsion subgroup.

-

source

+

source

# unit_group_fac_elemMethod.

unit_group_fac_elem(O::NfOrd) -> GrpAbFinGen, Map
 

Returns a group and an isomorphism map . A set of fundamental units of can be obtained via [ f(U[1+i]) for i in 1:unit_group_rank(O) ]. f(U[1]) will give a generator for the torsion subgroup. All elements will be returned in factored form.

-

source

+

source

# sunit_groupMethod.

sunit_group(I::Vector{NfOrdIdl}) -> GrpAb, Map
 

For an array of (coprime prime) ideals, find the -unit group defined by , ie. the group of non-zero field elements which are only divisible by ideals in .

-

source

+

source

# sunit_group_fac_elemMethod.

sunit_group_fac_elem(I::Vector{NfOrdIdl}) -> GrpAb, Map
 

For an array of (coprime prime) ideals, find the -unit group defined by , ie. the group of non-zero field elements which are only divisible by ideals in . The map will return elements in factored form.

-

source

+

source

# sunit_mod_units_group_fac_elemMethod.

sunit_mod_units_group_fac_elem(I::Vector{NfOrdIdl}) -> GrpAb, Map
 

For an array of (coprime prime) ideals, find the -unit group defined by , ie. the group of non-zero field elements which are only divisible by ideals in modulo the units of the field. The map will return elements in factored form.

-

source

+

source

julia> u, mu = unit_group(zk)
 (GrpAb: Z/2 x Z, UnitGroup map of Maximal order of Number field over Rational Field with defining polynomial x^3 - 13*x^2 + 13*x - 13
 with basis nf_elem[1, _$, 1//2*_$^2 + 1//2]
 )
 
 julia> mu(u[2])
--_$ + 12
+-_$^2 + _$ - 1
 
 julia> u, mu = unit_group_fac_elem(zk)
 (GrpAb: Z/2 x Z, UnitGroup map of Factored elements over Number field over Rational Field with defining polynomial x^3 - 13*x^2 + 13*x - 13
@@ -1458,17 +1458,17 @@ 

Class Group

julia> mu(u[2]) Factored element with data -Dict{nf_elem, fmpz}(_$ - 15 => 1, _$ + 2 => 1, -5*_$^2 + 54*_$ - 73 => -1, 3 => -1, -6*_$^2 + 57*_$ + 141 => 1, 7//2*_$^2 + 5//2 => -1) +Dict{nf_elem, fmpz}(_$^2 + 1 => 1, 14*_$^2 - 164*_$ + 12 => -1, _$ + 1 => 1, 3 => -1, _$ - 4 => 1, 11 => 1, 4*_$^2 - 43*_$ - 102 => 1, 2 => -1, 15//2*_$^2 - 74*_$ - 103//2 => -1) julia> evaluate(ans) --_$ + 12 +-_$^2 + _$ - 1 julia> lp = factor(6*zk) Dict{NfOrdIdl, Int64} with 4 entries: - <3, _$ - 1> => 1 - <3, _$^2 + 1> => 1 - <2, 7//2*_$^2 + 2*_$ + 7//2> => 2 - <2, 5//2*_$^2 + 2*_$ + 3//2> => 1 + <3, _$ - 1> => 1 + <3, _$^2 + 1> => 1 + <2, 3//2*_$^2 + 3//2> => 2 + <2, 1//2*_$^2 + 3//2> => 1 julia> s, ms = Hecke.sunit_group(collect(keys(lp))) (GrpAb: Z/2 x Z^(5), SUnits map of Number field over Rational Field with defining polynomial x^3 - 13*x^2 + 13*x - 13 for NfOrdIdl[<3, _$ - 1> @@ -1481,12 +1481,12 @@

Class Group

Minimum: 3 basis_matrix [3 0 0; 0 3 0; 0 0 1] -two normal wrt: 3, <2, 7//2*_$^2 + 2*_$ + 7//2> +two normal wrt: 3, <2, 3//2*_$^2 + 3//2> Norm: 2 Minimum: 2 basis_matrix [2 0 0; 1 1 0; 0 0 1] -two normal wrt: 2, <2, 5//2*_$^2 + 2*_$ + 3//2> +two normal wrt: 2, <2, 1//2*_$^2 + 3//2> Norm: 2 Minimum: 2 basis_matrix @@ -1511,219 +1511,219 @@

Miscaellenous

order(I::NumFieldOrdIdl) -> NfOrd
 

Returns the order of .

-

source

+

source

# orderMethod.

order(a::NfAbsOrdFracIdl) -> NfAbsOrd
 

The order that was used to define the ideal .

-

source

+

source

# orderMethod.

order(I::NumFieldOrdIdl) -> NfOrd
 

Returns the order of .

-

source

+

source

# orderMethod.

order(a::NfRelOrdFracIdl) -> NfRelOrd
 

Returns the order of .

-

source

+

source

# nfMethod.

nf(x::NumFieldOrdIdl) -> AnticNumberField
 

Returns the number field, of which is an integral ideal.

-

source

+

source

# basisMethod.

basis(A::NfAbsOrdIdl) -> Vector{NfOrdElem}
 

Returns the basis of .

-

source

+

source

basis(I::NfAbsOrdFracIdl) -> Vector{nf_elem}
 

Returns the -basis of .

-

source

+

source

# lll_basisMethod.

lll_basis(I::NumFieldOrdIdl) -> Vector{NumFieldElem}
 

A basis for that is reduced using the LLL algorithm for the Minkowski metric.

-

source

+

source

# basis_matrixMethod.

basis_matrix(A::NfAbsOrdIdl) -> fmpz_mat
 

Returns the basis matrix of .

-

source

+

source

# basis_mat_invMethod.

basis_mat_inv(O::NfAbsOrd) -> FakeFmpqMat
 

Returns the inverse of the basis matrix of .

-

source

+

source

basis_mat_inv(A::NfAbsOrdIdl) -> fmpz_mat
 

Returns the inverse basis matrix of .

-

source

+

source

# assure_has_basis_mat_invMethod.

basis_mat_inv(A::NfAbsOrdIdl) -> FakeFmpqMat
 

Returns the inverse of the basis matrix of .

-

source

+

source

# has_basisMethod.

has_basis(A::NfAbsOrdIdl) -> Bool
 

Returns whether has a basis already computed.

-

source

+

source

# has_basis_matrixMethod.

has_basis_matrix(A::NfAbsOrdIdl) -> Bool
 

Returns whether knows its basis matrix.

-

source

+

source

# has_2_elemMethod.

has_2_elem(A::NfAbsOrdIdl) -> Bool
 

Returns whether is generated by two elements.

-

source

+

source

# has_2_elem_normalMethod.

has_2_elem_normal(A::NfAbsOrdIdl) -> Bool
 

Returns whether has normal two element generators.

-

source

+

source

# has_weakly_normalMethod.

has_weakly_normal(A::NfAbsOrdIdl) -> Bool
 

Returns whether has weakly normal two element generators.

-

source

+

source

# has_princ_gen_specialMethod.

has_princ_gen_special(A::NfAbsOrdIdl) -> Bool
 

Returns whether knows if it is generated by a rational integer.

-

source

+

source

# principal_generatorMethod.

principal_generator(A::NfOrdIdl) -> NfOrdElem
 

For a principal ideal , find a generator.

-

source

+

source

# principal_generator_fac_elemMethod.

principal_generator_fac_elem(A::NfOrdIdl) -> FacElem{nf_elem, NumberField}
 

For a principal ideal , find a generator in factored form.

-

source

+

source

# minimumMethod.

minimum(A::NfAbsOrdIdl) -> fmpz
 

Returns the smallest nonnegative element in .

-

source

+

source

  minimum(A::NfRelOrdIdl) -> NfOrdIdl
   minimum(A::NfRelOrdIdl) -> NfRelOrdIdl
 

Returns the ideal where is the maximal order of the coefficient ideals of .

-

source

+

source

# minimumMethod.

  minimum(A::NfRelOrdIdl) -> NfOrdIdl
   minimum(A::NfRelOrdIdl) -> NfRelOrdIdl
 

Returns the ideal where is the maximal order of the coefficient ideals of .

-

source

+

source

# minimumMethod.

minimum(A::NfAbsOrdIdl) -> fmpz
 

Returns the smallest nonnegative element in .

-

source

+

source

# has_minimumMethod.

has_minimum(A::NfAbsOrdIdl) -> Bool
 

Returns whether knows its mininum.

-

source

+

source

# normMethod.

norm(A::NfAbsOrdIdl) -> fmpz
 

Returns the norm of , that is, the cardinality of , where is the order of .

-

source

+

source

norm(a::NfRelOrdIdl) -> NfOrdIdl
 

Returns the norm of .

-

source

+

source

norm(a::NfRelOrdFracIdl{T, S}) -> S
 

Returns the norm of .

-

source

+

source

norm(a::AlgAssAbsOrdIdl, O::AlgAssAbsOrd; copy::Bool = true) -> fmpq
 

Returns the norm of considered as an (possibly fractional) ideal of .

-

source

+

source

norm(a::AlgAssRelOrdIdl{S, T, U}, O::AlgAssRelOrd{S, T, U}; copy::Bool = true)
   where { S, T, U } -> T
 

Returns the norm of considered as an (possibly fractional) ideal of .

-

source

+

source

# has_normMethod.

has_norm(A::NfAbsOrdIdl) -> Bool
 

Returns whether knows its norm.

-

source

+

source

# idempotentsMethod.

idempotents(x::NfOrdIdl, y::NfOrdIdl) -> NfOrdElem, NfOrdElem
 

Returns a tuple (e, f) consisting of elements e in x, f in y such that 1 = e + f.

If the ideals are not coprime, an error is raised.

-

source

+

source

# isprimeMethod.

isprime(A::NfOrdIdl) -> Bool
 

Returns whether is a prime ideal.

-

source

+

source

# isprime_knownMethod.

isprime_known(A::NfOrdIdl) -> Bool
 

Returns whether knows if it is prime.

-

source

+

source

# isramifiedMethod.

isramified(O::NfOrd, p::Int) -> Bool
 

Returns whether the integer is ramified in . It is assumed that is prime.

-

source

+

source

# ramification_indexMethod.

ramification_index(P::NfOrdIdl) -> Int
 

The ramification index of the prime-ideal .

-

source

+

source

# degreeMethod.

degree(P::NfOrdIdl) -> Int
 

The inertia degree of the prime-ideal .

-

source

+

source

# valuationMethod.

valuation(a::NumFieldElem, p::NfOrdIdl) -> fmpz
 

Computes the -adic valuation of , that is, the largest such that is contained in .

-

source

+

source

# valuationMethod.

valuation(a::nf_elem, p::NfOrdIdl) -> fmpz
@@ -1731,19 +1731,19 @@ 

Miscaellenous

valuation(a::fmpz, p::NfOrdIdl) -> fmpz

Computes the -adic valuation of , that is, the largest such that is contained in .

-

source

+

source

# valuationMethod.

valuation(A::NfOrdIdl, p::NfOrdIdl) -> fmpz
 

Computes the -adic valuation of , that is, the largest such that is contained in .

-

source

+

source

# valuationMethod.

valuation(a::Integer, p::NfOrdIdl) -> fmpz
 

Computes the -adic valuation of , that is, the largest such that is contained in .

-

source

+

source

# valuationMethod.

valuation(a::nf_elem, p::NfOrdIdl) -> fmpz
@@ -1751,20 +1751,20 @@ 

Miscaellenous

valuation(a::fmpz, p::NfOrdIdl) -> fmpz

Computes the -adic valuation of , that is, the largest such that is contained in .

-

source

+

source

# valuationMethod.

valuation(A::NfAbsOrdFracIdl, p::NfAbsOrdIdl)
 

The valuation of at .

-

source

+

source

# idempotentsMethod.

idempotents(x::NfOrdIdl, y::NfOrdIdl) -> NfOrdElem, NfOrdElem
 

Returns a tuple (e, f) consisting of elements e in x, f in y such that 1 = e + f.

If the ideals are not coprime, an error is raised.

-

source

+

source

Quotient Rings

@@ -1774,51 +1774,51 @@

Quotient Rings

quo(O::AlgAssAbsOrd, I::AlgAssAbsOrdIdl) -> AbsOrdQuoRing, Map

The quotient ring as a ring together with the section . The pointwise inverse of is the canonical projection .

-

source

+

source

# ResidueRingMethod.

ResidueRing(O::NfOrd, I::NfOrdIdl) -> NfOrdQuoRing
 ResidueRing(O::AlgAssAbsOrd, I::AlgAssAbsOrdIdl) -> AbsOrdQuoRing
 

The quotient ring modulo as a new ring.

-

source

+

source

# ResidueFieldMethod.

ResidueField(O::NfOrd, P::NfOrdIdl, check::Bool = true) -> Field, Map
 

Returns the residue field of the prime ideal together with the projection map. If check is true, the ideal is checked for being prime.

-

source

+

source

# modMethod.

mod(x::NfOrdElem, I::NfAbsOrdIdl)
 

Returns the unique element of the ambient order of with and the following property: If are the diagonal entries of the unique HNF basis matrix of and is the coefficient vector of , then for .

-

source

+

source

# crtMethod.

crt(r1::NfOrdElem, i1::NfOrdIdl, r2::NfOrdElem, i2::NfOrdIdl) -> NfOrdElem
 

Find such that and using idempotents.

-

source

+

source

# euler_phiMethod.

euler_phi(A::NfOrdIdl) -> fmpz
 

The ideal version of the totient function returns the size of the unit group of the residue ring modulo the ideal.

-

source

+

source

# multiplicative_groupMethod.

multiplicative_group(Q::NfOrdQuoRing) -> GrpAbFinGen, Map{GrpAbFinGen, NfOrdQuoRing}
 unit_group(Q::NfOrdQuoRing) -> GrpAbFinGen, Map{GrpAbFinGen, NfOrdQuoRing}
 

Returns the unit group of as an abstract group and an isomorphism map .

-

source

+

source

# multiplicative_group_generatorsMethod.

multiplicative_group_generators(Q::NfOrdQuoRing) -> Vector{NfOrdQuoRingElem}
 

Return a set of generators for .

-

source

+

source

diff --git a/dev/orders/orders/index.html b/dev/orders/orders/index.html index 3ec880b39f..2fd360e937 100644 --- a/dev/orders/orders/index.html +++ b/dev/orders/orders/index.html @@ -1091,31 +1091,31 @@

Creation and basic properties

Order(K::AnticNumberField, B::Vector{nf_elem}; check::Bool = true, cached::Bool = true, isbasis::Bool = false) -> NfOrd

Returns the order generated by . If check is set, it is checked whether defines an order. If isbasis is set, then elements are assumed to form a -basis.

-

source

+

source

# OrderMethod.

Order(K::AnticNumberField, A::FakeFmpqMat; check::Bool = true) -> NfOrd
 

Returns the order which has basis matrix with respect to the power basis of . If check is set, it is checked whether defines an order.

-

source

+

source

# OrderMethod.

Order(K::AnticNumberField, A::fmpz_mat, check::Bool = true) -> NfOrd
 

Returns the order which has basis matrix with respect to the power basis of . If check is set, it is checked whether defines an order.

-

source

+

source

Order(A::AbsAlgAss{<: NumFieldElem}, M::PMat{<: NumFieldElem, T})
   -> AlgAssRelOrd
 

Returns the order of with basis pseudo-matrix .

-

source

+

source

# EquationOrderMethod.

EquationOrder(K::NumberField) -> NumFieldOrd
 equation_order(K::NumberField) -> NumFieldOrd
 

Returns the equation order of the number field .

-

source

+

source

# MaximalOrderMethod.

MaximalOrder(K::NumField{fmpq}; discriminant::fmpz, ramified_primes::Vector{fmpz}) -> NfAbsOrd
@@ -1126,33 +1126,33 @@ 

Creation and basic properties

julia> K, a = NumberField(x^3 + 2, "a"); julia> O = MaximalOrder(K);
-

source

+

source

# MaximalOrderMethod.

MaximalOrder(O::NfAbsOrd; index_divisors::Vector{fmpz}, discriminant::fmpz, ramified_primes::Vector{fmpz}) -> NfAbsOrd
 

Returns the maximal order of the number field that contains . Additional information can be supplied if they are already known, as the ramified primes, the discriminant of the maximal order or a set of integers dividing the index of in the maximal order.

-

source

+

source

MaximalOrder(O::AlgAssAbsOrd)
 

Given an order , this function returns a maximal order containing .

-

source

+

source

MaximalOrder(A::AbsAlgAss{fmpq}) -> AlgAssAbsOrd
 

Returns a maximal order of .

-

source

+

source

# lllMethod.

lll(M::NfAbsOrd) -> NfAbsOrd
 

The same order, but with the basis now being LLL reduced wrt. the Minkowski metric.

-

source

+

source

# any_orderMethod.

any_order(K::NumberField)
 

Return some order in . In case the defining polynomial for is monic and integral, this just returns the equation order. In the other case is returned.

-

source

+

source

Example

@@ -1169,162 +1169,162 @@

Example

parent(O::NfAbsOrd) -> NfOrdSet
 

Returns the parent of , that is, the set of orders of the ambient number field.

-

source

+

source

# signatureMethod.

signature(O::NumFieldOrd) -> Tuple{Int, Int}
 

Returns the signature of the ambient number field of .

-

source

+

source

# nfMethod.

nf(O::NumFieldOrd) -> NumField
 

Returns the ambient number field of .

-

source

+

source

# basisMethod.

basis(O::NfAbsOrd) -> Vector{NfAbsOrdElem}
 

Returns the -basis of .

-

source

+

source

basis(I::NfAbsOrdFracIdl) -> Vector{nf_elem}
 

Returns the -basis of .

-

source

+

source

# lll_basisMethod.

lll_basis(M::NumFieldOrd) -> Vector{NumFieldElem}
 

A basis for that is reduced using the LLL algorithm for the Minkowski metric.

-

source

+

source

# basisMethod.

basis(O::NfOrd, K::AnticNumberField) -> Vector{nf_elem}
 

Returns the -basis elements of as elements of the ambient number field.

-

source

+

source

# pseudo_basisMethod.

  pseudo_basis(O::NfRelOrd{T, S}) -> Vector{Tuple{NumFieldElem{T}, S}}
 

Returns the pseudo-basis of .

-

source

+

source

# basis_pmatrixMethod.

  basis_pmatrix(O::NfRelOrd) -> PMat
 

Returns the basis pseudo-matrix of with respect to the power basis of the ambient number field.

-

source

+

source

# basis_nfMethod.

  basis_nf(O::NfRelOrd) -> Vector{NumFieldElem}
 

Returns the elements of the pseudo-basis of as elements of the ambient number field.

-

source

+

source

# inv_coeff_idealsMethod.

  inv_coeff_ideals(O::NfRelOrd{T, S}) -> Vector{S}
 

Returns the inverses of the coefficient ideals of the pseudo basis of .

-

source

+

source

# basis_matrixMethod.

basis_matrix(O::NfAbsOrd) -> FakeFmpqMat
 

Returns the basis matrix of with respect to the basis of the ambient number field.

-

source

+

source

# basis_mat_invMethod.

basis_mat_inv(O::NfAbsOrd) -> FakeFmpqMat
 

Returns the inverse of the basis matrix of .

-

source

+

source

basis_mat_inv(A::NfAbsOrdIdl) -> fmpz_mat
 

Returns the inverse basis matrix of .

-

source

+

source

# gen_indexMethod.

gen_index(O::NfOrd) -> fmpq
 

Returns the generalized index of with respect to the equation order of the ambient number field.

-

source

+

source

# isindex_divisorMethod.

isindex_divisor(O::NfOrd, d::fmpz) -> Bool
 isindex_divisor(O::NfOrd, d::Int) -> Bool
 

Returns whether is a divisor of the index of . It is assumed that contains the equation order of the ambient number field.

-

source

+

source

# minkowski_matrixMethod.

minkowski_matrix(O::NfAbsOrd, abs_tol::Int = 64) -> arb_mat
 

Returns the Minkowski matrix of . Thus if has degree , then the result is a matrix in . The entries of the matrix are real balls of type arb with radius less then 2^-abs_tol.

-

source

+

source

# inMethod.

in(a::NumFieldElem, O::NumFieldOrd) -> Bool
 

Checks whether lies in .

-

source

+

source

# norm_change_constMethod.

norm_change_const(O::NfOrd) -> (Float64, Float64)
 

Returns such that for all we have and , where is the -basis of .

-

source

+

source

# trace_matrixMethod.

trace_matrix(O::NfAbsOrd) -> fmpz_mat
 

Returns the trace matrix of , that is, the matrix .

-

source

+

source

# +Method.

+(R::NfOrd, S::NfOrd) -> NfOrd
 

Given two orders , of , this function returns the smallest order containing both and . It is assumed that , contain the ambient equation order and have coprime index.

-

source

+

source

# poverorderMethod.

poverorder(O::NfOrd, p::fmpz) -> NfOrd
 poverorder(O::NfOrd, p::Integer) -> NfOrd
 

This function tries to find an order that is locally larger than at the prime : If divides the index , this function will return an order such that . Otherwise is returned.

-

source

+

source

# poverordersMethod.

poverorders(O, p) -> Vector{Ord}
 

Returns all p-overorders of O, that is all overorders M, such that the index of O in M is a p-power.

-

source

+

source

# pmaximal_overorderMethod.

pmaximal_overorder(O::NfOrd, p::fmpz) -> NfOrd
 pmaximal_overorder(O::NfOrd, p::Integer) -> NfOrd
 

This function finds a -maximal order containing . That is, the index is not divisible by .

-

source

+

source

# pradicalMethod.

pradical(O::NfOrd, p::{fmpz|Integer}) -> NfAbsOrdIdl
 

Given a prime number , this function returns the -radical of , which is just . It is not checked that is prime.

-

source

+

source

# pradicalMethod.

  pradical(O::NfRelOrd, P::NfOrdIdl) -> NfRelOrdIdl
 

Given a prime ideal , this function returns the -radical of , which is just . It is not checked that is prime.

-

source

+

source

# ring_of_multipliersMethod.

ring_of_multipliers(I::NfAbsOrdIdl) -> NfAbsOrd
 

Computes the order , which is the set of all with .

-

source

+

source

Invariants

@@ -1333,81 +1333,81 @@

Invariants

discriminant(O::NfOrd) -> fmpz
 

Returns the discriminant of .

-

source

+

source

discriminant(E::EllCrv{T}) -> T
 

Computes the discriminant of .

-

source

+

source

discriminant(O::AlgssRelOrd)
 

Returns the discriminant of .

-

source

+

source

# discriminantMethod.

discriminant(O::NfOrd) -> fmpz
 

Returns the discriminant of .

-

source

+

source

# reduced_discriminantMethod.

reduced_discriminant(O::NfOrd) -> fmpz
 

Returns the reduced discriminant, that is, the largest elementary divisor of the trace matrix of .

-

source

+

source

# degreeMethod.

degree(O::NumFieldOrd) -> Int
 

Returns the degree of .

-

source

+

source

# indexMethod.

index(O::NfOrd) -> fmpz
 

Assuming that the order contains the equation order of the ambient number field, this function returns the index .

-

source

+

source

# differentMethod.

different(R::NfAbsOrd) -> NfAbsOrdIdl
 

The differnt ideal of , that is, the ideal generated by all differents of elements in . For Gorenstein orders, this is also the inverse ideal of the co-different.

-

source

+

source

# codifferentMethod.

codifferent(R::NfAbsOrd) -> NfOrdIdl
 

The codiffernt ideal of , i.e. the trace-dual of .

-

source

+

source

# isgorensteinMethod.

isgorenstein(O::NfOrd) -> Bool
 

Return whether the order \mathcal{O} is Gorenstein.

-

source

+

source

# isbassMethod.

isbass(O::NfOrd) -> Bool
 

Return whether the order \mathcal{O} is Bass.

-

source

+

source

# isequation_orderMethod.

isequation_order(O::NumFieldOrd) -> Bool
 

Returns whether is the equation order of the ambient number field .

-

source

+

source

# zeta_log_residueMethod.

zeta_log_residue(O::NfOrd, error::Float64) -> arb
 

Computes the residue of the zeta function of at . The output will be an element of type arb with radius less then error.

-

source

+

source

# ramified_primesMethod.

ramified_primes(O::NfAbsOrd) -> Vector{fmpz}
 

Returns the list of prime numbers that divide .

-

source

+

source

Arithmetic

@@ -1434,7 +1434,7 @@

Arithmetic

isindependent{T}(x::Vector{T})
 

Given an array of non-zero units in a number field, returns whether they are multiplicatively independent.

-

source

+

source

Predicates

@@ -1443,13 +1443,13 @@

Predicates

iscontained(R::NfAbsOrd, S::NfAbsOrd) -> Bool
 

Checks if is contained in .

-

source

+

source

# ismaximalMethod.

ismaximal(R::NfAbsOrd) -> Bool
 

Tests if the order is maximal. This might trigger the computation of the maximal order.

-

source

+

source

diff --git a/dev/pmat/introduction/index.html b/dev/pmat/introduction/index.html index cfbe629c82..5b94b1ec08 100644 --- a/dev/pmat/introduction/index.html +++ b/dev/pmat/introduction/index.html @@ -1055,19 +1055,19 @@

Creation

PseudoMatrix(m::Generic.Mat{nf_elem}, c::Vector{NfOrdIdl}) -> PMat{nf_elem, NfOrdFracIdl}
 

Returns the (row) pseudo matrix representing the -module where are the ideals in and the rows of .

-

source

+

source

# PseudoMatrixMethod.

PseudoMatrix(m::Generic.Mat{NfOrdElem}, c::Vector{NfOrdIdl}) -> PMat{nf_elem, NfOrdFracIdl}
 

Returns the (row) pseudo matrix representing the -module where are the ideals in and the rows of .

-

source

+

source

# PseudoMatrixMethod.

PseudoMatrix(m::Generic.Mat{NfOrdElem}) -> PMat{nf_elem, NfOrdFracIdl}
 

Returns the free (row) pseudo matrix representing the -module where are the rows of .

-

source

+

source

(Those functions are also available as pseudo_matrix)

@@ -1077,33 +1077,33 @@

Operations

coefficient_ideals(M::PMat)
 

Returns the vector of coefficient ideals.

-

source

+

source

# matrixMethod.

matrix(M::PMat)
 

Returns the matrix part of the PMat.

-

source

+

source

# base_ringMethod.

base_ring(M::PMat)
 

The PMat defines an -module for soem maximal order . This function returns the that was used to defined .

-

source

+

source

# pseudo_hnfMethod.

pseudo_hnf(P::PMat)
 

Transforms into pseudo-Hermite form as defined by Cohen. Essentially the matrix part of will be upper triangular with some technical normalisation for the off-diagonal elements. This operation preserves the module.

A optional second argument can be secified as a symbols, indicating the desiered shape of the echelon form. Possible are :upperright (the default) and :lowerleft

-

source

+

source

# pseudo_hnf_with_transformMethod.

pseudo_hnf_with_transform(P::PMat)
 

Transforms into pseudo-Hermite form as defined by Cohen. Essentially the matrix part of will be upper triangular with some technical normalisation for the off-diagonal elements. This operation preserves the module. The used transformation is returned as a second return value.

A optional second argument can be secified as a symbols, indicating the desiered shape of the echelon form. Possible are :upperright (the default) and :lowerleft

-

source

+

source

Examples

diff --git a/dev/quad_forms/basics/index.html b/dev/quad_forms/basics/index.html index 5a99b96183..fbf47da6af 100644 --- a/dev/quad_forms/basics/index.html +++ b/dev/quad_forms/basics/index.html @@ -1062,13 +1062,13 @@

Creation of spaces

quadratic_space(K::NumField, n::Int; cached = true) -> QuadSpace
 

Create the quadratic space over K with dimension n and Gram matrix equal to the identity matrix.

-

source

+

source

# quadratic_spaceMethod.

quadratic_space(K::NumField, G::Int; cached = true) -> QuadSpace
 

Create the quadratic space over K with Gram matrix G. The matrix G must be square and symmetric.

-

source

+

source

Attributes

@@ -1077,43 +1077,43 @@

Attributes

rank(V::AbsSpace) -> Int
 

Return the rank of the quadratic space V.

-

source

+

source

# dimMethod.

dim(V::AbsSpace) -> Int
 

Return the dimension of the space V.

-

source

+

source

# gram_matrixMethod.

gram_matrix(V::AbsSpace) -> MatElem
 

Return the Gram matrix of V.

-

source

+

source

# involutionMethod.

involution(V::AbsSpace) -> NumField
 

Return the involution of V.

-

source

+

source

# isregularMethod.

isregular(V::AbsSpace) -> Bool
 

Return whether V is regular, that is, if the Gram matrix has full rank.

-

source

+

source

# detMethod.

det(V::AbsSpace) -> FieldElem
 

Returns the determinant of the space V as an element of the fixed field.

-

source

+

source

# discriminantMethod.

discriminant(V::AbsSpace) -> FieldElem
 

Returns the discriminant of the space V as an element of the fixed field.

-

source

+

source

Inner products and diagonalization

@@ -1122,32 +1122,32 @@

Inner products and diagonalization
gram_matrix(V::AbsSpace, M::MatElem) -> MatElem
 

Returns the gram matrix of the rows of M.

-

source

+

source

# gram_matrixMethod.

gram_matrix(V::AbsSpace, S::Vector{Vector}) -> MatElem
 

Returns the gram matrix of the sequence S.

-

source

+

source

# inner_productMethod.

inner_product(V::AbsSpace, v::Vector, w::Vector) -> FieldElem
 

Returns the inner product of v and w with respect to V.

-

source

+

source

# orthogonal_basisMethod.

orthogonal_basis(V::AbsSpace) -> MatElem
 

Returns a matrix M, such that the rows of M form an orthgonal basis of V.

-

source

+

source

# diagonalMethod.

diagonal(V::AbsSpace) -> Vector{FieldElem}
 

Returns a vector of elements such that V is isometric to the diagonal space .

The elements will be contained in the fixed field of V.

-

source

+

source

Equivalence

@@ -1156,20 +1156,20 @@

Equivalence

hasse_invariant(V::QuadSpace, p::Union{InfPlc, NfOrdIdl}) -> Int
 

Returns the Hasse invariant of the quadratic space V at p. This is equal to the product of local Hilbert symbols , , where is isometric to . If V is degenerate return the hasse invariant of V/radical(V).

-

source

+

source

# witt_invariantMethod.

witt_invariant(V::QuadSpace, p::Union{InfPlc, NfOrdIdl}) -> Int
 

Returns the Witt invariant of the quadratic space V at p.

See [Definition 3.2.1, Kir16].

-

source

+

source

# isisometricMethod.

isisometric(L::AbsSpace, M::AbsSpace, p::Union{InfPlc, NfOrdIdl}) -> Bool
 

Returns whether L and M are isometric over the completion at p.

-

source

+

source

# invariantsMethod.

invariants(M::QuadSpace)
@@ -1177,13 +1177,13 @@ 

Equivalence

Returns a tuple (n, k, d, H, I) of invariants of M, which determine the isometry class completely. Here n is the dimension. The dimension of the kernel is k. The element d is the determinant of a Gram matrix of the non-degenerate part, H contains the non-trivial Hasse invariants and I contains for each real place the negative index of inertia.

Note that d is determined only modulo squares.

-

source

+

source

# isisometricMethod.

isisometric(M::QuadSpace, L::QuadSpace) -> Bool
 

Tests if M and L are isometric.

-

source

+

source

diff --git a/dev/quad_forms/lattices/index.html b/dev/quad_forms/lattices/index.html index 15044bdf18..709c35745a 100644 --- a/dev/quad_forms/lattices/index.html +++ b/dev/quad_forms/lattices/index.html @@ -1187,28 +1187,28 @@

Creation of lattices

Given a number field and a matrix , returns the quadratic lattice spanned by the rows of inside the quadratic space over with gram matrix .

If is not supplied, the gram matrix of the ambient space will be the identity matrix.

-

source

+

source

# quadratic_latticeMethod.

quadratic_lattice(K::NumField, B::PMat; gram_ambient_space = F) -> QuadLat
 

Given a number field and a pseudo-matrix , returns the quadratic lattice spanned by the pseudo-matrix inside the quadratic space over with gram matrix .

If is not supplied, the gram matrix of the ambient space will be the identity matrix.

-

source

+

source

# hermitian_latticeMethod.

hermitian_lattice(K::NumField, B::MatElem; gram_ambient_space = F) -> HermLat
 

Given a number field and a matrix , returns the hermitian lattice spanned by the rows of inside the hermitian space over with gram matrix .

If is not supplied, the gram matrix of the ambient space will be the identity matrix.

-

source

+

source

# hermitian_latticeMethod.

hermitian_lattice(K::NumField, B::PMat; gram_ambient_space = F) -> HermLat
 

Given a number field and a pseudo-matrix , returns the hermitian lattice spanned by the pseudo-matrix inside the hermitian space over with gram matrix .

If is not supplied, the gram matrix of the ambient space will be the identity matrix.

-

source

+

source


@@ -1218,74 +1218,74 @@

Basic invariants

ambient_space(L::AbsLat) -> AbsSpace
 

Returns the ambient space of . If the ambient space is not known, an error is raised.

-

source

+

source

# rational_spanMethod.

rational_span(L::AbsLat) -> AbsSpace
 

Returns the rational span of .

-

source

+

source

# fixed_fieldMethod.

fixed_field(L::AbsLat) -> NumField
 

Returns the fixed field of the involution of .

-

source

+

source

# involutionMethod.

involution(L::AbsLat) -> Map
 

Returns the involution of the rational span of .

-

source

+

source

# rankMethod.

rank(L::AbsLat) -> Int
 

Returns the rank of the underlying module of .

-

source

+

source

# degreeMethod.

degree(L::AbsLat) -> Int
 

Returns the dimension of the ambient space of .

-

source

+

source

# generatorsMethod.

generators(L::AbsLat; minimal = false) -> Vector{Vector}
 

Returns a set of generators of over the base ring of .

If minimal == true, the number of generators is minimal. Note that computing minimal generators is expensive.

-

source

+

source

# discriminantMethod.

discriminant(L::AbsLat) -> NfOrdFracIdl
 

Returns the discriminant of , that is, the generalized index ideal .

-

source

+

source

# pseudo_matrixMethod.

pseudo_matrix(L::AbsLat) -> PMat
 

Returns the basis pseudo-matrix of .

-

source

+

source

# coefficient_idealsMethod.

coefficient_ideals(L::AbsLat) -> Vector{NfOrdIdl}
 

Returns the coefficient ideals of the pseudo-basis of .

-

source

+

source

# absolute_basisMethod.

absolute_basis(L::AbsLat) -> Vector
 

Returns a -basis of .

-

source

+

source

# absolute_basis_matrixMethod.

absolute_basis_matrix(L::AbsLat) -> MatElem
 

Returns a -basis matrix of .

-

source

+

source


@@ -1295,27 +1295,27 @@

Rational invariants

hasse_invariant(L::AbsLat, p::Union{InfPlc, NfOrdIdl}) -> Int
 

Returns the Hasse invariant of the rational span of at . The lattice must be quadratic.

-

source

+

source

# witt_invariantMethod.

witt_invariant(L::AbsLat, p::Union{InfPlc, NfOrdIdl}) -> Int
 

Returns the Witt invariant of the rational span of at . The lattice must be quadratic.

-

source

+

source

# isrationally_isometricMethod.

isrationally_isometric(L::AbsLat, M::AbsLat, p::Union{InfPlc, NfOrdIdl})
                                                                      -> Bool
 

Returns whether the rational spans of and are isometric over the completion at .

-

source

+

source

# isrationally_isometricMethod.

isrationally_isometric(L::AbsLat, M::AbsLat)
                                         -> Bool
 

Returns whether the rational spans of and are isometric.

-

source

+

source


@@ -1325,25 +1325,25 @@

Definiteness

ispositive_definite(L::AbsLat) -> Bool
 

Returns whether the rational span of is positive definite.

-

source

+

source

# isnegative_definiteMethod.

isnegative_definite(L::AbsLat) -> Bool
 

Returns whether the rational span of is negative definite.

-

source

+

source

# isdefiniteMethod.

isdefinite(L::AbsLat) -> Bool
 

Returns whether the rational span of is definite.

-

source

+

source

# can_scale_totally_positiveMethod.

can_scale_totally_positive(L::AbsLat) -> Bool, NumFieldElem
 

Returns whether there is a totally positive rescaled lattice of . If so, the second return value is an element such that is totally positive.

-

source

+

source


@@ -1353,31 +1353,31 @@

Module operations

*(a::NumFieldElem, M::AbsLat) -> AbsLat
 

Returns the lattice inside the ambient space of .

-

source

+

source

# *Method.

*(a::NfOrdIdl, M::AbsLat) -> AbsLat
 

Returns the lattice inside the ambient space of .

-

source

+

source

# *Method.

*(a::NfOrdFracIdl, M::AbsLat) -> AbsLat
 

Returns the lattice inside the ambient space of .

-

source

+

source

# rescaleMethod.

rescale(L::AbsLat, a::NumFieldElem) -> AbsLat
 

Returns the rescaled lattice . Note that this has a different ambient space than .

-

source

+

source

# dualMethod.

dual(L::AbsLat) -> AbsLat
 

Returns the dual lattice of .

-

source

+

source


@@ -1387,31 +1387,31 @@

Invariants

norm(L::AbsLat) -> NfOrdFracIdl
 

Returns the norm of . This is a fractional ideal of the fixed field of .

-

source

+

source

# scaleMethod.

scale(L::AbsLat) -> NfOrdFracIdl
 

Returns the scale of .

-

source

+

source

# isintegralMethod.

isintegral(L::AbsLat) -> Bool
 

Returns whether the lattice is integral.

-

source

+

source

# volumeMethod.

volume(L::AbsLat) -> NfOrdFracIdl
 

Returns the volume of .

-

source

+

source

# ismodularMethod.

ismodular(L::AbsLat) -> Bool, NfOrdFracIdl
 

Returns whether is modular. In this case, the second return value is a fractional ideal such that , where is the dual of .

-

source

+

source


@@ -1426,7 +1426,7 @@

Local properties

  • If type == :supermodule, the lattice will be a superlattice of .
  • If type == :any, there may not be any containment relation between and .
  • -

    source

    +

    source

    # jordan_decompositionMethod.

    jordan_decomposition(L::AbsLat, p::NfOrdIdl)
    @@ -1434,13 +1434,13 @@ 

    Local properties

    Returns a Jordan decomposition of the completion of at .

    The return value consists of three lists , and of the same length . The completions of the row spans of the matrices yield a Jordan decomposition of into modular sublattices with gram matrices and scale of -adic valuation .

    -

    source

    +

    source

    # islocally_isometricMethod.

    islocally_isometric(L::AbsLat, M::AbsLat, p::NfOrdIdl) -> Bool
     

    Returns whether the completions of and at the prime ideal are locally isometric.

    -

    source

    +

    source


    @@ -1454,13 +1454,13 @@

    Creation of genera from lattices

    Returns the genus of at the prime ideal .

    See [Kir16, Definition 8.3.1].

    -

    source

    +

    source

    # genusMethod.

    genus(L::HermLat) -> GenusHerm
     

    Given a Hermitian lattice, return the genus it belongs to.

    -

    source

    +

    source


    @@ -1470,43 +1470,43 @@

    Properties of genera

    rank(G::LocalGenusHerm) -> Int
     

    Given a genus symbol , return the rank of a lattice in .

    -

    source

    +

    source

    # rankMethod.

    rank(G::LocalGenusHerm, i::Int)
     

    Given a genus symbol for Hermitian lattices over , return the rank of the th Jordan block of .

    -

    source

    +

    source

    # ranksMethod.

    ranks(G::LocalGenusHerm)
     

    Given a genus symbol for Hermitian lattices over , return the ranks of the Jordan blocks of .

    -

    source

    +

    source

    # detMethod.

    det(G::LocalGenusHerm) -> Int
     

    Given a genus symbol , return the determinant of a lattice in . This will be 1 or -1 depending on whether the determinant is a local norm or not.

    -

    source

    +

    source

    # det_representativeMethod.

    det_representative(G::LocalGenusHerm) -> NumFieldElem
     

    Return a representative for the norm class of the determinant of .

    -

    source

    +

    source

    # gram_matrixMethod.

    gram_matrix(G::LocalGenusHerm)
     

    Return a matrix , such that a lattice with Gram matrix is an element of the given genus.

    -

    source

    +

    source

    # primesMethod.

    primes(G::GenusHerm) -> Vector{NfOrdIdl}
     

    Return the primes of a global genus symbol.

    -

    source

    +

    source


    @@ -1516,13 +1516,13 @@

    Check if lattice is contained in
    in(L::HermLat, G::LocalGenusHerm) -> Bool
     

    Test if the lattice is contained in the local genus .

    -

    source

    +

    source

    # inMethod.

    in(L::HermLat, G::GenusHerm) -> Bool
     

    Test if the lattice is contained in the genus .

    -

    source

    +

    source


    @@ -1532,7 +1532,7 @@

    Creating representatives

    representative(G::LocalGenusHerm) -> HermLat
     

    Given a local genus, return a Hermitian lattice contained in this genus.

    -

    source

    +

    source

    diff --git a/dev/sitemap.xml b/dev/sitemap.xml index aa3697db71..61c7522c83 100644 --- a/dev/sitemap.xml +++ b/dev/sitemap.xml @@ -2,167 +2,167 @@ None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily None - 2022-02-15 + 2022-02-16 daily \ No newline at end of file diff --git a/dev/sitemap.xml.gz b/dev/sitemap.xml.gz index 4a44340a06..6856b31057 100644 Binary files a/dev/sitemap.xml.gz and b/dev/sitemap.xml.gz differ diff --git a/dev/sparse/intro/index.html b/dev/sparse/intro/index.html index 19e3bf8503..97105587bd 100644 --- a/dev/sparse/intro/index.html +++ b/dev/sparse/intro/index.html @@ -1208,23 +1208,23 @@

    Creation

    sparse_row(R::Ring, J::Vector{Tuple{Int, T}}) -> SRow{T}
     

    Constructs the sparse row with , where . The elements must belong to the ring .

    -

    source

    +

    source

    # sparse_rowMethod.

    sparse_row(R::Ring, J::Vector{Tuple{Int, T}}) -> SRow{T}
     

    Constructs the sparse row with , where . The elements must belong to the ring .

    -

    source

    +

    source

    sparse_row(R::Ring, J::Vector{Tuple{Int, Int}}) -> SRow
     

    Constructs the sparse row over with , where .

    -

    source

    +

    source

    # sparse_rowMethod.

    sparse_row(R::Ring, J::Vector{Int}, V::Vector{T}) -> SRow{T}
     

    Constructs the sparse row over with , where and .

    -

    source

    +

    source

    Basic operations

    @@ -1239,31 +1239,31 @@

    Basic operations

    getindex(A::SRow, j::Int) -> RingElem
     

    Given a sparse row and an index return .

    -

    source

    +

    source

    # add_scaled_rowMethod.

    add_scaled_row(A::SRow{T}, B::SRow{T}, c::T) -> SRow{T}
     

    Returns the row .

    -

    source

    +

    source

    # add_scaled_rowMethod.

    add_scaled_row(A::SRow{T}, B::SRow{T}, c::T) -> SRow{T}
     

    Returns the row .

    -

    source

    +

    source

    # transform_rowMethod.

    transform_row(A::SRow{T}, B::SRow{T}, i::Int, j::Int, a::T, b::T, c::T, d::T)
     

    Returns the tuple .

    -

    source

    +

    source

    # lengthMethod.

    length(A::SRow)
     

    Returns the number of nonzero entries of .

    -

    source

    +

    source

    Change of base ring

    @@ -1272,7 +1272,7 @@

    Change of base ring

    change_base_ring(R::Ring, A::SRow) -> SRow
     

    Create a new sparse row by coercing all elements into the ring .

    -

    source

    +

    source

    Maximum, minimum and 2-norm

    @@ -1281,36 +1281,36 @@

    Maximum, minimum and 2-norm

    maximum(A::SRow{T}) -> T
     

    Returns the largest entry of .

    -

    source

    +

    source

    # maximumMethod.

    maximum(A::SRow{T}) -> T
     

    Returns the largest entry of .

    -

    source

    +

    source

    # minimumMethod.

      minimum(A::NfRelOrdIdl) -> NfOrdIdl
       minimum(A::NfRelOrdIdl) -> NfRelOrdIdl
     

    Returns the ideal where is the maximal order of the coefficient ideals of .

    -

    source

    +

    source

    minimum(A::SRow{T}) -> T
     

    Returns the smallest entry of .

    -

    source

    +

    source

    # minimumMethod.

    minimum(A::SRow{T}) -> T
     

    Returns the smallest entry of .

    -

    source

    +

    source

    # norm2Method.

    norm2(A::SRow{T} -> T
     

    Returns .

    -

    source

    +

    source

    Functionality for integral sparse rows

    @@ -1319,31 +1319,31 @@

    Functionality for integral spars
    lift(A::SRow{nmod}) -> SRow{fmpz}
     

    Return the sparse row obtained by lifting all entries in .

    -

    source

    +

    source

    # mod!Method.

    mod!(A::SRow{fmpz}, n::fmpz) -> SRow{fmpz}
     

    Inplace reduction of all entries of modulo to the positive residue system.

    -

    source

    +

    source

    # mod_sym!Method.

    mod_sym!(A::SRow{fmpz}, n::fmpz) -> SRow{fmpz}
     

    Inplace reduction of all entries of modulo to the symmetric residue system.

    -

    source

    +

    source

    # mod_sym!Method.

    mod_sym!(A::SRow{fmpz}, n::Integer) -> SRow{fmpz}
     

    Inplace reduction of all entries of modulo to the symmetric residue system.

    -

    source

    +

    source

    # maximumMethod.

    maximum(abs, A::SRow{fmpz}) -> fmpz
     

    Returns the largest, in absolute value, entry of .

    -

    source

    +

    source

    Sparse matrices

    @@ -1357,58 +1357,58 @@

    Construction

    sparse_matrix(R::Ring) -> SMat
     

    Return an empty sparse matrix with base ring .

    -

    source

    +

    source

    Sparse matrices can also be created from dense matrices as well as from julia arrays:

    # sparse_matrixMethod.

    sparse_matrix(A::MatElem; keepzrows::Bool = true)
     

    Constructs the sparse matrix corresponding to the dense matrix . If keepzrows is false, then the constructor will drop any zero row of .

    -

    source

    +

    source

    # sparse_matrixMethod.

    sparse_matrix(R::Ring, A::Matrix{T}) -> SMat
     

    Constructs the sparse matrix over corresponding to .

    -

    source

    +

    source

    # sparse_matrixMethod.

    sparse_matrix(R::Ring, A::Matrix{T}) -> SMat
     

    Constructs the sparse matrix over corresponding to .

    -

    source

    +

    source

    The normal way however, is to add rows:

    # push!Method.

    push!(A::SMat{T}, B::SRow{T}) where T
     

    Appends the sparse row B to A.

    -

    source

    +

    source

    Sparse matrices can also be concatenated to form larger ones:

    # vcat!Method.

    vcat!(A::SMat, B::SMat) -> SMat
     

    Vertically joins and inplace, that is, the rows of are appended to .

    -

    source

    +

    source

    # vcatMethod.

    vcat(A::SMat, B::SMat) -> SMat
     

    Vertically joins and .

    -

    source

    +

    source

    # hcat!Method.

    hcat!(A::SMat, B::SMat) -> SMat
     

    Horizontally concatenates and , inplace, changing .

    -

    source

    +

    source

    # hcatMethod.

    hcat(A::SMat, B::SMat) -> SMat
     

    Horizontally concatenates and .

    -

    source

    +

    source

    (Normal julia is also supported)

    There are special constructors:

    # @@ -1416,33 +1416,33 @@

    Construction

    identity_matrix(::Type{SMat}, R::Ring, n::Int)
     

    Return a sparse times identity matrix over .

    -

    source

    +

    source

    # zero_matrixMethod.

    zero_matrix(::Type{SMat}, R::Ring, n::Int)
     

    Return a sparse times zero matrix over .

    -

    source

    +

    source

    # zero_matrixMethod.

    zero_matrix(::Type{SMat}, R::Ring, n::Int, m::Int)
     

    Return a sparse times zero matrix over .

    -

    source

    +

    source

    Slices:

    # subMethod.

    sub(A::SMat, r::UnitRange, c::UnitRange) -> SMat
     

    Return the submatrix of , where the rows correspond to and the columns correspond to .

    -

    source

    +

    source

    Transpose:

    # transposeMethod.

    transpose(A::SMat) -> SMat
     

    Returns the transpose of .

    -

    source

    +

    source

    Elementary Properties

    @@ -1451,92 +1451,92 @@

    Elementary Properties

    sparsity(A::SMat) -> Float64
     

    Return the sparsity of A, that is, the number of zero-valued elements divided by the number of all elements.

    -

    source

    +

    source

    # densityMethod.

    density(A::SMat) -> Float64
     

    Return the density of A, that is, the number of nonzero-valued elements divided by the number of all elements.

    -

    source

    +

    source

    # nnzMethod.

    nnz(A::SMat) -> Int
     

    Return the number of non-zero entries of .

    -

    source

    +

    source

    # nrowsMethod.

    nrows(A::SMat) -> Int
     

    Return the number of rows of .

    -

    source

    +

    source

    # ncolsMethod.

    ncols(A::SMat) -> Int
     

    Return the number of columns of .

    -

    source

    +

    source

    # isoneMethod.

    isone(A::SMat)
     

    Tests if is an identity matrix.

    -

    source

    +

    source

    # iszeroMethod.

    iszero(A::SMat)
     

    Tests if is a zero matrix.

    -

    source

    +

    source

    # isupper_triangularMethod.

    isupper_triangular(A::SMat)
     

    Returns true if and only if is upper (right) triangular.

    -

    source

    +

    source

    # maximumMethod.

    maximum(A::SMat{T}) -> T
     

    Finds the largest entry of .

    -

    source

    +

    source

    # minimumMethod.

    minimum(A::SMat{T}) -> T
     

    Finds the smallest entry of .

    -

    source

    +

    source

    # maximumMethod.

    maximum(abs, A::SMat{fmpz}) -> fmpz
     

    Finds the largest, in absolute value, entry of .

    -

    source

    +

    source

    # elementary_divisorsMethod.

    elementary_divisors(A::SMat{fmpz}) -> Vector{fmpz}
     

    The elementary divisors of , i.e. the diagonal elements of the Smith normal form of .

    -

    source

    +

    source

    # solve_dixon_sfMethod.

    solve_dixon_sf(A::SMat{fmpz}, b::SRow{fmpz}, is_int::Bool = false) -> SRow{fmpz}, fmpz
     solve_dixon_sf(A::SMat{fmpz}, B::SMat{fmpz}, is_int::Bool = false) -> SMat{fmpz}, fmpz
     

    For a sparse square matrix of full rank and a sparse matrix (row), find a sparse matrix (row) and an integer s.th. holds. The algorithm is a Dixon-based linear p-adic lifting method. If \code{is_int} is given, then is assumed to be . In this case rational reconstruction is avoided.

    -

    source

    +

    source

    # hadamard_bound2Method.

    hadamard_bound2(A::SMat{T}) -> T
     

    The square of the product of the norms of the rows of .

    -

    source

    +

    source

    # echelon_with_transformMethod.

    echelon_with_transform(A::SMat{nmod}) -> SMat, SMat
     

    Find a unimodular matrix and an upper-triangular s.th. holds.

    -

    source

    +

    source

    # reduce_fullMethod.

    reduce_full(A::SMat{fmpz}, g::SRow{fmpz},
    @@ -1545,49 +1545,49 @@ 

    Elementary Properties

    Reduces modulo and assumes that is upper triangular.

    The second return value is the array of pivot elements of that changed.

    If trafo is set to Val{true}, then additionally an array of transformations is returned.

    -

    source

    +

    source

    # hnf!Method.

    hnf!(A::SMat{fmpz})
     

    Inplace transform of into upper right Hermite normal form.

    -

    source

    +

    source

    # hnfMethod.

    hnf(A::SMat{fmpz}) -> SMat{fmpz}
     

    Return the upper right Hermite normal form of .

    -

    source

    +

    source

    # snfMethod.

    snf(A::SMat{fmpz})
     

    The Smith normal form (snf) of .

    -

    source

    +

    source

    # hnf_extend!Method.

    hnf_extend!(A::SMat{fmpz}, b::SMat{fmpz}, offset::Int = 0) -> SMat{fmpz}
     

    Given a matrix in HNF, extend this to get the HNF of the concatenation with .

    -

    source

    +

    source

    # isdiagonalMethod.

    isdiagonal(A::SMat) -> Bool
     

    True iff only the i-th entry in the i-th row is non-zero.

    -

    source

    +

    source

    # detMethod.

    det(A::SMat{fmpz})
     

    The determinant of using a modular algorithm. Uses the dense (nmod_mat) determinant on for various primes .

    -

    source

    +

    source

    # det_mcMethod.

    det_mc(A::SMat{fmpz})
     

    Computes the determinant of using a LasVegas style algorithm, i.e. the result is not proven to be correct. Uses the dense (nmod_mat) determinant on for various primes .

    -

    source

    +

    source

    # valence_mcMethod.

    valence_mc{T}(A::SMat{T}; extra_prime = 2, trans = Vector{SMatSLP_add_row{T}}()) -> T
    @@ -1595,26 +1595,26 @@ 

    Elementary Properties

    Uses a Monte-Carlo algorithm to compute the valence of . The valence is the valence of the minimal polynomial of , thus the last non-zero coefficient, typically .

    The valence is computed modulo various primes until the computation stabilises for extra_prime many.

    trans, if given, is a SLP (straight-line-program) in GL(n, Z). Then the valence of trans * is computed instead.

    -

    source

    +

    source

    # saturateMethod.

    saturate(A::SMat{fmpz}) -> SMat{fmpz}
     

    Computes the saturation of , that is, a basis for , where is the row span of and the number of rows of .

    Equivalently, return for an invertible rational matrix , such that is integral and the elementary divisors of are all trivial.

    -

    source

    +

    source

    # hnf_kannan_bachemMethod.

    hnf_kannan_bachem(A::SMat{fmpz}) -> SMat{fmpz}
     

    Compute the Hermite normal form of using the Kannan-Bachem algorithm.

    -

    source

    +

    source

    # diagonal_formMethod.

    diagonal_form(A::SMat{fmpz}) -> SMat{fmpz}
     

    A matrix that is diagonal and obtained via unimodular row and column operations. Like a snf without the divisibility condition.

    -

    source

    +

    source

    Manipulation/ Access

    @@ -1623,116 +1623,116 @@

    Manipulation/ Access

    getindex(A::SMat, i::Int, j::Int)
     

    Given a sparse matrix , return the entry .

    -

    source

    +

    source

    # getindexMethod.

    getindex(A::SMat, i::Int) -> SRow
     

    Given a sparse matrix and an index , return the -th row of .

    -

    source

    +

    source

    # setindex!Method.

    setindex!(A::SMat, b::SRow, i::Int)
     

    Given a sparse matrix , a sparse row and an index , set the -th row of equal to .

    -

    source

    +

    source

    # swap_rows!Method.

    swap_rows!(A::SMat{T}, i::Int, j::Int)
     

    Swap the -th and -th row of inplace.

    -

    source

    +

    source

    # swap_cols!Method.

    swap_cols!(A::SMat, i::Int, j::Int)
     

    Swap the -th and -th column of inplace.

    -

    source

    +

    source

    # scale_row!Method.

    scale_row!(A::SMat{T}, i::Int, c::T)
     

    Multiply the -th row of by inplace.

    -

    source

    +

    source

    # add_scaled_col!Method.

    add_scaled_col!(A::SMat{T}, i::Int, j::Int, c::T)
     

    Add times the -th column to the -th column of inplace, that is, , where denote the columns of .

    -

    source

    +

    source

    # add_scaled_row!Method.

    add_scaled_row!(A::SMat{T}, i::Int, j::Int, c::T)
     

    Add times the -th row to the -th row of inplace, that is, , where denote the rows of .

    -

    source

    +

    source

    # transform_row!Method.

    transform_row!(A::SMat{T}, i::Int, j::Int, a::T, b::T, c::T, d::T)
     

    Applies the transformation to , where are the rows of .

    -

    source

    +

    source

    # diagonalMethod.

    diagonal(A::SMat) -> fmpz[]
     

    The diagonal elements of in an array.

    -

    source

    +

    source

    # reverse_rows!Method.

    reverse_rows!(A::SMat)
     

    Inplace inversion of the rows of .

    -

    source

    +

    source

    # mod_sym!Method.

    mod_sym!(A::SMat{fmpz}, n::fmpz)
     

    Inplace reduction of all entries of modulo to the symmetric residue system.

    -

    source

    +

    source

    # find_row_starting_withMethod.

    find_row_starting_with(A::SMat, p::Int) -> Int
     

    Tries to find the index such that and for all . It is assumed that is upper triangular. If such an index does not exist, find the smallest index larger.

    -

    source

    +

    source

    # reduceMethod.

    reduce(A::SMat{fmpz}, g::SRow{fmpz}, m::fmpz) -> SRow{fmpz}
     

    Given an upper triangular matrix over the integers, a sparse row and an integer , this function reduces modulo and returns modulo with respect to the symmetric residue system.

    -

    source

    +

    source

    # reduceMethod.

    reduce(A::SMat{fmpz}, g::SRow{fmpz}) -> SRow{fmpz}
     

    Given an upper triangular matrix over a field and a sparse row , this function reduces modulo .

    -

    source

    +

    source

    <a id='reduce-Union{Tuple{T}, Tuple{SMat{T}, SRow{T}}} where T<:FieldElement' href='#reduce-Union{Tuple{T}, Tuple{SMat{T}, SRow{T}}} where T<:FieldElement'># reduceMethod.

    reduce(A::SMat{T}, g::SRow{T}) -> SRow{T}
     

    Given an upper triangular matrix over a field and a sparse row , this function reduces modulo .

    -

    source

    +

    source

    # rand_rowMethod.

    rand_row(A::SMat) -> SRow
     

    Return a random row of the sparse matrix .

    -

    source

    +

    source

    Changing of the ring:

    # map_entriesMethod.

    map_entries(f, A::SMat) -> SMat
     

    Given a sparse matrix and a callable object , this function will construct a new sparse matrix by applying to all elements of .

    -

    source

    +

    source

    # change_base_ringMethod.

    change_base_ring(R::Ring, A::SMat)
     

    Create a new sparse matrix by coercing all elements into the ring .

    -

    source

    +

    source

    Arithmetic

    @@ -1748,50 +1748,50 @@

    Arithmetic

    mul(A::SMat{T}, b::AbstractVector{T}) -> Vector{T}
     

    Return the product as a dense vector.

    -

    source

    +

    source

    # mulMethod.

    mul(A::SMat{T}, b::AbstractMatrix{T}) -> Matrix{T}
     

    Return the product as a dense array.

    -

    source

    +

    source

    # mulMethod.

    mul(A::SMat{T}, b::MatElem{T}) -> MatElem
     

    Return the product as a dense matrix.

    -

    source

    +

    source

    # mulMethod.

    mul(A::SRow, B::SMat) -> SRow
     

    Return the product as a sparse row.

    -

    source

    +

    source

    Other:

    # sparseMethod.

    sparse(A::SMat) -> SparseMatrixCSC
     

    The same matrix, but as a sparse matrix of julia type SparseMatrixCSC.

    -

    source

    +

    source

    # fmpz_matMethod.

    fmpz_mat(A::SMat{fmpz})
     

    The same matrix , but as an fmpz_mat.

    -

    source

    +

    source

    <a id='fmpz_mat-Union{Tuple{SMat{T}}, Tuple{T}} where T<:Integer' href='#fmpz_mat-Union{Tuple{SMat{T}}, Tuple{T}} where T<:Integer'># fmpz_matMethod.

    fmpz_mat(A::SMat{T}) where {T <: Integer}
     

    The same matrix , but as an fmpz_mat. Requires a conversion from the base ring of to .

    -

    source

    +

    source

    # ArrayMethod.

    Array(A::SMat{T}) -> Matrix{T}
     

    The same matrix, but as a two-dimensional julia array.

    -

    source

    +

    source