# Number Fields

- [Introduction](introduction.md)

- [Acknowledgement](acknowledgement.md)

- [Creation Functions](creation.md)

  - [Creation of Number Fields](creation.md#creation-of-number-fields)

    - [`NumberField(f): RngUPolElt → FldNum`](creation.md#function-fldnum-numberfield)

    - [`RationalsAsNumberField() → FldNum`](creation.md#function-rationalsasnumberfield)

    - [`QNF() → FldNum`](creation.md#function-qnf)

    - [`NumberField(s): [ RngUPolElt ] → FldNum`](creation.md#function-fldnum-numberfield-seq)

    - [`ext< F | s1, ..., sn >: FldNum, RngUPolElt, ..., RngUPolElt → FldNum`](creation.md#constructor-fldnum-ext)

    - [`ext<F | s>: FldNum, [RngUPolElt] → FldNum`](creation.md#constructor-constructor-ext-fldnum-rngupolelt-fldnum)

    - [`ext< Q | s1, ..., sn >: FldRat, RngUPolElt, ..., RngUPolElt → FldNum`](creation.md#constructor-constructor-ext-fldrat-rngupolelt-rngupolelt-fldnum)

    - [`ext< Q | s >: FldRat, [RngUPolElt] → FldNum`](creation.md#constructor-constructor-ext-fldrat-rngupolelt-fldnum)

    - [`Example: Creation`](creation.md#example-ex-30ee5b)

    - [`RadicalExtension(F, d, a): Rng, RngIntElt, RngElt → FldNum`](creation.md#function-radicalextension-rng-rngintelt-rngelt)

    - [`SplittingField(F): FldNum → FldNum, SeqEnum`](creation.md#function-splittingfield-fldnum)

    - [`NormalClosure(F): FldNum → FldNum, SeqEnum`](creation.md#function-normalclosure-fldnum)

    - [`SplittingField(f): RngUPolElt → FldNum`](creation.md#function-splittingfield-rngupolelt)

    - [`SplittingField(L): [RngUPolElt] → FldNum, [FldNumElt]`](creation.md#function-splittingfield-rngupolelt-2)

    - [`sub< F | e₁, ..., eₙ >: FldAlg, FldAlgElt, ..., FldAlgElt → FldAlg, Map`](creation.md#constructor-constructor-sub-fldalg-fldalgelt-fldalgelt-fldalg-map)

    - [`sub< F | S >: FldAlg, SeqEnum → FldAlg, Map`](creation.md#constructor-constructor-sub-fldalg-seqenum-fldalg-map)

    - [`MergeFields(F, L): FldNum, FldNum → SeqEnum`](creation.md#function-mergefields-fldnum-fldnum)

    - [`CompositeFields(F, L): FldNum, FldNum → SeqEnum`](creation.md#function-fldnum-compositefields)

    - [`Compositum(K, L): FldNum, FldNum → FldNum`](creation.md#function-compositum-fldnum-fldnum)

    - [`quo< FldNum : R | f >: RngUPol, RngUPolElt → FldNum`](creation.md#constructor-constructor-quo-rngupol-rngupolelt-fldnum)

    - [`Example: Composite Fields`](creation.md#example-ex-180416)

    - [`OptimizedRepresentation(F): FldNum → FldNum, Map`](creation.md#function-fldnum-optimizedrepresentation)

    - [`OptimisedRepresentation(F): FldNum → FldNum, Map`](creation.md#function-optimisedrepresentation-fldnum)

    - [`Example: Opt Rep`](creation.md#example-ex-91bae8)

    - [`IntegralModel(F): FldNum → FldNum, Map`](creation.md#function-fldnum-integralmodel)

    - [`Example: Integral Model`](creation.md#example-ex-67a832)

  - [Maximal Orders](creation.md#maximal-orders)

    - [`MaximalOrder(F): FldNum → RngOrd`](creation.md#function-fldnum-maximalorder)

    - [`IntegerRing(F): FldNum → RngOrd`](creation.md#function-integerring-fldnum)

    - [`Integers(F): FldNum → RngOrd`](creation.md#function-integers-fldnum)

    - [`RingOfIntegers(F): FldNum → RngOrd`](creation.md#function-ringofintegers-fldnum)

  - [Creation of Elements](creation.md#creation-of-elements)

    - [`F ! a: FldNum, RngElt → FldNumElt`](creation.md#operation-op-fldnum-rngelt)

    - [`elt< F | a >: FldNum, RngElt → FldNumElt`](creation.md#constructor-constructor-elt-fldnum-rngelt-fldnumelt)

    - [`F ! [a₀, a₁, ..., aₘ₋₁]: FldNum, [RngElt] → FldNumElt`](creation.md#operation-op-fldnum-rngelt-2)

    - [`elt< F | [ a₀, a₁, ..., aₘ₋₁ ] >: FldNum, SeqEnum[RngElt] → FldNumElt`](creation.md#constructor-constructor-elt-fldnum-seqenum-rngelt-fldnumelt)

    - [`elt< F | a₀, a₁, ..., aₘ₋₁>: FldNum, RngElt, ..., RngElt → FldNumElt`](creation.md#constructor-constructor-elt-fldnum-rngelt-rngelt-fldnumelt)

    - [`Random(F, m): FldNum, RngIntElt → FldNumElt`](creation.md#function-random-fldnum-rngintelt)

    - [`Example: Elements`](creation.md#example-ex-543b5e)

    - [`One(K): FldNum → FldNumElt`](creation.md#function-one-fldnum)

    - [`Identity(K): FldNum → FldNumElt`](creation.md#function-identity-fldnum)

    - [`Zero(K): FldNum → FldNumElt`](creation.md#function-zero-fldnum)

    - [`Representative(K): FldNum → FldNumElt`](creation.md#function-representative-fldnum)

  - [Creation of Homomorphisms](creation.md#creation-of-homomorphisms)

    - [`hom< F -> R | r >: FldNum, Rng, RngElt → Map`](creation.md#constructor-constructor-hom-fldnum-rng-rngelt-map)

    - [`hom< F -> R | h, r >: FldNum, Rng, Map, RngElt → Map`](creation.md#constructor-constructor-hom-fldnum-rng-map-rngelt-map)

    - [`hom< F -> R | r >: FldNum, Rng, [RngElt] → Map`](creation.md#constructor-constructor-hom-fldnum-rng-rngelt-map-2)

    - [`hom< F -> R | h, r >: FldNum, Rng, Map, [RngElt] → Map`](creation.md#constructor-constructor-hom-fldnum-rng-map-rngelt-map-2)

    - [`Example: Homomorphisms`](creation.md#example-ex-4d9b55)

- [Structure Operations](operation.md)

  - [General Functions](operation.md#general-functions)

    - [`Category(K): FldNum → Cat`](operation.md#function-category-fldnum)

    - [`Type(K): FldNum → Cat`](operation.md#function-type-fldnum)

    - [`ExtendedType(K): FldNum → Cat`](operation.md#function-extendedtype-fldnum)

    - [`Parent(K): FldNum → Pow`](operation.md#function-parent-fldnum)

    - [`AssignNames(~K, s): FldNum, [ MonStgElt ]`](operation.md#function-assignnames-fldnum-monstgelt-ref)

    - [`Name(K, i): FldNum, RngIntElt → FldNumElt`](operation.md#function-name-fldnum-rngintelt)

    - [`K . i: FldNum, RngIntElt → FldNumElt`](operation.md#operation-operation-fldnum-rngintelt-fldnumelt)

  - [Related Structures](operation.md#related-structures)

    - [`GroundField(F): FldNum → Fld`](operation.md#function-groundfield-fldnum)

    - [`BaseField(F): FldNum → Fld`](operation.md#function-basefield-fldnum)

    - [`CoefficientField(F): FldNum → Fld`](operation.md#function-fldnum-coefficientfield)

    - [`CoefficientRing(F): FldNum → Fld`](operation.md#function-coefficientring-fldnum)

    - [`AbsoluteField(F): FldNum → FldNum`](operation.md#function-fldnum-absolutefield)

    - [`SimpleExtension(F): FldNum → FldNum`](operation.md#function-fldnum-simpleextension)

    - [`RelativeField(F, L): FldNum, FldNum → FldNum`](operation.md#function-relativefield-fldnum-fldnum)

    - [`RelativeField(Q, L): FldRat, FldNum → FldNum`](operation.md#function-relativefield-fldrat-fldnum)

    - [`Components(F): FldNum → [FldNum]`](operation.md#function-components-fldnum)

    - [`Example: Compositum`](operation.md#example-ex-e3e873)

    - [`PrimeRing(F): FldNum → RngRat`](operation.md#function-primering-fldnum)

    - [`PrimeField(F): FldNum → RngRat`](operation.md#function-primefield-fldnum)

    - [`Centre(F): FldNum → FldNum`](operation.md#function-centre-fldnum)

    - [`Embed(F, L, a): FldNum, FldNum, FldNumElt`](operation.md#function-embed-fldnum-fldnum-fldnumelt)

    - [`Embed(F, L, a): FldNum, FldNum, [FldNumElt]`](operation.md#function-embed-fldnum-fldnum-fldnumelt-2)

    - [`EmbeddingMap(F, L): FldNum, FldNum → Map`](operation.md#function-embeddingmap-fldnum-fldnum)

    - [`Example: em`](operation.md#example-ex-909e79)

    - [`MinkowskiSpace(F): FldNum → Lat, Map`](operation.md#function-minkowskispace-fldnum)

    - [`Completion(K, P): FldNum, RngOrdIdl → FldLoc, Map`](operation.md#function-fldnum-completion1)

    - [`comp<K|P>: FldNum, RngOrdIdl → FldLoc, Map`](operation.md#constructor-constructor-comp-fldnum-rngordidl-fldloc-map)

    - [`Completion(K, P): FldNum, PlcNumElt → FldLoc, Map`](operation.md#function-completion-fldnum-plcnumelt)

  - [Representing Fields as Vector Spaces](operation.md#representing-fields-as-vector-spaces)

    - [`Algebra(K, J): FldNum, Fld → AlgAss, Map`](operation.md#function-algebra-fldnum-fld)

    - [`Algebra(K, J, S): FldNum, Fld, [FldNumElt] → AlgAss, Map`](operation.md#function-algebra-fldnum-fld-fldnumelt)

    - [`VectorSpace(K, J): FldNum, Fld → ModTupFld, Map`](operation.md#function-vectorspace-fldnum-fld)

    - [`KSpace(K, J): FldNum, Fld → ModTupFld, Map`](operation.md#function-kspace-fldnum-fld)

    - [`VectorSpace(K, J, S): FldNum, Fld, [FldNumElt] → ModTupFld, Map`](operation.md#function-vectorspace-fldnum-fld-fldnumelt)

    - [`KSpace(K, J, S): FldNum, Fld, [FldNumElt] → ModTupFld, Map`](operation.md#function-kspace-fldnum-fld-fldnumelt)

    - [`Example: Vector Space Eg`](operation.md#example-ex-3f6dca)

  - [Invariants](operation.md#invariants)

    - [`Characteristic(F): FldNum → RngIntElt`](operation.md#function-characteristic-fldnum)

    - [`Degree(F): FldNum → RngIntElt`](operation.md#function-fldnum-degree)

    - [`AbsoluteDegree(F): FldNum → RngIntElt`](operation.md#function-absolutedegree-fldnum)

    - [`Discriminant(F): FldNum → RngIntElt`](operation.md#function-fldnum-discriminant)

    - [`Discriminant(F): FldNum → RngOrdIdl`](operation.md#function-discriminant-fldnum)

    - [`AbsoluteDiscriminant(K): FldNum → FldRatElt`](operation.md#function-absolutediscriminant-fldnum)

    - [`Regulator(K): FldNum → FldComElt`](operation.md#function-regulator-fldnum)

    - [`RegulatorLowerBound(K): FldNum → FldComElt`](operation.md#function-regulatorlowerbound-fldnum)

    - [`Signature(F): FldAlg → RngIntElt, RngIntElt`](operation.md#function-signature-fldalg)

    - [`UnitRank(K): FldNum → RngIntElt`](operation.md#function-unitrank-fldnum)

    - [`DefiningPolynomial(F): FldNum → RngUPolElt`](operation.md#function-definingpolynomial-fldnum)

    - [`DefiningPolynomial(F): FldNum → [RngUPolElt]`](operation.md#function-definingpolynomial-fldnum-2)

    - [`Zeroes(F, n): FldNum, RngIntElt → [ FldComElt ]`](operation.md#function-zeroes-fldnum-rngintelt)

    - [`Example: zero`](operation.md#example-ex-e63cd9)

  - [Basis Representation](operation.md#basis-representation)

    - [`Basis(F): FldNum → [ FldNumElt ]`](operation.md#function-basis-fldnum)

    - [`Basis(F, R): FldNum, Rng → [ RngElt ]`](operation.md#function-basis-fldnum-rng)

    - [`IntegralBasis(F): FldNum → [ FldNumElt ]`](operation.md#function-integralbasis-fldnum)

    - [`IntegralBasis(F, R): FldNum, Rng → [ RngElt ]`](operation.md#function-integralbasis-fldnum-rng)

    - [`Example: Basis Ring`](operation.md#example-ex-49b3f2)

    - [`AbsoluteBasis(K): FldNum → [FldNumElt]`](operation.md#function-fldnum-absolutebasis)

    - [`Example: Bases`](operation.md#example-ex-0dc237)

  - [Ring Predicates](operation.md#ring-predicates)

    - [`F eq L: FldNum, FldNum → BoolElt`](operation.md#operation-op-eq-fldnum-fldnum)

    - [`F eq L: FldRat, FldNum → BoolElt`](operation.md#operation-op-eq-fldrat-fldnum)

    - [`F eq L: FldNum, FldRat → BoolElt`](operation.md#operation-op-eq-fldnum-fldrat)

    - [`IsCommutative(R): Rng → BoolElt`](operation.md#function-iscommutative-rng)

    - [`IsUnitary(R): Rng → BoolElt`](operation.md#function-isunitary-rng)

    - [`IsFinite(R): Rng → BoolElt`](operation.md#function-isfinite-rng)

    - [`IsOrdered(R): Rng → BoolElt`](operation.md#function-isordered-rng)

    - [`IsField(R): Rng → BoolElt`](operation.md#function-isfield-rng)

    - [`IsNumberField(R): . → BoolElt`](operation.md#function-isnumberfield)

    - [`IsAlgebraicField(R): . → BoolElt`](operation.md#function-isalgebraicfield)

    - [`IsEuclideanDomain(F): FldNum → BoolElt`](operation.md#function-iseuclideandomain-fldnum)

    - [`IsSimple(F): FldNum → BoolElt`](operation.md#function-issimple-fldnum)

    - [`IsPID(F): FldNum → BoolElt`](operation.md#function-ispid-fldnum)

    - [`IsUFD(F): FldNum → BoolElt`](operation.md#function-isufd-fldnum)

    - [`IsPrincipalIdealRing(F): FldNum → BoolElt`](operation.md#function-isprincipalidealring-fldnum)

    - [`IsDomain(R): FldNum → BoolElt`](operation.md#function-isdomain-fldnum)

    - [`F ne L: FldNum, FldNum → BoolElt`](operation.md#operation-op-ne-fldnum-fldnum)

    - [`K subset L: FldNum, FldNum → BoolElt`](operation.md#operation-op-subset-fldnum-fldnum)

    - [`K subset L: FldRat, FldNum → BoolElt`](operation.md#operation-op-subset-fldrat-fldnum)

    - [`HasComplexConjugate(K): FldNum → BoolElt, Map`](operation.md#function-fldnum-hascomplexconjugate)

    - [`ComplexConjugate(x): FldNumElt → FldNumElt`](operation.md#function-complexconjugate-fldnumelt)

  - [Field Predicates](operation.md#field-predicates)

    - [`IsIsomorphic(F, L): FldNum, FldNum → BoolElt, Map`](operation.md#function-isisomorphic-fldnum-fldnum)

    - [`IsSubfield(F, L): FldNum, FldNum → BoolElt, Map`](operation.md#function-issubfield-fldnum-fldnum)

    - [`IsSubfield(F, L): FldRat, FldNum → BoolElt, Map`](operation.md#function-issubfield-fldrat-fldnum)

    - [`IsNormal(F): FldNum → BoolElt`](operation.md#function-isnormal-fldnum)

    - [`IsAbelian(F): FldNum → BoolElt`](operation.md#function-isabelian-fldnum)

    - [`IsCyclic(F): FldNum → BoolElt`](operation.md#function-iscyclic-fldnum)

    - [`IsAbsoluteField(K): FldNum → BoolElt`](operation.md#function-isabsolutefield-fldnum)

- [Fields with a Labelled Embedding](embedded-number-fields.md)

  - [Creation Functions](embedded-number-fields.md#creation-functions)

    - [`EmbeddedNumberField(L, c): FldNum, FldComElt → BoolElt, FldNumEmb`](embedded-number-fields.md#function-embeddednumberfield-fldnum-fldcomelt)

    - [`EmbeddedNumberField(L, c): FldNum, FldReElt → BoolElt, FldNumEmb`](embedded-number-fields.md#function-embeddednumberfield-fldnum-fldreelt)

    - [`EmbeddedNumberField(f, r): RngUPolElt, FldReElt → BoolElt, FldNumEmb`](embedded-number-fields.md#function-embeddednumberfield-rngupolelt-fldreelt)

    - [`EmbeddedNumberField(f, r): RngUPolElt, FldComElt → BoolElt, FldNumEmb`](embedded-number-fields.md#function-embeddednumberfield-rngupolelt-fldcomelt)

    - [`EmbeddedNumberField(f, i): RngUPolElt, RngIntElt → FldNumEmb`](embedded-number-fields.md#function-embeddednumberfield-rngupolelt-rngintelt)

    - [`EmbeddedNumberField(L, i): FldNum, RngIntElt → FldNumEmb`](embedded-number-fields.md#function-embeddednumberfield-fldnum-rngintelt)

    - [`EmbeddedSplittingField(f): RngUPolElt → FldNumEmb, SeqEnum`](embedded-number-fields.md#function-embeddedsplittingfield-rngupolelt)

    - [`Subfield(L, K): FldNumEmb, FldNum → FldNumEmb`](embedded-number-fields.md#function-subfield-fldnumemb-fldnum)

  - [Composition and Intersection](embedded-number-fields.md#composition-and-intersection)

    - [`Composite(K, L): FldNumEmb, FldNumEmb → FldNumEmb`](embedded-number-fields.md#function-composite-fldnumemb-fldnumemb)

    - [`Intersection(K, L): FldNumEmb, FldNumEmb → FldNumEmb`](embedded-number-fields.md#function-intersection-fldnumemb-fldnumemb)

    - [`K meet L: FldNumEmb, FldNumEmb → FldNumEmb`](embedded-number-fields.md#operation-op-meet-fldnumemb-fldnumemb)

    - [`IsSubfieldEmb(K, L): FldNumEmb, FldNumEmb → BoolElt`](embedded-number-fields.md#function-issubfieldemb-fldnumemb-fldnumemb)

  - [Embedding and Reconstruction](embedded-number-fields.md#embedding-and-reconstruction)

    - [`ComplexImage(x): FldNumElt → FldComElt`](embedded-number-fields.md#function-compleximage-fldnumelt)

    - [`Embedding(K): FldNumEmb → UserProgram`](embedded-number-fields.md#function-embedding-fldnumemb)

    - [`Reconstruction(L, x): FldNumEmb, FldComElt → BoolElt, FldNumElt`](embedded-number-fields.md#function-reconstruction-fldnumemb-fldcomelt)

    - [`Reconstruction(L, x): FldNumEmb, FldReElt → BoolElt, FldNumElt`](embedded-number-fields.md#function-reconstruction-fldnumemb-fldreelt)

    - [`Example: Fldemb Eg 1`](embedded-number-fields.md#example-ex-83530f)

- [Element Operations](operation-element.md)

  - [Parent and Category](operation-element.md#parent-and-category)

    - [`Parent(a): FldNumElt → FldNum`](operation-element.md#function-parent-fldnumelt)

    - [`Category(a): FldNumElt → Cat`](operation-element.md#function-category-fldnumelt)

    - [`Type(a): FldNumElt → Cat`](operation-element.md#function-type-fldnumelt)

    - [`ExtendedType(a): FldNumElt → Cat`](operation-element.md#function-extendedtype-fldnumelt)

  - [Arithmetic](operation-element.md#arithmetic)

    - [`+ a: FldNumElt → FldNumElt`](operation-element.md#operation-operation-fldnumelt-fldnumelt)

    - [`- a: FldNumElt → FldNumElt`](operation-element.md#operation-operation-fldnumelt-fldnumelt-2)

    - [`a + b: FldNumElt, FldNumElt → FldNumElt`](operation-element.md#operation-op-plus-fldnumelt-fldnumelt)

    - [`a - b: FldNumElt, FldNumElt → FldNumElt`](operation-element.md#operation-op-minus-fldnumelt-fldnumelt)

    - [`a * b: FldNumElt, FldNumElt → FldNumElt`](operation-element.md#operation-op-times-fldnumelt-fldnumelt)

    - [`a / b: FldNumElt, FldNumElt → FldNumElt`](operation-element.md#operation-op-div-fldnumelt-fldnumelt)

    - [`a ^ k: FldNumElt, RngIntElt → FldNumElt`](operation-element.md#operation-op-pow-fldnumelt-rngintelt)

    - [`Sqrt(a): FldNumElt → FldNumElt`](operation-element.md#function-sqrt-fldnumelt)

    - [`SquareRoot(a): FldNumElt → FldNumElt`](operation-element.md#function-squareroot-fldnumelt)

    - [`Root(a, n): FldNumElt, RngIntElt → FldNumElt`](operation-element.md#function-root-fldnumelt-rngintelt)

    - [`IsPower(a, k): FldNumElt, RngIntElt → BoolElt, FldNumElt`](operation-element.md#function-ispower-fldnumelt-rngintelt)

    - [`IsSquare(a): FldNumElt → BoolElt, FldNumElt`](operation-element.md#function-issquare-fldnumelt)

    - [`Denominator(a): FldNumElt → RngIntElt`](operation-element.md#function-denominator-fldnumelt)

    - [`Numerator(a): FldNumElt → RngIntElt`](operation-element.md#function-numerator-fldnumelt)

    - [`Qround(E, M): FldNumElt, RngIntElt → FldNumElt`](operation-element.md#function-qround-fldnumelt-rngintelt)

  - [Equality and Membership](operation-element.md#equality-and-membership)

    - [`a eq b: FldNumElt, FldNumElt → BoolElt`](operation-element.md#operation-op-eq-fldnumelt-fldnumelt)

    - [`a ne b: FldNumElt, FldNumElt → BoolElt`](operation-element.md#operation-op-ne-fldnumelt-fldnumelt)

    - [`a in F: FldNumElt, FldNum → BoolElt`](operation-element.md#operation-op-in-fldnumelt-fldnum)

  - [Predicates on Elements](operation-element.md#predicates-on-elements)

    - [`IsIntegral(a): FldNumElt → BoolElt, RngIntElt`](operation-element.md#function-isintegral-fldnumelt)

    - [`IsPrimitive(a): FldNumElt → BoolElt`](operation-element.md#function-isprimitive-fldnumelt)

    - [`IsTotallyPositive(a): FldNumElt → BoolElt`](operation-element.md#function-istotallypositive-fldnumelt)

    - [`IsZero(a): FldNumElt → BoolElt`](operation-element.md#function-iszero-fldnumelt)

    - [`IsOne(a): FldNumElt → BoolElt`](operation-element.md#function-isone-fldnumelt)

    - [`IsMinusOne(a): FldNumElt → BoolElt`](operation-element.md#function-isminusone-fldnumelt)

    - [`IsUnit(a): FldNumElt → BoolElt`](operation-element.md#function-isunit-fldnumelt)

    - [`IsNilpotent(a): FldNumElt → BoolElt`](operation-element.md#function-isnilpotent-fldnumelt)

    - [`IsIdempotent(a): FldNumElt → BoolElt`](operation-element.md#function-isidempotent-fldnumelt)

    - [`IsZeroDivisor(a): FldNumElt → BoolElt`](operation-element.md#function-iszerodivisor-fldnumelt)

    - [`IsRegular(a): FldNumElt → BoolElt`](operation-element.md#function-isregular-fldnumelt)

    - [`IsIrreducible(a): FldNumElt → BoolElt`](operation-element.md#function-isirreducible-fldnumelt)

    - [`IsPrime(a): FldNumElt → BoolElt`](operation-element.md#function-isprime-fldnumelt)

  - [Field Generators](operation-element.md#field-generators)

    - [`K . 1: FldNum → FldNumElt`](operation-element.md#operation-operation-fldnum-fldnumelt)

    - [`PrimitiveElement(K): FldNum → FldNumElt`](operation-element.md#function-primitiveelement-fldnum)

    - [`Generators(K): FldNum → {FldNumElt}`](operation-element.md#function-generators-fldnum)

    - [`GeneratorsOverBaseRing(K): FldNum → {FldNumElt}`](operation-element.md#function-generatorsoverbasering-fldnum)

    - [`GeneratorsSequence(K): FldNum → [FldNumElt]`](operation-element.md#function-generatorssequence-fldnum)

    - [`GeneratorsSequenceOverBaseRing(K): FldNum → [FldNumElt]`](operation-element.md#function-generatorssequenceoverbasering-fldnum)

    - [`Generators(K, k): FldAlg, FldAlg → [FldAlgElt]`](operation-element.md#function-generators-fldalg-fldalg)

    - [`Generators(K, Q): FldAlg, FldRat → [FldAlgElt]`](operation-element.md#function-generators-fldalg-fldrat)

  - [Real and Complex Embeddings](operation-element.md#real-and-complex-embeddings)

  - [Heights](operation-element.md#heights)

  - [Norm, Trace, and Minimal Polynomial](operation-element.md#norm-trace-and-minimal-polynomial)

    - [`Norm(a): FldNumElt → FldNumElt`](operation-element.md#function-fldnum-norm)

    - [`Norm(a, R): FldNumElt, Rng → RngElt`](operation-element.md#function-norm-fldnumelt-rng)

    - [`AbsoluteNorm(a): FldNumElt → FldRatElt`](operation-element.md#function-absolutenorm-fldnumelt)

    - [`NormAbs(a): FldNumElt → FldRatElt`](operation-element.md#function-normabs-fldnumelt)

    - [`Trace(a): FldNumElt → FldNumElt`](operation-element.md#function-fldnum-trace)

    - [`Trace(a): FldNumElt → FldRatElt`](operation-element.md#function-trace-fldnumelt)

    - [`Trace(a, R): FldNumElt, Rng → RngElt`](operation-element.md#function-trace-fldnumelt-rng)

    - [`AbsoluteTrace(a): FldNumElt → FldRatElt`](operation-element.md#function-absolutetrace-fldnumelt)

    - [`TraceAbs(a): FldNumElt → FldRatElt`](operation-element.md#function-traceabs-fldnumelt)

    - [`CharacteristicPolynomial(a): FldNumElt → RngUPolElt`](operation-element.md#function-characteristicpolynomial-fldnumelt)

    - [`CharacteristicPolynomial(a, R): FldNumElt, Rng → RngUPolElt`](operation-element.md#function-characteristicpolynomial-fldnumelt-rng)

    - [`AbsoluteCharacteristicPolynomial(a): FldNumElt → RngUPolElt`](operation-element.md#function-absolutecharacteristicpolynomial-fldnumelt)

    - [`MinimalPolynomial(a): FldNumElt → RngUPolElt`](operation-element.md#function-minimalpolynomial-fldnumelt)

    - [`MinimalPolynomial(a, R): FldNumElt, Rng → RngUPolElt`](operation-element.md#function-minimalpolynomial-fldnumelt-rng)

    - [`AbsoluteMinimalPolynomial(a): FldNumElt → RngUPolElt`](operation-element.md#function-absoluteminimalpolynomial-fldnumelt)

    - [`RepresentationMatrix(a): FldNumElt → NumMatElt`](operation-element.md#function-representationmatrix-fldnumelt)

    - [`RepresentationMatrix(a, R): FldNumElt, Rng → NumMatElt`](operation-element.md#function-representationmatrix-fldnumelt-rng)

    - [`AbsoluteRepresentationMatrix(a): FldNumElt → NumMatElt`](operation-element.md#function-absoluterepresentationmatrix-fldnumelt)

    - [`Example: Norms Etc`](operation-element.md#example-ex-441d85)

  - [Other Functions](operation-element.md#other-functions)

    - [`ElementToSequence(a): FldNumElt → [ FldNumElt ]`](operation-element.md#function-elementtosequence-fldnumelt)

    - [`Eltseq(a): FldNumElt → [ FldNumElt ]`](operation-element.md#function-fldnum-eltseq)

    - [`Eltseq(E, k): FldNumElt, FldNum → [RngElt]`](operation-element.md#function-eltseq-fldnumelt-fldnum)

    - [`Eltseq(E, k): FldNumElt, Rng → [RngElt]`](operation-element.md#function-eltseq-fldnumelt-rng)

    - [`Flat(e): FldNumElt → [ FldRatElt]`](operation-element.md#function-flat-fldnumelt)

    - [`a[i]: FldNumElt, RngIntElt → FldRatElt`](operation-element.md#literal-literal-a-i-fldnumelt-rngintelt-fldratelt)

    - [`a[i]: FldNumElt, RngIntElt → FldNumElt`](operation-element.md#literal-literal-a-i-fldnumelt-rngintelt-fldnumelt)

    - [`ProductRepresentation(a): FldNumElt → [ FldNumElt ], [ RngIntElt ]`](operation-element.md#function-productrepresentation-fldnumelt)

    - [`ProductRepresentation(P, E): [ FldNumElt ], [ RngIntElt ] → FldNumElt`](operation-element.md#function-productrepresentation-fldnumelt-rngintelt)

    - [`PowerProduct(P, E): [FldNumElt], [RngIntElt] → FldNumElt`](operation-element.md#function-powerproduct-fldnumelt-rngintelt)

- [Class Group and Unit Group](class-unit-group.md)

  - [`Example: Class Group Unit Group`](class-unit-group.md#example-ex-c8082f)

- [Galois Theory](galois-theory.md)

  - [`GaloisGroup(K): FldNum → GrpPerm, [RngElt], GaloisData`](galois-theory.md#function-fldnum-galoisgroup)

  - [`Subfields(K): FldNum → [<FldNum, Map>]`](galois-theory.md#function-fldnum-subfields)

  - [`AutomorphismGroup(K): FldNum → GrpPerm, [Map], Map`](galois-theory.md#function-fldnum-automorphismgroup)

- [Solving Norm Equations](norm-equation.md)

  - [`Example: Norm Equation`](norm-equation.md#example-ex-2b3577)

- [Places and Divisors](divisors.md)

  - [Creation of Structures](divisors.md#creation-of-structures)

    - [`Places(K): FldNum → PlcNum`](divisors.md#function-places-fldnum)

    - [`DivisorGroup(K): FldNum → DivNum`](divisors.md#function-divisorgroup-fldnum)

  - [Operations on Structures](divisors.md#operations-on-structures)

    - [`d1 eq d2: DivNum, DivNum → BoolElt`](divisors.md#operation-op-eq-divnum-divnum)

    - [`p1 eq p2: PlcNum, PlcNum → BoolElt`](divisors.md#operation-op-eq-plcnum-plcnum)

    - [`NumberField(P): PlcNum → FldNum`](divisors.md#function-numberfield-plcnum)

    - [`NumberField(D): DivNum → FldNum`](divisors.md#function-numberfield-divnum)

  - [Creation of Elements](divisors.md#creation-of-elements)

    - [`Place(I): RngOrdIdl → PlcNumElt`](divisors.md#function-place-rngordidl)

    - [`Decomposition(K, p): FldNum, RngIntElt → SeqEnum`](divisors.md#function-decomposition-fldnum-rngintelt)

    - [`Decomposition(K, I): FldNum, Infty → SeqEnum`](divisors.md#function-decomposition-fldnum-infty)

    - [`Decomposition(K, p): FldNum, PlcNumElt → SeqEnum`](divisors.md#function-decomposition-fldnum-plcnumelt)

    - [`Decomposition(m, p): Map[FldRat, FldNum], RngIntElt → SeqEnum[<PlcNumElt, RngIntElt>]`](divisors.md#function-decomposition-map-fldrat-fldnum-rngintelt)

    - [`Decomposition(m, p): Map[FldNum, FldNum], PlcNumElt → SeqEnum[<PlcNumElt, RngIntElt>]`](divisors.md#function-decomposition-map-fldnum-fldnum-plcnumelt)

    - [`InfinitePlaces(K): FldNum → SeqEnum`](divisors.md#function-infiniteplaces-fldnum)

    - [`InfinitePlaces(K): FldRat → SeqEnum`](divisors.md#function-infiniteplaces-fldrat)

    - [`InfinitePlaces(K): RngInt → SeqEnum`](divisors.md#function-infiniteplaces-rngint)

    - [`Divisor(pl): PlcNumElt → DivNumElt`](divisors.md#function-divisor-plcnumelt)

    - [`Divisor(I): RngOrdFracIdl → DivNumElt`](divisors.md#function-divisor-rngordfracidl)

    - [`Divisor(x): FldNumElt → DivNumElt`](divisors.md#function-divisor-fldnumelt)

    - [`RealPlaces(K): FldRat → [PlcNumElt]`](divisors.md#function-realplaces-fldrat)

    - [`RealPlaces(K): FldNum → [PlcNumElt]`](divisors.md#function-realplaces-fldnum)

  - [Arithmetic with Places and Divisors](divisors.md#arithmetic-with-places-and-divisors)

    - [`d1 + d2: DivNumElt, DivNumElt → DivNumElt`](divisors.md#operation-op-plus-divnumelt-divnumelt)

    - [`p + d: PlcNumElt, DivNumElt → DivNumElt`](divisors.md#operation-op-plus-plcnumelt-divnumelt)

    - [`d + p: DivNumElt, PlcNumElt → DivNumElt`](divisors.md#operation-op-plus-divnumelt-plcnumelt)

    - [`p1 + p2: PlcNumElt, PlcNumElt → DivNumElt`](divisors.md#operation-op-plus-plcnumelt-plcnumelt)

    - [`- p: PlcNumElt → DivNumElt`](divisors.md#operation-operation-plcnumelt-divnumelt)

    - [`- d: DivNumElt → DivNumElt`](divisors.md#operation-operation-divnumelt-divnumelt)

    - [`d - p: DivNumElt, PlcNumElt → DivNumElt`](divisors.md#operation-op-minus-divnumelt-plcnumelt)

    - [`p - d: PlcNumElt, DivNumElt → DivNumElt`](divisors.md#operation-op-minus-plcnumelt-divnumelt)

    - [`d1 - d2: DivNumElt, DivNumElt → DivNumElt`](divisors.md#operation-op-minus-divnumelt-divnumelt)

    - [`p1 - p2: PlcNumElt, PlcNumElt → DivNumElt`](divisors.md#operation-op-minus-plcnumelt-plcnumelt)

    - [`p * k: PlcNumElt, RngIntElt → DivNumElt`](divisors.md#operation-op-times-plcnumelt-rngintelt)

    - [`d * k: DivNumElt, RngIntElt → DivNumElt`](divisors.md#operation-op-times-divnumelt-rngintelt)

    - [`p div k: PlcNumElt, RngIntElt → DivNumElt`](divisors.md#operation-operation-div-plcnumelt-rngintelt-divnumelt)

    - [`d div k: DivNumElt, RngIntElt → DivNumElt`](divisors.md#operation-operation-div-divnumelt-rngintelt-divnumelt)

  - [Other Functions for Places and Divisors](divisors.md#other-functions-for-places-and-divisors)

    - [`Valuation(a, p): FldNumElt, PlcNumElt → RngElt`](divisors.md#function-valuation-fldnumelt-plcnumelt)

    - [`Valuation(a, p): RngElt, PlcNumElt → RngElt`](divisors.md#function-valuation-rngelt-plcnumelt)

    - [`Valuation(I, p): RngOrdFracIdl, PlcNumElt → RngElt`](divisors.md#function-valuation-rngordfracidl-plcnumelt)

    - [`Support(D): DivNumElt → SeqEnum, SeqEnum`](divisors.md#function-support-divnumelt)

    - [`Ideal(D): DivNumElt → RngOrdIdl`](divisors.md#function-ideal-divnumelt)

    - [`Ideal(D): PlcNumElt → RngOrdIdl`](divisors.md#function-ideal-plcnumelt)

    - [`Evaluate(x, p): FldNumElt, PlcNumElt → RngElt`](divisors.md#function-evaluate-fldnumelt-plcnumelt)

    - [`Evaluate(x, p): FldRatElt, PlcNumElt → RngElt`](divisors.md#function-evaluate-fldratelt-plcnumelt)

    - [`Evaluate(x, p): RngIntElt, Infty → RngElt`](divisors.md#function-evaluate-rngintelt-infty)

    - [`RealEmbeddings(a): FldNumElt → []`](divisors.md#function-realembeddings-fldnumelt)

    - [`RealSigns(a): FldNumElt → []`](divisors.md#function-realsigns-fldnumelt)

    - [`IsReal(p): PlcNumElt → BoolElt`](divisors.md#function-isreal-plcnumelt)

    - [`IsComplex(p): PlcNumElt → BoolElt`](divisors.md#function-iscomplex-plcnumelt)

    - [`IsFinite(p): PlcNumElt → BoolElt`](divisors.md#function-isfinite-plcnumelt)

    - [`IsInfinite(p): PlcNumElt → BoolElt, RngIntElt`](divisors.md#function-isinfinite-plcnumelt)

    - [`Extends(P, p): PlcNumElt, PlcNumElt → BoolElt`](divisors.md#function-extends-plcnumelt-plcnumelt)

    - [`InertiaDegree(P): PlcNumElt → RngIntElt`](divisors.md#function-inertiadegree-plcnumelt)

    - [`Degree(P): PlcNumElt → RngIntElt`](divisors.md#function-degree-plcnumelt)

    - [`Degree(D): DivNumElt → RngElt`](divisors.md#function-degree-divnumelt)

    - [`NumberField(P): PlcNumElt → FldNum`](divisors.md#function-numberfield-plcnumelt)

    - [`NumberField(D): DivNumElt → FldNum`](divisors.md#function-numberfield-divnumelt)

    - [`ResidueClassField(P): PlcNumElt → Fld`](divisors.md#function-residueclassfield-plcnumelt)

    - [`UniformizingElement(P): PlcNumElt → FldNumElt`](divisors.md#function-uniformizingelement-plcnumelt)

    - [`LocalDegree(P): PlcNumElt → RngIntElt`](divisors.md#function-localdegree-plcnumelt)

    - [`RamificationIndex(P): PlcNumElt → RngIntElt`](divisors.md#function-ramificationindex-plcnumelt)

    - [`DecompositionGroup(P): PlcNumElt → GrpPerm`](divisors.md#function-decompositiongroup-plcnumelt)

- [Number Field Database](database.md)

  - [Creation](database.md#creation)

    - [`NumberFieldDatabase(d): RngIntElt → DB`](database.md#function-numberfielddatabase-rngintelt)

    - [`sub< D | dmin, dmax : parameters>: DB, RngIntElt, RngIntElt → DB`](database.md#constructor-anfdb-sub)

    - [`sub< D | dabs : parameters>: DB, RngIntElt → DB`](database.md#constructor-constructor-sub-db-rngintelt-db)

    - [`sub< D | : parameters>: DB → DB`](database.md#constructor-constructor-sub-db-db)

  - [Access](database.md#access)

    - [`Degree(D): DB → RngIntElt`](database.md#function-degree-db)

    - [`DiscriminantRange(D): DB → RngIntElt, RngIntElt`](database.md#function-discriminantrange-db)

    - [`# D: DB → RngIntElt`](database.md#operation-operation-db-rngintelt)

    - [`NumberOfFields(D): DB → RngIntElt`](database.md#function-numberoffields-db)

    - [`NumberOfFields(D, d): DB, RngIntElt → RngIntElt`](database.md#function-numberoffields-db-rngintelt)

    - [`NumberFields(D): DB → [ FldNum ]`](database.md#function-numberfields-db)

    - [`NumberFields(D, d): DB, RngIntElt → [ FldNum ]`](database.md#function-numberfields-db-rngintelt)

    - [`Example: Anfdb Basic1`](database.md#example-ex-461fd7)

    - [`Example: Anfdb Basic2`](database.md#example-ex-07449b)
