# Algebraic Function Fields

- [Introduction](introduction.md)

  - [Representations of Fields](introduction.md#representations-of-fields)

- [Creation of Algebraic Function Fields and their Orders](creation.md)

  - [Creation of Algebraic Function Fields](creation.md#creation-of-algebraic-function-fields)

    - [`ext< K | f >: FldFunRat, RngUPolElt → FldFun`](creation.md#constructor-constructor-ext-fldfunrat-rngupolelt-fldfun)

    - [`ext< K | f >: FldFun, RngUPolElt → FldFun`](creation.md#constructor-constructor-ext-fldfun-rngupolelt-fldfun)

    - [`FunctionField(f : parameters): RngUPolElt → FldFun`](creation.md#function-functionfield-rngupolelt)

    - [`FunctionField(f : parameters): RngMPolElt → FldFun`](creation.md#function-functionfield-rngmpolelt)

    - [`FunctionField(S): [RngUPolElt] → FldFun`](creation.md#function-functionfield-rngupolelt-2)

    - [`HermitianFunctionField(p, d): RngIntElt, RngIntElt → FldFun`](creation.md#function-hermitianfunctionfield-rngintelt-rngintelt)

    - [`HermitianFunctionField(q): RngIntElt → FldFun`](creation.md#function-hermitianfunctionfield-rngintelt)

    - [`sub<F | S>: FldFun, [] → FldFun`](creation.md#constructor-constructor-sub-fldfun-fldfun)

    - [`sub<F | s₁, ..., sᵣ >: FldFun, [] → FldFun`](creation.md#constructor-constructor-sub-fldfun-fldfun-2)

    - [`AssignNames(~F, s): FldFun, [ MonStgElt ]`](creation.md#function-assignnames-fldfun-monstgelt-ref)

    - [`AssignNames(~a, s): FldFunElt, [ MonStgElt ]`](creation.md#function-assignnames-fldfunelt-monstgelt-ref)

    - [`FunctionField(R): Rng → FldFunG`](creation.md#function-functionfield-rng)

    - [`Example: Creation`](creation.md#example-ex-4f7d5b)

    - [`Example: Creation Rel`](creation.md#example-ex-b33520)

    - [`Example: Creation Non Simple`](creation.md#example-ex-5f689c)

    - [`Example: Creation Herm`](creation.md#example-ex-5c6691)

  - [Construction of Orders of Algebraic Function Fields](creation.md#construction-of-orders-of-algebraic-function-fields)

    - [`EquationOrderFinite(F): FldFun → RngFunOrd`](creation.md#function-equationorderfinite-fldfun)

    - [`MaximalOrderFinite(F): FldFun → RngFunOrd`](creation.md#function-maximalorderfinite-fldfun)

    - [`EquationOrderInfinite(F): FldFun → RngFunOrd`](creation.md#function-equationorderinfinite-fldfun)

    - [`MaximalOrderInfinite(F): FldFun → RngFunOrd`](creation.md#function-maximalorderinfinite-fldfun)

    - [`IntegralClosure(R, F): Rng, FldFun → RngFunOrd`](creation.md#function-integralclosure-rng-fldfun)

    - [`EquationOrder(O): RngFunOrd → RngFunOrd`](creation.md#function-equationorder-rngfunord)

    - [`MaximalOrder(O): RngFunOrd → RngFunOrd`](creation.md#function-fldfung-max-ord-al)

    - [`SetOrderMaximal(O, b): RngFunOrd, BoolElt`](creation.md#function-setordermaximal-rngfunord-boolelt)

    - [`ext<O | f>: RngFunOrd, RngUPolElt → RngFunOrd`](creation.md#constructor-constructor-ext-rngfunord-rngupolelt-rngfunord)

    - [`Example: orders`](creation.md#example-ex-68faea)

    - [`Example: Int Cl`](creation.md#example-ex-4ba3aa)

    - [`Order(O, T, d): RngFunOrd, AlgMatElt, RngElt → RngFunOrd`](creation.md#function-order-rngfunord-algmatelt-rngelt)

    - [`Order(O, M): RngFunOrd, ModDed → RngFunOrd`](creation.md#function-order-rngfunord-modded)

    - [`Order(O, S): RngFunOrd, [FldFunElt] → RngFunOrd`](creation.md#function-order-rngfunord-fldfunelt)

    - [`Simplify(O): RngFunOrd → RngFunOrd`](creation.md#function-simplify-rngfunord)

    - [`O1 + O2: RngFunOrd, RngFunOrd → RngFunOrd`](creation.md#operation-op-plus-rngfunord-rngfunord)

    - [`O1 meet O2: RngFunOrd, RngFunOrd → RngFunOrd`](creation.md#operation-op-meet-rngfunord-rngfunord)

    - [`AsExtensionOf(O1, O2): RngFunOrd, RngFunOrd → RngFunOrd`](creation.md#function-asextensionof-rngfunord-rngfunord)

    - [`Example: Order Create More`](creation.md#example-ex-b548f7)

  - [Orders and Ideals](creation.md#orders-and-ideals)

    - [`MultiplicatorRing(I): RngFunOrdIdl → RngFunOrd`](creation.md#function-multiplicatorring-rngfunordidl)

    - [`pMaximalOrder(O, p): RngFunOrd, RngFunOrdIdl → RngFunOrd`](creation.md#function-pmaximalorder-rngfunord-rngfunordidl)

    - [`pMaximalOrder(O, p): RngFunOrd, RngElt → RngFunOrd`](creation.md#function-pmaximalorder-rngfunord-rngelt)

    - [`pRadical(O, p): RngFunOrd, RngFunOrdIdl → RngFunOrdIdl`](creation.md#function-pradical-rngfunord-rngfunordidl)

    - [`pRadical(O, p): RngFunOrd, RngElt → RngFunOrdIdl`](creation.md#function-pradical-rngfunord-rngelt)

- [Related Structures](structure-related.md)

  - [Parent and Category](structure-related.md#parent-and-category)

    - [`Category(F): FldFun → Cat`](structure-related.md#function-category-fldfun)

    - [`Category(O): RngFunOrd → Cat`](structure-related.md#function-category-rngfunord)

    - [`Parent(F): FldFun → Pow`](structure-related.md#function-parent-fldfun)

    - [`Parent(O): RngFunOrd → Pow`](structure-related.md#function-parent-rngfunord)

  - [Other Related Structures](structure-related.md#other-related-structures)

    - [`PrimeRing(F): FldFun → Rng`](structure-related.md#function-primering-fldfun)

    - [`PrimeField(F): FldFun → Rng`](structure-related.md#function-primefield-fldfun)

    - [`PrimeRing(O): RngFunOrd → Rng`](structure-related.md#function-primering-rngfunord)

    - [`ConstantField(F): FldFunG → Rng`](structure-related.md#function-constantfield-fldfung)

    - [`DefiningConstantField(F): FldFunG → Rng`](structure-related.md#function-definingconstantfield-fldfung)

    - [`ExactConstantField(F): FldFunG → Rng, Map`](structure-related.md#function-exactconstantfield-fldfung)

    - [`BaseRing(F): FldFun → Rng`](structure-related.md#function-basering-fldfun)

    - [`BaseField(F): FldFun → Rng`](structure-related.md#function-basefield-fldfun)

    - [`CoefficientRing(F): FldFun → Rng`](structure-related.md#function-coefficientring-fldfun)

    - [`CoefficientField(F): FldFun → Rng`](structure-related.md#function-coefficientfield-fldfun)

    - [`ISABaseField(F,G): Fld, Fld → BoolElt`](structure-related.md#function-isabasefield-fld-fld)

    - [`BaseRing(O): RngFunOrd → Rng`](structure-related.md#function-basering-rngfunord)

    - [`CoefficientRing(O): RngFunOrd → Rng`](structure-related.md#function-coefficientring-rngfunord)

    - [`BaseRing(FF): FldFunOrd → Rng`](structure-related.md#function-basering-fldfunord)

    - [`BaseField(FF): FldFunOrd → Rng`](structure-related.md#function-basefield-fldfunord)

    - [`CoefficientRing(FF): FldFunOrd → Rng`](structure-related.md#function-coefficientring-fldfunord)

    - [`CoefficientField(FF): FldFunOrd → Rng`](structure-related.md#function-coefficientfield-fldfunord)

    - [`SubOrder(O): RngFunOrd → RngFunOrd`](structure-related.md#function-suborder-rngfunord)

    - [`FunctionField(O): RngFunOrd → FldFun`](structure-related.md#function-functionfield-rngfunord)

    - [`FieldOfFractions(O): RngFunOrd → FldFunOrd`](structure-related.md#function-fieldoffractions-rngfunord)

    - [`FieldOfFractions(FF): FldFunOrd → FldFunOrd`](structure-related.md#function-fieldoffractions-fldfunord)

    - [`FieldOfFractions(F): FldFun → FldFun`](structure-related.md#function-fieldoffractions-fldfun)

    - [`Order(FF): FldFunOrd → RngFunOrd`](structure-related.md#function-order-fldfunord)

    - [`RationalExtensionRepresentation(F): FldFunG → FldFun`](structure-related.md#function-rationalextensionrepresentation-fldfung)

    - [`AbsoluteOrder(O): RngFunOrd → RngFunOrd`](structure-related.md#function-absoluteorder-rngfunord)

    - [`AbsoluteFunctionField(F): FldFunG → FldFunG`](structure-related.md#function-absolutefunctionfield-fldfung)

    - [`UnderlyingRing(F): FldFunG → FldFunG`](structure-related.md#function-underlyingring-fldfung)

    - [`UnderlyingField(F): FldFunG → FldFunG`](structure-related.md#function-underlyingfield-fldfung)

    - [`UnderlyingRing(F, R): FldFunG, Rng → FldFunG`](structure-related.md#function-underlyingring-fldfung-rng)

    - [`UnderlyingField(F, R): FldFunG, Rng → FldFunG`](structure-related.md#function-underlyingfield-fldfung-rng)

    - [`Embed(F, L, a): FldFun, FldFun, FldFunElt`](structure-related.md#function-embed-fldfun-fldfun-fldfunelt)

    - [`Embed(F, L, s): FldFun, FldFun, [FldFunElt]`](structure-related.md#function-embed-fldfun-fldfun-fldfunelt-2)

    - [`HasEmbedding(O1, O2): RngFunOrd, RngFunOrd → Bool`](structure-related.md#function-hasembedding-rngfunord-rngfunord)

    - [`CanComputeEmbedding(O1, O2): RngFunOrd, RngFunOrd → Bool`](structure-related.md#function-cancomputeembedding-rngfunord-rngfunord)

    - [`Places(F): FldFunG → PlcFun`](structure-related.md#function-places-fldfung)

    - [`DivisorGroup(F): FldFun → DivFun`](structure-related.md#function-divisorgroup-fldfun)

    - [`DifferentialSpace(F): FldFun → DiffFun`](structure-related.md#function-differentialspace-fldfun)

    - [`Example: Related Structures`](structure-related.md#example-ex-a0477f)

    - [`Example: Related Structures Rat Ext`](structure-related.md#example-ex-efbad3)

    - [`WeilRestriction(E, n): FldFun, RngIntElt → FldFun, UserProgram`](structure-related.md#function-weilrestriction-fldfun-rngintelt)

    - [`ConstantFieldExtension(F, E): FldFun, Rng → FldFun, Map`](structure-related.md#function-constantfieldextension-fldfun-rng)

    - [`Example: cfe`](structure-related.md#example-ex-01df8e)

    - [`MonicModel(F): FldFun → FldFun`](structure-related.md#function-monicmodel-fldfun)

    - [`Reduce(O): RngFunOrd → RngFunOrd`](structure-related.md#function-reduce-rngfunord)

    - [`Localization(O, p): RngFunOrd, RngFunOrdIdl → RngVal, Map`](structure-related.md#function-localization-rngfunord-rngfunordidl)

- [General Structure Invariants](structure-invar.md)

  - [`Characteristic(F): FldFun → RngIntElt`](structure-invar.md#function-characteristic-fldfun)

  - [`Characteristic(O): RngFunOrd → RngIntElt`](structure-invar.md#function-characteristic-rngfunord)

  - [`IsPerfect(F): Fld → BoolElt`](structure-invar.md#function-isperfect-fld)

  - [`Degree(F): FldFunG → RngIntElt`](structure-invar.md#function-degree-fldfung)

  - [`Degree(F, G): FldFun, FldFun → RngIntElt`](structure-invar.md#function-degree-fldfun-fldfun)

  - [`Degree(O): RngFunOrd → RngIntElt`](structure-invar.md#function-degree-rngfunord)

  - [`AbsoluteDegree(F): FldFunG → RngIntElt`](structure-invar.md#function-absolutedegree-fldfung)

  - [`AbsoluteDegree(O): RngFunOrd → RngIntElt`](structure-invar.md#function-absolutedegree-rngfunord)

  - [`DefiningPolynomial(F): FldFun → RngUPolElt`](structure-invar.md#function-definingpolynomial-fldfun)

  - [`DefiningPolynomial(O): RngFunOrd → RngUPolElt`](structure-invar.md#function-definingpolynomial-rngfunord)

  - [`DefiningPolynomials(F): FldFun → [RngUPolElt]`](structure-invar.md#function-definingpolynomials-fldfun)

  - [`DefiningPolynomials(O): RngFunOrd → [RngUPolElt]`](structure-invar.md#function-definingpolynomials-rngfunord)

  - [`Basis(F): FldFunG → SeqEnum[FldFunElt]`](structure-invar.md#function-basis-fldfung)

  - [`Basis(O): RngFunOrd → SeqEnum[FldFunElt]`](structure-invar.md#function-basis-rngfunord)

  - [`Basis(O, R): RngFunOrd, Rng → SeqEnum[RngElt]`](structure-invar.md#function-basis-rngfunord-rng)

  - [`TransformationMatrix(O1, O2): RngFunOrd, RngFunOrd → AlgMatElt, RngElt`](structure-invar.md#function-transformationmatrix-rngfunord-rngfunord)

  - [`CoefficientIdeals(O): RngFunOrd → [RngFunOrdIdl]`](structure-invar.md#function-coefficientideals-rngfunord)

  - [`BasisMatrix(O): RngFunOrd → AlgMatElt`](structure-invar.md#function-basismatrix-rngfunord)

  - [`PrimitiveElement(O): RngFunOrd → RngFunOrdElt`](structure-invar.md#function-primitiveelement-rngfunord)

  - [`Discriminant(O): RngFunOrd → .`](structure-invar.md#function-discriminant-rngfunord)

  - [`AbsoluteDiscriminant(O): RngFunOrd → .`](structure-invar.md#function-absolutediscriminant-rngfunord)

  - [`DimensionOfExactConstantField(F): FldFunG → RngIntElt`](structure-invar.md#function-dimensionofexactconstantfield-fldfung)

  - [`DegreeOfExactConstantField(F): FldFunG → RngIntElt`](structure-invar.md#function-degreeofexactconstantfield-fldfung)

  - [`Genus(F): FldFunG → RngIntElt`](structure-invar.md#function-genus-fldfung)

  - [`Example: invar`](structure-invar.md#example-ex-a8d7ef)

  - [`Example: Invar Non Simple`](structure-invar.md#example-ex-ec93f9)

  - [`GapNumbers(F): FldFunG → SeqEnum[RngIntElt]`](structure-invar.md#function-gapnumbers-fldfung)

  - [`GapNumbers(F, P): FldFunG, PlcFunElt → SeqEnum[RngIntElt]`](structure-invar.md#function-gapnumbers-fldfung-plcfunelt)

  - [`GapNumbers(P): PlcFunElt → SeqEnum[RngIntElt]`](structure-invar.md#function-gapnumbers-plcfunelt)

  - [`SeparatingElement(F): FldFunG → FldFunGElt`](structure-invar.md#function-separatingelement-fldfung)

  - [`RamificationDivisor(F): FldFunG → DivFunElt`](structure-invar.md#function-ramificationdivisor-fldfung)

  - [`WeierstrassPlaces(F): FldFunG → [PlcFunElt]`](structure-invar.md#function-weierstrassplaces-fldfung)

  - [`WronskianOrders(F): FldFunG → [RngIntElt]`](structure-invar.md#function-wronskianorders-fldfung)

  - [`Different(O): RngFunOrd → RngFunOrdIdl`](structure-invar.md#function-different-rngfunord)

  - [`Index(O, S): RngFunOrd, RngFunOrd → Any`](structure-invar.md#function-index-rngfunord-rngfunord)

- [Galois Groups](galois.md)

  - [`GaloisGroup(f): RngUPolElt → GrpPerm, [ RngElt ], GaloisData`](galois.md#function-galoisgroup-rngupolelt)

  - [`GaloisGroup(F): FldFun → GrpPerm, [RngElt], GaloisData`](galois.md#function-galoisgroup-fldfun)

  - [`GaloisGroup(F): FldFun[FldFun[FldFunRat]] → GrpPerm, [RngElt], GaloisData`](galois.md#function-galoisgroup-fldfun-fldfun-fldfunrat)

  - [`GaloisGroup(F): FldFun[FldFin] → GrpPerm, [RngElt], GaloisData`](galois.md#function-galoisgroup-fldfun-fldfin)

  - [`GaloisGroup(F): FldFun[FldFunRat] → GrpPerm, [RngElt], GaloisData`](galois.md#function-galoisgroup-fldfun-fldfunrat)

  - [`GaloisGroup(F): FldFun[FldRat] → GrpPerm, [RngElt], GaloisData`](galois.md#function-galoisgroup-fldfun-fldrat)

  - [`Example: Galois Groups`](galois.md#example-ex-0264c2)

  - [`Example: Galois Groups2`](galois.md#example-ex-93f3e8)

  - [`GeometricGaloisGroup(f): RngUPolElt → GrpPerm, RngUPolElt, GaloisData`](galois.md#function-geometricgaloisgroup-rngupolelt)

  - [`HilbertIrreducibilityCurves(f): RngUPolElt → SetEnum, SeqEnum`](galois.md#function-hilbertirreducibilitycurves-rngupolelt)

  - [`Example: appl`](galois.md#example-ex-2194f2)

  - [Splitting Fields](galois.md#splitting-fields)

    - [`GaloisSplittingField(f): RngUPolElt → FldFun, [FldFunElt], GrpPerm, [[FldFunElt]]`](galois.md#function-galoissplittingfield-rngupolelt)

    - [`Example: Galois Subfield`](galois.md#example-ex-36697a)

    - [Solvability by Radicals](galois.md#solvability-by-radicals)

      - [`SolveByRadicals(f): RngUPolElt → FldFun, [FldFunElt], [FldFunElt]`](galois.md#function-solvebyradicals-rngupolelt)

      - [`CyclicToRadical(K, a, z): FldFun, FldFunElt, RngElt → FldFun, [FldFunElt], [FldFunElt]`](galois.md#function-cyclictoradical-fldfun-fldfunelt-rngelt)

      - [`Example: Solve Radical`](galois.md#example-ex-0a9a35)

- [Subfields](subfields.md)

  - [`Subfields(F): FldFun → SeqEnum[FldFun]`](subfields.md#function-subfields-fldfun)

  - [`Example: Subfields`](subfields.md#example-ex-aeb7db)

- [Automorphism Group](automorphism-group.md)

  - [Automorphisms over the Base Field](automorphism-group.md#automorphisms-over-the-base-field)

    - [`Automorphisms(K, k): FldFun, FldFunG → [Map]`](automorphism-group.md#function-automorphisms-fldfun-fldfung)

    - [`AutomorphismGroup(K, k): FldFun, FldFunG → GrpFP, Map`](automorphism-group.md#function-automorphismgroup-fldfun-fldfung)

    - [`Example: Automorphisms`](automorphism-group.md#example-ex-796d6f)

    - [`IsSubfield(K, L): FldFun, FldFun → BoolElt, Map`](automorphism-group.md#function-issubfield-fldfun-fldfun)

    - [`IsIsomorphicOverQt(K, L): FldFun, FldFun → BoolElt, Map`](automorphism-group.md#function-isisomorphicoverqt-fldfun-fldfun)

    - [`Example: Is Subfield`](automorphism-group.md#example-ex-40fb2d)

  - [General Automorphisms](automorphism-group.md#general-automorphisms)

    - [`Isomorphisms(K, E): FldFunG, FldFunG → [Map]`](automorphism-group.md#function-isomorphisms-fldfung-fldfung)

    - [`IsIsomorphic(K, E): FldFunG, FldFunG → BoolElt, Map`](automorphism-group.md#function-isisomorphic-fldfung-fldfung)

    - [`Automorphisms(K): FldFunG → [Map]`](automorphism-group.md#function-automorphisms-fldfung)

    - [`Isomorphisms(K,E,p1,p2): FldFunG, FldFunG, PlcFunElt, PlcFunElt → [Map]`](automorphism-group.md#function-isomorphisms-fldfung-fldfung-plcfunelt-plcfunelt)

    - [`Automorphisms(K,p1,p2): FldFunG, PlcFunElt, PlcFunElt → [Map]`](automorphism-group.md#function-automorphisms-fldfung-plcfunelt-plcfunelt)

    - [`AutomorphismGroup(K): FldFunG → GrpFP, Map`](automorphism-group.md#function-automorphismgroup-fldfung)

    - [`AutomorphismGroup(K,f): FldFunG, Map → Grp, Map, SeqEnum`](automorphism-group.md#function-automorphismgroup-fldfung-map)

  - [Field Morphisms](automorphism-group.md#field-morphisms)

    - [`IsMorphism(f): Map → Bool`](automorphism-group.md#function-ismorphism-map)

    - [`FieldMorphism(f): Map → Map`](automorphism-group.md#function-fieldmorphism-map)

    - [`IdentityFieldMorphism(F): Fld → Map`](automorphism-group.md#function-identityfieldmorphism-fld)

    - [`IsIdentity(f): Map → BoolElt`](automorphism-group.md#function-isidentity-map)

    - [`Equality(f, g): Map, Map → Bool`](automorphism-group.md#function-equality-map-map)

    - [`HasInverse(f): Map → MonStgElt, Map`](automorphism-group.md#function-hasinverse-map)

    - [`Composition(f, g): Map, Map → Map`](automorphism-group.md#function-composition-map-map)

    - [`Example: Isomorphisms`](automorphism-group.md#example-ex-9d9eb5)

- [Global Function Fields](global.md)

  - [Functions relative to the Exact Constant Field](global.md#functions-relative-to-the-exact-constant-field)

    - [`NumberOfPlacesOfDegreeOverExactConstantField(F, m): FldFun, RngIntElt → RngIntElt`](global.md#function-numberofplacesofdegreeoverexactconstantfield-fldfun-rngintelt)

    - [`NumberOfPlacesDegECF(F, m): FldFun, RngIntElt → RngIntElt`](global.md#function-numberofplacesdegecf-fldfun-rngintelt)

    - [`NumberOfPlacesOfDegreeOneOverExactConstantField(F): FldFunG → RngIntElt`](global.md#function-numberofplacesofdegreeoneoverexactconstantfield-fldfung)

    - [`NumberOfPlacesOfDegreeOneECF(F): FldFunG → RngIntElt`](global.md#function-numberofplacesofdegreeoneecf-fldfung)

    - [`NumberOfPlacesOfDegreeOneOverExactConstantField(F, m): FldFunG, RngIntElt → RngIntElt`](global.md#function-numberofplacesofdegreeoneoverexactconstantfield-fldfung-rngintelt)

    - [`NumberOfPlacesOfDegreeOneECF(F, m): FldFun, RngIntElt → RngIntElt`](global.md#function-numberofplacesofdegreeoneecf-fldfun-rngintelt)

    - [`SerreBound(F): FldFunG → RngIntElt`](global.md#function-serrebound-fldfung)

    - [`SerreBound(F, m): FldFunG, RngIntElt → RngIntElt`](global.md#function-serrebound-fldfung-rngintelt)

    - [`SerreBound(q, g): RngIntElt, RngIntElt → RngIntElt`](global.md#function-serrebound-rngintelt-rngintelt)

    - [`IharaBound(F): FldFunG → RngIntElt`](global.md#function-iharabound-fldfung)

    - [`IharaBound(F, m): FldFunG, RngIntElt → RngIntElt`](global.md#function-iharabound-fldfung-rngintelt)

    - [`IharaBound(q, g): RngIntElt, RngIntElt → RngIntElt`](global.md#function-iharabound-rngintelt-rngintelt)

    - [`NumberOfPlacesOfDegreeOneECFBound(F): FldFunG → RngIntElt`](global.md#function-numberofplacesofdegreeoneecfbound-fldfung)

    - [`NumberOfPlacesOfDegreeOneOverExactConstantFieldBound(F): FldFunG → RngIntElt`](global.md#function-numberofplacesofdegreeoneoverexactconstantfieldbound-fldfung)

    - [`NumberOfPlacesOfDegreeOneECFBound(F, m): FldFun, RngIntElt → RngIntElt`](global.md#function-numberofplacesofdegreeoneecfbound-fldfun-rngintelt)

    - [`NumberOfPlacesOfDegreeOneOverExactConstantFieldBound(F, m): FldFunG, RngIntElt → RngIntElt`](global.md#function-numberofplacesofdegreeoneoverexactconstantfieldbound-fldfung-rngintelt)

    - [`NumberOfPlacesOfDegreeOneECFBound(q, g): RngIntElt, RngIntElt → RngIntElt`](global.md#function-numberofplacesofdegreeoneecfbound-rngintelt-rngintelt)

    - [`NumberOfPlacesOfDegreeOneOverExactConstantFieldBound(q, g): RngIntElt, RngIntElt → RngIntElt`](global.md#function-numberofplacesofdegreeoneoverexactconstantfieldbound-rngintelt-rngintelt)

    - [`LPolynomial(F): FldFunG → RngUPolElt`](global.md#function-lpolynomial-fldfung)

    - [`LPolynomial(F, m): FldFunG, RngIntElt → RngUPolElt`](global.md#function-lpolynomial-fldfung-rngintelt)

    - [`ZetaFunction(F): FldFunG → FldFunRatUElt`](global.md#function-zetafunction-fldfung)

    - [`ZetaFunction(F, m): FldFunG, RngIntElt → FldFunRatUElt`](global.md#function-zetafunction-fldfung-rngintelt)

  - [Functions Relative to the Constant Field](global.md#functions-relative-to-the-constant-field)

    - [`Places(F, m): FldFunG, RngIntElt → SeqEnum[PlcFunElt]`](global.md#function-places-fldfung-rngintelt)

    - [`HasPlace(F, m): FldFunG, RngIntElt → BoolElt, PlcFunElt`](global.md#function-hasplace-fldfung-rngintelt)

    - [`HasRandomPlace(F, m): FldFunG, RngIntElt → BoolElt, PlcFunElt`](global.md#function-hasrandomplace-fldfung-rngintelt)

    - [`RandomPlace(F, m): FldFunG, RngIntElt → PlcFunElt`](global.md#function-randomplace-fldfung-rngintelt)

    - [`Example: Global Function Fields`](global.md#example-ex-8f580e)

    - [`Example: global1`](global.md#example-ex-9f3184)

  - [Functions related to Class Group](global.md#functions-related-to-class-group)

    - [`UnitRank(O): RngFunOrd → RngIntElt`](global.md#function-unitrank-rngfunord)

    - [`UnitGroup(O): RngFunOrd → GrpAb, Map`](global.md#function-unitgroup-rngfunord)

    - [`Regulator(O): RngFunOrd → RngIntElt`](global.md#function-regulator-rngfunord)

    - [`PrincipalIdealMap(O): RngFunOrd → Map`](global.md#function-principalidealmap-rngfunord)

    - [`Example: Global Class Ex`](global.md#example-ex-1591a6)

    - [`ClassGroup(F : parameters): FldFunG → GrpAb, Map, Map`](global.md#function-classgroup-fldfung)

    - [`ClassGroup(O): RngFunOrd → GrpAb, Map, Map`](global.md#function-classgroup-rngfunord)

    - [`ClassGroupExactSequence(O): RngFunOrd → Map, Map, Map`](global.md#function-classgroupexactsequence-rngfunord)

    - [`ClassGroupAbelianInvariants(F : parameters): FldFunG → SeqEnum`](global.md#function-classgroupabelianinvariants-fldfung)

    - [`ClassGroupAbelianInvariants(O): RngFunOrd → SeqEnum`](global.md#function-classgroupabelianinvariants-rngfunord)

    - [`ClassNumber(F): FldFunG → RngIntElt`](global.md#function-classnumber-fldfung)

    - [`ClassNumber(O): RngFunOrd → RngIntElt`](global.md#function-classnumber-rngfunord)

    - [`Example: Class Group`](global.md#example-ex-dd2e5e)

    - [`GlobalUnitGroup(F): FldFunG → GrpAb, Map`](global.md#function-globalunitgroup-fldfung)

    - [`ClassGroupPRank(F): FldFunG → RngIntElt`](global.md#function-classgroupprank-fldfung)

    - [`HasseWittInvariant(F): FldFunG → RngIntElt`](global.md#function-hassewittinvariant-fldfung)

    - [`IndependentUnits(O): RngFunOrd → SeqEnum[RngFunOrdElt]`](global.md#function-independentunits-rngfunord)

    - [`FundamentalUnits(O): RngFunOrd → SeqEnum[RngFunOrdElt]`](global.md#function-fundamentalunits-rngfunord)

    - [`Example: orders`](global.md#example-ex-065c59)

- [Structure Predicates](structure-predicates.md)

  - [`IsField(R): FldFun → BoolElt`](structure-predicates.md#function-isfield-fldfun)

  - [`IsEuclideanDomain(R): FldFun → BoolElt`](structure-predicates.md#function-iseuclideandomain-fldfun)

  - [`IsField(O): RngFunOrd → BoolElt`](structure-predicates.md#function-isfield-rngfunord)

  - [`IsPID(R): FldFun → BoolElt`](structure-predicates.md#function-ispid-fldfun)

  - [`IsUFD(R): FldFun → BoolElt`](structure-predicates.md#function-isufd-fldfun)

  - [`IsDivisionRing(R): FldFun → BoolElt`](structure-predicates.md#function-isdivisionring-fldfun)

  - [`IsEuclideanRing(R): FldFun → BoolElt`](structure-predicates.md#function-iseuclideanring-fldfun)

  - [`IsDivisionRing(O): RngFunOrd → BoolElt`](structure-predicates.md#function-isdivisionring-rngfunord)

  - [`IsPrincipalIdealRing(R): FldFun → BoolElt`](structure-predicates.md#function-isprincipalidealring-fldfun)

  - [`IsDomain(R): FldFun → BoolElt`](structure-predicates.md#function-isdomain-fldfun)

  - [`IsDomain(O): RngFunOrd → BoolElt`](structure-predicates.md#function-isdomain-rngfunord)

  - [`F eq G: FldFunG, FldFunG → BoolElt`](structure-predicates.md#operation-op-eq-fldfung-fldfung)

  - [`F ne G: FldFunG, FldFunG → BoolElt`](structure-predicates.md#operation-op-ne-fldfung-fldfung)

  - [`O1 eq O2: RngFunOrd, Rng → BoolElt`](structure-predicates.md#operation-op-eq-rngfunord-rng)

  - [`O1 ne O2: RngFunOrd, Rng → BoolElt`](structure-predicates.md#operation-op-ne-rngfunord-rng)

  - [`O1 subset O2: RngFunOrd, RngFunOrd → BoolElt`](structure-predicates.md#operation-op-subset-rngfunord-rngfunord)

  - [`IsGlobal(F): FldFunG → BoolElt`](structure-predicates.md#function-isglobal-fldfung)

  - [`IsRationalFunctionField(F): FldFunG → BoolElt`](structure-predicates.md#function-isrationalfunctionfield-fldfung)

  - [`IsFiniteOrder(O): RngFunOrd → BoolElt`](structure-predicates.md#function-isfiniteorder-rngfunord)

  - [`IsEquationOrder(O): RngFunOrd → BoolElt`](structure-predicates.md#function-isequationorder-rngfunord)

  - [`IsAbsoluteOrder(O): RngFunOrd → BoolElt`](structure-predicates.md#function-isabsoluteorder-rngfunord)

  - [`IsMaximal(O): RngFunOrd → BoolElt`](structure-predicates.md#function-ismaximal-rngfunord)

  - [`IsTamelyRamified(O): RngFunOrd → BoolElt`](structure-predicates.md#function-istamelyramified-rngfunord)

  - [`IsTotallyRamified(O): RngFunOrd → BoolElt`](structure-predicates.md#function-istotallyramified-rngfunord)

  - [`IsUnramified(O): RngFunOrd → BoolElt`](structure-predicates.md#function-isunramified-rngfunord)

  - [`IsWildlyRamified(O): RngFunOrd → BoolElt`](structure-predicates.md#function-iswildlyramified-rngfunord)

  - [`IsInKummerRepresentation(K): FldFun → BoolElt, FldFunElt`](structure-predicates.md#function-isinkummerrepresentation-fldfun)

  - [`IsInArtinSchreierRepresentation(K): FldFun → BoolElt, FldFunElt`](structure-predicates.md#function-isinartinschreierrepresentation-fldfun)

- [Homomorphisms](hom.md)

  - [`hom<F -> R | g>: FldFun, Rng, RngElt → Map`](hom.md#constructor-constructor-hom-fldfun-rng-rngelt-map)

  - [`hom<F -> R | cf, g>: FldFun, Rng, Map, RngElt → Map`](hom.md#constructor-constructor-hom-fldfun-rng-map-rngelt-map)

  - [`hom< O -> R | g >: RngFunOrd, Rng, RngElt → Map`](hom.md#constructor-constructor-hom-rngfunord-rng-rngelt-map)

  - [`hom< O -> R | cf, g >: RngFunOrd, Rng, Map, RngElt → Map`](hom.md#constructor-constructor-hom-rngfunord-rng-map-rngelt-map)

  - [`IsRingHomomorphism(m): Map → BoolElt`](hom.md#function-isringhomomorphism-map)

  - [`Example: hom`](hom.md#example-ex-1107ee)

  - [`hom< O -> R | b₁, ..., bₙ >: RngFunOrd, Rng, RngElt, ..., RngElt → Map`](hom.md#constructor-constructor-hom-rngfunord-rng-rngelt-rngelt-map)

  - [`hom< O -> R | m, b₁, ..., bₙ >: RngFunOrd, Rng, Map, RngElt, ..., RngElt → Map`](hom.md#constructor-constructor-hom-rngfunord-rng-map-rngelt-rngelt-map)

- [Elements](elements.md)

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

    - [`F . 1: FldFun → FldFunElt`](elements.md#operation-operation-fldfun-fldfunelt)

    - [`F . 2: FldFun → FldFunElt`](elements.md#operation-operation-fldfun-fldfunelt-2)

    - [`Name(F, i): FldFun, RngIntElt → FldFunElt`](elements.md#function-name-fldfun-rngintelt)

    - [`O . i: RngFunOrd, RngIntElt → FldFunOrdElt`](elements.md#operation-operation-rngfunord-rngintelt-fldfunordelt)

    - [`FF . i: FldFunOrd, RngIntElt → FldFunOrdElt`](elements.md#operation-operation-fldfunord-rngintelt-fldfunordelt)

    - [`F ! a: FldFun, . → FldFunElt`](elements.md#operation-op-fldfun)

    - [`elt<F | a>: FldFun, . → FldFunElt`](elements.md#constructor-constructor-elt-fldfun-fldfunelt)

    - [`O ! a: RngFunOrd, . → RngFunOrdElt`](elements.md#operation-op-rngfunord)

    - [`elt<O | a>: RngFunOrd, . → RngFunOrdElt`](elements.md#constructor-constructor-elt-rngfunord-rngfunordelt)

    - [`FF ! a: FldFunOrd, Any → FldFunOrdElt`](elements.md#operation-op-fldfunord-any)

    - [`elt<FF | a>: FldFunOrd, Any → FldFunOrdElt`](elements.md#constructor-constructor-elt-fldfunord-any-fldfunordelt)

    - [`elt< F | a₀, a₁, ..., aₙ₋₁>: FldFun, RngElt, ..., RngElt → FldFunElt`](elements.md#constructor-constructor-elt-fldfun-rngelt-rngelt-fldfunelt)

    - [`elt< O | a₁, a₂, ..., aₙ>: RngFunOrd, RngElt, ..., RngElt → RngFunOrdElt`](elements.md#constructor-constructor-elt-rngfunord-rngelt-rngelt-rngfunordelt)

    - [`elt< FF | a₁, a₂, ..., aₙ>: FldFunOrd, RngElt, ..., RngElt → FldFunOrdElt`](elements.md#constructor-constructor-elt-fldfunord-rngelt-rngelt-fldfunordelt)

    - [`One(F): FldFun → FldFunElt`](elements.md#function-one-fldfun)

    - [`One(O): RngFunOrd → RngFunOrdElt`](elements.md#function-one-rngfunord)

    - [`Identity(F): FldFun → FldFunElt`](elements.md#function-identity-fldfun)

    - [`Identity(O): RngFunOrd → RngFunOrdElt`](elements.md#function-identity-rngfunord)

    - [`Zero(F): FldFun → FldFunElt`](elements.md#function-zero-fldfun)

    - [`Zero(O): RngFunOrd → RngFunOrdElt`](elements.md#function-zero-rngfunord)

    - [`Representative(F): FldFun → FldFunElt`](elements.md#function-representative-fldfun)

    - [`Representative(O): RngFunOrd → RngFunOrdElt`](elements.md#function-representative-rngfunord)

    - [`Random(F, m): FldFunG, RngIntElt → FldFunElt`](elements.md#function-random-fldfung-rngintelt)

    - [`Random(O, m): RngFunOrd, RngIntElt → RngFunOrdElt`](elements.md#function-random-rngfunord-rngintelt)

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

    - [`Parent(a): FldFunElt → FldFun`](elements.md#function-parent-fldfunelt)

    - [`Parent(a): RngFunOrdElt → RngFunOrd`](elements.md#function-parent-rngfunordelt)

    - [`Category(a): FldFunElt → Cat`](elements.md#function-category-fldfunelt)

    - [`Category(a): RngFunOrdElt → Cat`](elements.md#function-category-rngfunordelt)

  - [Sequence Conversions](elements.md#sequence-conversions)

    - [`ElementToSequence(a): FldFunElt → SeqEnum[FldElt]`](elements.md#function-elementtosequence-fldfunelt)

    - [`ElementToSequence(a): RngFunOrdElt → SeqEnum[RngElt]`](elements.md#function-elementtosequence-rngfunordelt)

    - [`ElementToSequence(a): FldFunOrdElt → SeqEnum[RngElt]`](elements.md#function-elementtosequence-fldfunordelt)

    - [`Eltseq(a): FldFunElt → SeqEnum[FldElt]`](elements.md#function-eltseq-fldfunelt)

    - [`Eltseq(a): RngFunOrdElt → SeqEnum[RngElt]`](elements.md#function-eltseq-rngfunordelt)

    - [`Eltseq(a): FldFunOrdElt → SeqEnum[RngElt]`](elements.md#function-eltseq-fldfunordelt)

    - [`Eltseq(a, R): FldFunElt, FldFunG → [FldFunGElt]`](elements.md#function-eltseq-fldfunelt-fldfung)

    - [`Flat(a): FldFunElt → [FldFunGElt]`](elements.md#function-flat-fldfunelt)

    - [`F ! [ a₀, a₁, ..., aₙ₋₁ ]: FldFun, SeqEnum → FldFunElt`](elements.md#operation-op-fldfun-seqenum)

    - [`O ! [ a₁, a₂, ..., aₙ ]: RngFunOrd, SeqEnum → RngFunOrdElt`](elements.md#operation-op-rngfunord-seqenum)

    - [`Example: Elements`](elements.md#example-ex-27bc08)

  - [Arithmetic Operators](elements.md#arithmetic-operators)

    - [`+ a: FldFunElt → FldFunElt`](elements.md#operation-operation-fldfunelt-fldfunelt)

    - [`+ a: RngFunOrdElt → RngFunOrdElt`](elements.md#operation-operation-rngfunordelt-rngfunordelt)

    - [`+ a: FldFunOrdElt → FldFunOrdElt`](elements.md#operation-operation-fldfunordelt-fldfunordelt)

    - [`- a: FldFunElt → FldFunElt`](elements.md#operation-operation-fldfunelt-fldfunelt-2)

    - [`- a: RngFunOrdElt → RngFunOrdElt`](elements.md#operation-operation-rngfunordelt-rngfunordelt-2)

    - [`- a: FldFunOrdElt → FldFunOrdElt`](elements.md#operation-operation-fldfunordelt-fldfunordelt-2)

    - [`a + b: FldFunElt, FldFunElt → FldFunElt`](elements.md#operation-op-plus-fldfunelt-fldfunelt)

    - [`a + b: RngFunOrdElt, RngFunOrdElt → RngFunOrdElt`](elements.md#operation-op-plus-rngfunordelt-rngfunordelt)

    - [`a + b: FldFunOrdElt, FldFunOrdElt → FldFunOrdElt`](elements.md#operation-op-plus-fldfunordelt-fldfunordelt)

    - [`a - b: FldFunElt, FldFunElt → FldFunElt`](elements.md#operation-op-minus-fldfunelt-fldfunelt)

    - [`a - b: RngFunOrdElt, RngFunOrdElt → RngFunOrdElt`](elements.md#operation-op-minus-rngfunordelt-rngfunordelt)

    - [`a - b: FldFunOrdElt, FldFunOrdElt → FldFunOrdElt`](elements.md#operation-op-minus-fldfunordelt-fldfunordelt)

    - [`a * b: FldFunElt, FldFunElt → FldFunElt`](elements.md#operation-op-times-fldfunelt-fldfunelt)

    - [`a * b: RngFunOrdElt, RngFunOrdElt → RngFunOrdElt`](elements.md#operation-op-times-rngfunordelt-rngfunordelt)

    - [`a * b: FldFunOrdElt, FldFunOrdElt → FldFunOrdElt`](elements.md#operation-op-times-fldfunordelt-fldfunordelt)

    - [`a div b: FldFunElt, FldFunElt → FldFunElt`](elements.md#operation-operation-div-fldfunelt-fldfunelt-fldfunelt)

    - [`a div b: FldFunElt, RngElt → FldFunElt`](elements.md#operation-operation-div-fldfunelt-rngelt-fldfunelt)

    - [`a div b: RngFunOrdElt, RngFunOrdElt → RngFunOrdElt`](elements.md#operation-operation-div-rngfunordelt-rngfunordelt-rngfunordelt)

    - [`a div b: RngFunOrdElt, RngElt → RngFunOrdElt`](elements.md#operation-operation-div-rngfunordelt-rngelt-rngfunordelt)

    - [`a / b: FldFunElt, FldFunElt → FldFunElt`](elements.md#operation-op-div-fldfunelt-fldfunelt)

    - [`a / b: RngFunOrdElt, RngFunOrdElt → FldFunGElt`](elements.md#operation-op-div-rngfunordelt-rngfunordelt)

    - [`a / b: FldFunOrdElt, FldFunOrdElt → FldFunOrdElt`](elements.md#operation-op-div-fldfunordelt-fldfunordelt)

    - [`a ^ k: FldFunElt, RngIntElt → FldFunElt`](elements.md#operation-op-pow-fldfunelt-rngintelt)

    - [`a ^ k: RngFunOrdElt, RngIntElt → RngFunOrdElt`](elements.md#operation-op-pow-rngfunordelt-rngintelt)

    - [`a ^ k: FldFunOrdElt, RngIntElt → FldFunOrdElt`](elements.md#operation-op-pow-fldfunordelt-rngintelt)

    - [`Modexp(a, k, m): RngFunOrdElt, RngIntElt, RngUPolElt → RngFunOrdElt`](elements.md#function-modexp-rngfunordelt-rngintelt-rngupolelt)

    - [`Modexp(a, k, m): RngFunOrdElt, RngIntElt, RngValElt → RngFunOrdElt`](elements.md#function-modexp-rngfunordelt-rngintelt-rngvalelt)

    - [`a mod I: RngFunOrdElt, RngFunOrdIdl → RngFunOrdElt`](elements.md#operation-operation-mod-rngfunordelt-rngfunordidl-rngfunordelt)

    - [`Modinv(a, m): RngFunOrdElt, RngFunOrdIdl → RngFunOrdElt`](elements.md#function-modinv-rngfunordelt-rngfunordidl)

    - [`Modinv(a, m): RngFunOrdElt, RngUPolElt → RngFunOrdElt`](elements.md#function-modinv-rngfunordelt-rngupolelt)

    - [`Modinv(a, m): RngFunOrdElt, RngValElt → RngFunOrdElt`](elements.md#function-modinv-rngfunordelt-rngvalelt)

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

    - [`a eq b: FldFunElt, FldFunElt → BoolElt`](elements.md#operation-op-eq-fldfunelt-fldfunelt)

    - [`a eq b: RngFunOrdElt, RngFunOrdElt → BoolElt`](elements.md#operation-op-eq-rngfunordelt-rngfunordelt)

    - [`a eq b: FldFunOrdElt, FldFunOrdElt → BoolElt`](elements.md#operation-op-eq-fldfunordelt-fldfunordelt)

    - [`a ne b: FldFunElt, FldFunElt → BoolElt`](elements.md#operation-op-ne-fldfunelt-fldfunelt)

    - [`a ne b: RngFunOrdElt, RngFunOrdElt → BoolElt`](elements.md#operation-op-ne-rngfunordelt-rngfunordelt)

    - [`a ne b: FldFunOrdElt, FldFunOrdElt → BoolElt`](elements.md#operation-op-ne-fldfunordelt-fldfunordelt)

    - [`a in F: RngElt, FldFun → BoolElt`](elements.md#operation-op-in-rngelt-fldfun)

    - [`a in O: RngElt, RngFunOrd → BoolElt`](elements.md#operation-op-in-rngelt-rngfunord)

    - [`a in FF: RngElt, FldFunOrd → BoolElt`](elements.md#operation-op-in-rngelt-fldfunord)

    - [`a notin F: RngElt, FldFun → BoolElt`](elements.md#operation-op-notin-rngelt-fldfun)

    - [`a notin O: RngElt, RngFunOrd → BoolElt`](elements.md#operation-op-notin-rngelt-rngfunord)

    - [`a notin FF: RngElt, FldFunOrd → BoolElt`](elements.md#operation-op-notin-rngelt-fldfunord)

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

    - [`IsDivisibleBy(a, b): FldFunElt, FldFunElt → BoolElt, FldFunElt`](elements.md#function-isdivisibleby-fldfunelt-fldfunelt)

    - [`IsDivisibleBy(a, b): RngFunOrdElt, RngFunOrdElt → BoolElt, RngFunOrdElt`](elements.md#function-isdivisibleby-rngfunordelt-rngfunordelt)

    - [`IsZero(a): FldFunElt → BoolElt`](elements.md#function-iszero-fldfunelt)

    - [`IsZero(a): RngFunOrdElt → BoolElt`](elements.md#function-iszero-rngfunordelt)

    - [`IsZero(a): FldFunOrdElt → BoolElt`](elements.md#function-iszero-fldfunordelt)

    - [`IsOne(a): FldFunElt → BoolElt`](elements.md#function-isone-fldfunelt)

    - [`IsOne(a): RngFunOrdElt → BoolElt`](elements.md#function-isone-rngfunordelt)

    - [`IsOne(a): FldFunOrdElt → BoolElt`](elements.md#function-isone-fldfunordelt)

    - [`IsMinusOne(a): FldFunElt → BoolElt`](elements.md#function-isminusone-fldfunelt)

    - [`IsMinusOne(a): RngFunOrdElt → BoolElt`](elements.md#function-isminusone-rngfunordelt)

    - [`IsMinusOne(a): FldFunOrdElt → BoolElt`](elements.md#function-isminusone-fldfunordelt)

    - [`IsNilpotent(a): FldFunElt → BoolElt`](elements.md#function-isnilpotent-fldfunelt)

    - [`IsNilpotent(a): RngFunOrdElt → BoolElt`](elements.md#function-isnilpotent-rngfunordelt)

    - [`IsIdempotent(a): FldFunElt → BoolElt`](elements.md#function-isidempotent-fldfunelt)

    - [`IsIdempotent(a): RngFunOrdElt → BoolElt`](elements.md#function-isidempotent-rngfunordelt)

    - [`IsUnit(a): FldFunElt → BoolElt`](elements.md#function-isunit-fldfunelt)

    - [`IsUnit(a): RngFunOrdElt → BoolElt`](elements.md#function-isunit-rngfunordelt)

    - [`IsUnit(a): FldFunOrdElt → BoolElt`](elements.md#function-isunit-fldfunordelt)

    - [`IsZeroDivisor(a): FldFunElt → BoolElt`](elements.md#function-iszerodivisor-fldfunelt)

    - [`IsZeroDivisor(a): RngFunOrdElt → BoolElt`](elements.md#function-iszerodivisor-rngfunordelt)

    - [`IsRegular(a): FldFunElt → BoolElt`](elements.md#function-isregular-fldfunelt)

    - [`IsRegular(a): RngFunOrdElt → BoolElt`](elements.md#function-isregular-rngfunordelt)

    - [`IsIrreducible(a): FldFunElt → BoolElt`](elements.md#function-isirreducible-fldfunelt)

    - [`IsIrreducible(a): RngFunOrdElt → BoolElt`](elements.md#function-isirreducible-rngfunordelt)

    - [`IsPrime(a): FldFunElt → BoolElt`](elements.md#function-isprime-fldfunelt)

    - [`IsPrime(a): RngFunOrdElt → BoolElt`](elements.md#function-isprime-rngfunordelt)

    - [`IsSeparating(a): FldFunGElt → BoolElt`](elements.md#function-isseparating-fldfungelt)

    - [`IsConstant(a): FldFunGElt → BoolElt, RngElt`](elements.md#function-isconstant-fldfungelt)

    - [`IsConstant(a): RngFunOrdElt → BoolElt, RngElt`](elements.md#function-isconstant-rngfunordelt)

    - [`IsGlobalUnit(a): FldFunElt → BoolElt`](elements.md#function-field-elements-isglobalunit)

    - [`IsGlobalUnitWithPreimage(a): FldFunElt → BoolElt, GrpAbElt`](elements.md#function-field-elements-isglobalunitwithpreimage)

    - [`IsUnitWithPreimage(a): RngFunOrdElt → BoolElt, GrpAbElt`](elements.md#function-orders-elements-isunitwithpreimage)

  - [Functions related to Norm and Trace](elements.md#functions-related-to-norm-and-trace)

    - [`Trace(a): FldFunGElt → FldFunGElt`](elements.md#function-trace-fldfungelt)

    - [`Trace(a): RngFunOrdElt → RngElt`](elements.md#function-trace-rngfunordelt)

    - [`Norm(a): FldFunGElt → FldFunGElt`](elements.md#function-norm-fldfungelt)

    - [`Norm(a): RngFunOrdElt → RngElt`](elements.md#function-norm-rngfunordelt)

    - [`MinimalPolynomial(a): FldFunElt → RngUPolElt`](elements.md#function-minimalpolynomial-fldfunelt)

    - [`MinimalPolynomial(a): RngFunOrdElt → RngUPolElt`](elements.md#function-minimalpolynomial-rngfunordelt)

    - [`MinimalPolynomial(a): FldFunOrdElt → RngUPolElt`](elements.md#function-minimalpolynomial-fldfunordelt)

    - [`CharacteristicPolynomial(a): FldFunElt → RngUPolElt`](elements.md#function-characteristicpolynomial-fldfunelt)

    - [`CharacteristicPolynomial(a): RngFunOrdElt → RngUPolElt`](elements.md#function-characteristicpolynomial-rngfunordelt)

    - [`RepresentationMatrix(a): FldFunGElt → AlgMatElt`](elements.md#function-representationmatrix-fldfungelt)

    - [`RepresentationMatrix(a): RngFunOrdElt → AlgMatElt`](elements.md#function-representationmatrix-rngfunordelt)

    - [`Trace(a, R): FldFunElt, Rng → RngElt`](elements.md#function-trace-fldfunelt-rng)

    - [`Trace(a, R): RngFunOrdElt, Rng → RngElt`](elements.md#function-trace-rngfunordelt-rng)

    - [`Norm(a, R): FldFunElt, Rng → RngElt`](elements.md#function-norm-fldfunelt-rng)

    - [`Norm(a, R): RngFunOrdElt, Rng → RngElt`](elements.md#function-norm-rngfunordelt-rng)

    - [`CharacteristicPolynomial(a, R): FldFunElt, Rng → RngUPolElt`](elements.md#function-characteristicpolynomial-fldfunelt-rng)

    - [`CharacteristicPolynomial(a, R): RngFunOrdElt, Rng → RngUPolElt`](elements.md#function-characteristicpolynomial-rngfunordelt-rng)

    - [`MinimalPolynomial(a, R): FldFunElt, Rng → RngUPolElt`](elements.md#function-minimalpolynomial-fldfunelt-rng)

    - [`MinimalPolynomial(a, R): RngFunOrdElt, Rng → RngUPolElt`](elements.md#function-minimalpolynomial-rngfunordelt-rng)

    - [`AbsoluteMinimalPolynomial(a): FldFunElt → RngUPolElt`](elements.md#function-absoluteminimalpolynomial-fldfunelt)

    - [`RepresentationMatrix(a, R): FldFunGElt, Rng → AlgMatElt`](elements.md#function-representationmatrix-fldfungelt-rng)

    - [`RepresentationMatrix(a, R): RngFunOrdElt, Rng → AlgMatElt`](elements.md#function-representationmatrix-rngfunordelt-rng)

    - [`Example: Elements Norm Trace`](elements.md#example-ex-2d04b2)

  - [Functions related to Orders and Integrality](elements.md#functions-related-to-orders-and-integrality)

    - [`IntegralSplit(a, O): FldFunElt, RngFunOrd → RngFunOrdElt, RngElt`](elements.md#function-integralsplit-fldfunelt-rngfunord)

    - [`IntegralSplit(a, O): RngFunOrdElt, RngFunOrd → RngFunOrdElt, RngElt`](elements.md#function-integralsplit-rngfunordelt-rngfunord)

    - [`IntegralSplit(a, O): FldFunOrdElt, RngFunOrd → RngFunOrdElt, RngElt`](elements.md#function-integralsplit-fldfunordelt-rngfunord)

    - [`Numerator(a, O): FldFunElt, RngFunOrd → RngFunOrdElt`](elements.md#function-numerator-fldfunelt-rngfunord)

    - [`Numerator(a): FldFunOrdElt → RngFunOrdElt`](elements.md#function-numerator-fldfunordelt)

    - [`Numerator(a, O): FldFunOrdElt, RngFunOrd → RngElt`](elements.md#function-numerator-fldfunordelt-rngfunord)

    - [`Denominator(a, O): FldFunElt, RngFunOrd → RngElt`](elements.md#function-denominator-fldfunelt-rngfunord)

    - [`Denominator(a): FldFunOrdElt → RngElt`](elements.md#function-denominator-fldfunordelt)

    - [`Denominator(a, O): FldFunOrdElt, RngFunOrd → RngElt`](elements.md#function-denominator-fldfunordelt-rngfunord)

    - [`Min(a, O): FldFunElt, RngFunOrd → RngElt, RngElt`](elements.md#function-min-fldfunelt-rngfunord)

    - [`Minimum(a, O): FldFunElt, RngFunOrd → RngElt, RngElt`](elements.md#function-minimum-fldfunelt-rngfunord)

    - [`Minimum(a, O): RngFunOrdElt, RngFunOrd → RngElt, RngElt`](elements.md#function-minimum-rngfunordelt-rngfunord)

    - [`Min(a, O): RngFunOrdElt, RngFunOrd → RngElt, RngElt`](elements.md#function-min-rngfunordelt-rngfunord)

  - [Functions related to Places and Divisors](elements.md#functions-related-to-places-and-divisors)

    - [`Evaluate(a, P): FldFunElt, PlcFunElt → RngElt`](elements.md#function-evaluate-fldfunelt-plcfunelt)

    - [`Evaluate(a, P): RngFunOrdElt, PlcFunElt → RngElt`](elements.md#function-evaluate-rngfunordelt-plcfunelt)

    - [`Lift(a, P): RngElt, PlcFunElt → FldFunElt`](elements.md#function-lift-rngelt-plcfunelt)

    - [`Valuation(a, P): FldFunElt, PlcFunElt → RngIntElt`](elements.md#function-valuation-fldfunelt-plcfunelt)

    - [`Valuation(a, P): RngFunOrdElt, PlcFunElt → RngIntElt`](elements.md#function-valuation-rngfunordelt-plcfunelt)

    - [`Expand(a, P): FldFunGElt, PlcFunElt → RngSerElt, FldFunGElt`](elements.md#function-expand-fldfungelt-plcfunelt)

    - [`Development(a, P): FldFunGElt, PlcFunElt → RngSerElt`](elements.md#function-development-fldfungelt-plcfunelt)

    - [`Divisor(a): FldFunGElt → DivFunElt`](elements.md#function-divisor-fldfungelt)

    - [`Divisor(a): RngFunOrdElt → DivFunElt`](elements.md#function-divisor-rngfunordelt)

    - [`PrincipalDivisor(a): FldFunGElt → DivFunElt`](elements.md#function-principaldivisor-fldfungelt)

    - [`PrincipalDivisor(a): RngFunOrdElt → DivFunElt`](elements.md#function-principaldivisor-rngfunordelt)

    - [`Zeros(a): FldFunGElt → [PlcFunElt]`](elements.md#function-zeros-fldfungelt)

    - [`Zeros(a): RngFunOrdElt → [PlcFunElt]`](elements.md#function-zeros-rngfunordelt)

    - [`Zeroes(a): FldFunGElt → [PlcFunElt]`](elements.md#function-zeroes-fldfungelt)

    - [`Zeroes(a): RngFunOrdElt → [PlcFunElt]`](elements.md#function-zeroes-rngfunordelt)

    - [`Zeros(F, a): FldFunG, FldFunGElt → [PlcFunElt]`](elements.md#function-zeros-fldfung-fldfungelt)

    - [`Zeroes(F, a): FldFunG, FldFunGElt → [PlcFunElt]`](elements.md#function-zeroes-fldfung-fldfungelt)

    - [`Poles(a): FldFunGElt → SeqEnum[PlcFunElt]`](elements.md#function-poles-fldfungelt)

    - [`Poles(a): RngFunOrdElt → SeqEnum[PlcFunElt]`](elements.md#function-poles-rngfunordelt)

    - [`Poles(F, a): FldFun, FldFunGElt → [PlcFunElt]`](elements.md#function-poles-fldfun-fldfungelt)

    - [`Degree(a): FldFunElt → RngIntElt`](elements.md#function-degree-fldfunelt)

    - [`Degree(a): RngFunOrdElt → RngIntElt`](elements.md#function-degree-rngfunordelt)

    - [`CommonZeros(L): [FldFunGElt] → [PlcFunElt]`](elements.md#function-commonzeros-fldfungelt)

    - [`CommonZeros(F, L): FldFunG, SeqEnum[ FldFunGElt ] → SeqEnum[ PlcFunElt ]`](elements.md#function-commonzeros-fldfung-seqenum-fldfungelt)

    - [`Example: elements`](elements.md#example-ex-0c032c)

    - [`Module(L, R): SeqEnum[ FldFunGElt ], Rng → Mod, Map, SeqEnum[ ModElt ]`](elements.md#function-module-seqenum-fldfungelt-rng)

    - [`Relations(L, R): SeqEnum[ FldFunElt ], Rng → ModTupRng`](elements.md#function-relations-seqenum-fldfunelt-rng)

    - [`Relations(L, R, m): SeqEnum[ FldFunElt ], Rng, RngIntElt → ModTupRng`](elements.md#function-relations-seqenum-fldfunelt-rng-rngintelt)

    - [`Roots(f, D): RngUPolElt, DivFunElt → SeqEnum[ FldFunElt ]`](elements.md#function-roots-rngupolelt-divfunelt)

    - [`Example: module`](elements.md#example-ex-7f09fd)

  - [Other Operations on Elements](elements.md#other-operations-on-elements)

    - [`ProductRepresentation(a): FldFunGElt → [FldFunGElt], [RngIntElt]`](elements.md#function-productrepresentation-fldfungelt)

    - [`ProductRepresentation(a): RngFunOrdElt → [RngElt], [RngIntElt]`](elements.md#function-productrepresentation-rngfunordelt)

    - [`ProductRepresentation(Q, S): [FldFunGElt], [RngIntElt] → FldFunGElt`](elements.md#function-productrepresentation-fldfungelt-rngintelt)

    - [`PowerProduct(Q, S): [FldFunGElt], [RngIntElt] → FldFunGElt`](elements.md#function-powerproduct-fldfungelt-rngintelt)

    - [`RationalFunction(a): FldFunGElt → RngElt`](elements.md#function-rationalfunction-fldfungelt)

    - [`RationalFunction(a, R): FldFunGElt, Rng → RngElt`](elements.md#function-rationalfunction-fldfungelt-rng)

    - [`Differentiation(x, a): FldFunGElt, FldFunGElt → FldFunGElt`](elements.md#function-differentiation-fldfungelt-fldfungelt)

    - [`Differentiation(x, n, a): FldFunGElt, RngIntElt, FldFunGElt → FldFunGElt`](elements.md#function-fldfungelt-differentiation)

    - [`DifferentiationSequence(x, n, a): FldFunGElt, RngIntElt, FldFunGElt → SeqEnum`](elements.md#function-differentiationsequence-fldfungelt-rngintelt-fldfungelt)

    - [`PrimePowerRepresentation(x, k, a): FldFunGElt, RngIntElt, FldFunGElt → SeqEnum`](elements.md#function-primepowerrepresentation-fldfungelt-rngintelt-fldfungelt)

    - [`Different(a): RngFunOrdElt → RngFunOrdElt`](elements.md#function-different-rngfunordelt)

    - [`RationalReconstruction(e, f): FldFunElt, RngUPolElt → BoolElt, FldFunElt`](elements.md#function-rationalreconstruction-fldfunelt-rngupolelt)

    - [`CoefficientHeight(a): RngFunOrdElt → RngIntElt`](elements.md#function-coefficientheight-rngfunordelt)

    - [`CoefficientHeight(a): FldFunElt → RngIntElt`](elements.md#function-coefficientheight-fldfunelt)

    - [`CoefficientLength(a): RngFunOrdElt → RngIntElt`](elements.md#function-coefficientlength-rngfunordelt)

    - [`CoefficientLength(a): FldFunElt → RngIntElt`](elements.md#function-coefficientlength-fldfunelt)

    - [`Example: Elements Other Ops`](elements.md#example-ex-d8f7df)

- [Ideals](ideals.md)

  - [Creation of Ideals](ideals.md#creation-of-ideals)

    - [`ideal< O | a₁, a₂, ... , aₘ >: RngFunOrd, RngElt, ..., RngElt → RngFunOrdIdl`](ideals.md#constructor-constructor-ideal-rngfunord-rngelt-rngelt-rngfunordidl)

    - [`ideal< O | T, d >: RngFunOrd, AlgMatElt, RngElt → RngFunOrdIdl`](ideals.md#constructor-constructor-ideal-rngfunord-algmatelt-rngelt-rngfunordidl)

    - [`ideal< O | T, d >: RngFunOrd, ModDed, RngElt → RngFunOrdIdl`](ideals.md#constructor-constructor-ideal-rngfunord-modded-rngelt-rngfunordidl)

    - [`ideal< O | T, S >: RngFunOrd, AlgMatElt, [RngFunOrdIdl] → RngFunOrdIdl`](ideals.md#constructor-constructor-ideal-rngfunord-algmatelt-rngfunordidl-rngfunordidl)

    - [`ideal< O | T, I₁, ..., Iₙ >: RngFunOrd, AlgMatElt, RngFunOrdIdl, ..., RngFunOrdIdl → RngFunOrdIdl`](ideals.md#constructor-constructor-ideal-rngfunord-algmatelt-rngfunordidl-rngfunordidl-rngfunordidl)

    - [`x * O: RngElt, RngFunOrd → RngFunOrdIdl`](ideals.md#operation-op-times-rngelt-rngfunord)

    - [`O * x: RngFunOrd, RngElt → RngFunOrdIdl`](ideals.md#operation-op-times-rngfunord-rngelt)

    - [`Ideal(P): PlcFunElt → RngFunOrdIdl`](ideals.md#function-ideal-plcfunelt)

    - [`Ideals(D): DivFunElt → RngFunOrdIdl, RngFunOrdIdl`](ideals.md#function-ideals-divfunelt)

    - [`O !! I: RngFunOrd, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#operation-op-rngfunord-rngfunordidl)

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

    - [`Parent(I): RngFunOrdIdl → PowIdl`](ideals.md#function-parent-rngfunordidl)

    - [`Category(I): RngFunOrdIdl → Cat`](ideals.md#function-category-rngfunordidl)

  - [Arithmetic Operators](ideals.md#arithmetic-operators)

    - [`I + J: RngFunOrdIdl, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#operation-op-plus-rngfunordidl-rngfunordidl)

    - [`I * J: RngFunOrdIdl, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#operation-op-times-rngfunordidl-rngfunordidl)

    - [`I / J: RngFunOrdIdl, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#operation-op-div-rngfunordidl-rngfunordidl)

    - [`I ^ k: RngFunOrdIdl, RngIntElt → RngFunOrdIdl`](ideals.md#operation-op-pow-rngfunordidl-rngintelt)

    - [`c * I: RngElt, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#operation-op-times-rngelt-rngfunordidl)

    - [`I * c: RngFunOrdIdl, RngElt → RngFunOrdIdl`](ideals.md#operation-op-times-rngfunordidl-rngelt)

    - [`I / c: RngFunOrdIdl, RngElt → RngFunOrdIdl`](ideals.md#operation-op-div-rngfunordidl-rngelt)

    - [`c / I: RngElt, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#operation-op-div-rngelt-rngfunordidl)

    - [`IdealQuotient(I, J): RngFunOrdIdl, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-idealquotient-rngfunordidl-rngfunordidl)

    - [`ColonIdeal(I, J): RngFunOrdIdl, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-colonideal-rngfunordidl-rngfunordidl)

    - [`ChineseRemainderTheorem(I1, I2, e1, e2): RngFunOrdIdl, RngFunOrdIdl, RngFunOrdElt, RngFunOrdElt → RngFunOrdElt`](ideals.md#function-chineseremaindertheorem-rngfunordidl-rngfunordidl-rngfunordelt-rngfunordelt)

    - [`CRT(I1, I2, e1, e2): RngFunOrdIdl, RngFunOrdIdl, RngFunOrdElt, RngFunOrdElt → RngOrdElt`](ideals.md#function-crt-rngfunordidl-rngfunordidl-rngfunordelt-rngfunordelt)

  - [Roots of Ideals](ideals.md#roots-of-ideals)

    - [`IsPower(I, n): RngFunOrdIdl, RngIntElt → BoolElt, RngFunOrdIdl`](ideals.md#function-ispower-rngfunordidl-rngintelt)

    - [`Root(I, n): RngFunOrdIdl, RngIntElt → RngFunOrdIdl`](ideals.md#function-root-rngfunordidl-rngintelt)

    - [`IsSquare(I): RngFunOrdIdl → BoolElt, RngFunOrdIdl`](ideals.md#function-issquare-rngfunordidl)

    - [`SquareRoot(I): RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-squareroot-rngfunordidl)

    - [`Sqrt(I): RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-sqrt-rngfunordidl)

    - [`Example: Ideal Is Square`](ideals.md#example-ex-eaf22a)

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

    - [`I eq J: RngFunOrdIdl, RngFunOrdIdl → BoolElt`](ideals.md#operation-op-eq-rngfunordidl-rngfunordidl)

    - [`I ne J: RngFunOrdIdl, RngFunOrdIdl → BoolElt`](ideals.md#operation-op-ne-rngfunordidl-rngfunordidl)

    - [`I in S: RngFunOrdIdl, PowIdl → BoolElt`](ideals.md#operation-op-in-rngfunordidl-powidl)

    - [`I notin S: RngFunOrdIdl, PowIdl → BoolElt`](ideals.md#operation-op-notin-rngfunordidl-powidl)

  - [Predicates on Ideals](ideals.md#predicates-on-ideals)

    - [`IsZero(I): RngFunOrdIdl → BoolElt`](ideals.md#function-iszero-rngfunordidl)

    - [`IsOne(I): RngFunOrdIdl → BoolElt`](ideals.md#function-isone-rngfunordidl)

    - [`IsIntegral(I): RngFunOrdIdl → BoolElt`](ideals.md#function-isintegral-rngfunordidl)

    - [`IsPrime(I): RngFunOrdIdl → BoolElt`](ideals.md#function-isprime-rngfunordidl)

    - [`IsPrincipal(I): RngFunOrdIdl → BoolElt, FldFunElt`](ideals.md#function-isprincipal-rngfunordidl)

    - [Predicates on Prime Ideals](ideals.md#predicates-on-prime-ideals)

      - [`IsInert(P): RngFunOrdIdl → BoolElt`](ideals.md#function-isinert-rngfunordidl)

      - [`IsInert(P, O): RngFunOrdIdl, RngFunOrd → BoolElt`](ideals.md#function-isinert-rngfunordidl-rngfunord)

      - [`IsInert(P, O): RngElt, RngFunOrd → BoolElt`](ideals.md#function-isinert-rngelt-rngfunord)

      - [`IsRamified(P): RngFunOrdIdl → BoolElt`](ideals.md#function-isramified-rngfunordidl)

      - [`IsRamified(P, O): RngFunOrdIdl, RngFunOrd → BoolElt`](ideals.md#function-isramified-rngfunordidl-rngfunord)

      - [`IsRamified(P, O): RngElt, RngFunOrd → BoolElt`](ideals.md#function-isramified-rngelt-rngfunord)

      - [`IsSplit(P): RngFunOrdIdl → BoolElt`](ideals.md#function-issplit-rngfunordidl)

      - [`IsSplit(P, O): RngFunOrdIdl, RngFunOrd → BoolElt`](ideals.md#function-issplit-rngfunordidl-rngfunord)

      - [`IsSplit(P, O): RngElt, RngFunOrd → BoolElt`](ideals.md#function-issplit-rngelt-rngfunord)

      - [`IsTamelyRamified(P): RngFunOrdIdl → BoolElt`](ideals.md#function-istamelyramified-rngfunordidl)

      - [`IsTamelyRamified(P, O): RngFunOrdIdl, RngFunOrd → BoolElt`](ideals.md#function-istamelyramified-rngfunordidl-rngfunord)

      - [`IsTamelyRamified(P, O): RngElt, RngFunOrd → BoolElt`](ideals.md#function-istamelyramified-rngelt-rngfunord)

      - [`IsTotallyRamified(P): RngFunOrdIdl → BoolElt`](ideals.md#function-istotallyramified-rngfunordidl)

      - [`IsTotallyRamified(P, O): RngFunOrdIdl, RngFunOrd → BoolElt`](ideals.md#function-istotallyramified-rngfunordidl-rngfunord)

      - [`IsTotallyRamified(P, O): RngElt, RngFunOrd → BoolElt`](ideals.md#function-istotallyramified-rngelt-rngfunord)

      - [`IsTotallySplit(P): RngFunOrdIdl → BoolElt`](ideals.md#function-istotallysplit-rngfunordidl)

      - [`IsTotallySplit(P, O): RngFunOrdIdl, RngFunOrd → BoolElt`](ideals.md#function-istotallysplit-rngfunordidl-rngfunord)

      - [`IsTotallySplit(P, O): RngElt, RngFunOrd → BoolElt`](ideals.md#function-istotallysplit-rngelt-rngfunord)

      - [`IsUnramified(P): RngFunOrdIdl → BoolElt`](ideals.md#function-isunramified-rngfunordidl)

      - [`IsUnramified(P, O): RngFunOrdIdl, RngFunOrd → BoolElt`](ideals.md#function-isunramified-rngfunordidl-rngfunord)

      - [`IsUnramified(P, O): RngElt, RngFunOrd → BoolElt`](ideals.md#function-isunramified-rngelt-rngfunord)

      - [`IsWildlyRamified(P): RngFunOrdIdl → BoolElt`](ideals.md#function-iswildlyramified-rngfunordidl)

      - [`IsWildlyRamified(P, O): RngFunOrdIdl, RngFunOrd → BoolElt`](ideals.md#function-iswildlyramified-rngfunordidl-rngfunord)

      - [`IsWildlyRamified(P, O): RngElt, RngFunOrd → BoolElt`](ideals.md#function-iswildlyramified-rngelt-rngfunord)

  - [Further Ideal Operations](ideals.md#further-ideal-operations)

    - [`I meet J: RngFunOrdIdl, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#operation-op-meet-rngfunordidl-rngfunordidl)

    - [`Gcd(I, J): RngFunOrdIdl, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-gcd-rngfunordidl-rngfunordidl)

    - [`Lcm(I, J): RngFunOrdIdl, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-lcm-rngfunordidl-rngfunordidl)

    - [`Factorization(I): RngFunOrdIdl → [ <RngFunOrdIdl, RngIntElt> ]`](ideals.md#function-factorization-rngfunordidl)

    - [`Factorisation(I): RngFunOrdIdl → [<RngFunOrdIdl, RngIntElt>]`](ideals.md#function-factorisation-rngfunordidl)

    - [`Decomposition(O, p): RngFunOrd, RngElt → [ RngFunOrdIdl ]`](ideals.md#function-decomposition-rngfunord-rngelt)

    - [`Decomposition(O, p): RngFunOrd, RngFunOrdIdl → [ RngFunOrdIdl ]`](ideals.md#function-decomposition-rngfunord-rngfunordidl)

    - [`Decomposition(O): RngFunOrd → [ RngFunOrdIdl ]`](ideals.md#function-decomposition-rngfunord)

    - [`DecompositionType(O, p): RngFunOrd, RngElt → [ <RngIntElt, RngIntElt> ]`](ideals.md#function-decompositiontype-rngfunord-rngelt)

    - [`DecompositionType(O, p): RngFunOrd, RngFunOrdIdl → [ <RngIntElt, RngIntElt> ]`](ideals.md#function-decompositiontype-rngfunord-rngfunordidl)

    - [`DecompositionType(O): RngFunOrd → [ <RngIntElt, RngIntElt> ]`](ideals.md#function-decompositiontype-rngfunord)

    - [`MultiplicatorRing(I): RngFunOrdIdl → RngFunOrd`](ideals.md#function-multiplicatorring-rngfunordidl-2)

    - [`pMaximalOrder(O, p): RngFunOrd, RngFunOrdIdl → RngFunOrd`](ideals.md#function-pmaximalorder-rngfunord-rngfunordidl-2)

    - [`pRadical(O, p): RngFunOrd, RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-pradical-rngfunord-rngfunordidl-2)

    - [`Valuation(a, P): RngElt, RngFunOrdIdl → RngIntElt`](ideals.md#function-valuation-rngelt-rngfunordidl)

    - [`Valuation(I, P): RngFunOrdIdl, RngFunOrdIdl → RngIntElt`](ideals.md#function-valuation-rngfunordidl-rngfunordidl)

    - [`Order(I): RngFunOrdIdl → RngFunOrd`](ideals.md#function-order-rngfunordidl)

    - [`Denominator(I): RngFunOrdIdl → RngElt`](ideals.md#function-denominator-rngfunordidl)

    - [`Minimum(I): RngFunOrdIdl → Any`](ideals.md#function-minimum-rngfunordidl)

    - [`I meet R: RngFunOrdIdl, Rng → Any`](ideals.md#operation-op-meet-rngfunordidl-rng)

    - [`IntegralSplit(I): RngFunOrdIdl → RngFunOrdIdl, RngElt`](ideals.md#function-integralsplit-rngfunordidl)

    - [`Norm(I): RngFunOrdIdl → Any`](ideals.md#function-norm-rngfunordidl)

    - [`TwoElement(I): RngFunOrdIdl → RngElt, RngElt`](ideals.md#function-twoelement-rngfunordidl)

    - [`Generators(I): RngFunOrdIdl → [ RngFunOrdElt ]`](ideals.md#function-generators-rngfunordidl)

    - [`Basis(I): RngFunOrdIdl → [FldFunElt]`](ideals.md#function-basis-rngfunordidl)

    - [`Basis(I, R): RngFunOrdIdl, Rng → [ RngElt ]`](ideals.md#function-basis-rngfunordidl-rng)

    - [`BasisMatrix(I): RngFunOrdIdl → AlgMatElt`](ideals.md#function-basismatrix-rngfunordidl)

    - [`TransformationMatrix(I): RngFunOrdIdl → AlgMatElt, RngElt`](ideals.md#function-transformationmatrix-rngfunordidl)

    - [`CoefficientIdeals(I): RngFunOrdIdl → [RngFunOrdIdl]`](ideals.md#function-coefficientideals-rngfunordidl)

    - [`Different(I): RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-different-rngfunordidl)

    - [`Codifferent(I): RngFunOrdIdl → RngFunOrdIdl`](ideals.md#function-codifferent-rngfunordidl)

    - [`Divisor(I): RngFunOrdIdl → DivFunElt`](ideals.md#function-divisor-rngfunordidl)

    - [`Divisor(I, J): RngFunOrdIdl, RngFunOrdIdl → DivFunElt`](ideals.md#function-divisor-rngfunordidl-rngfunordidl)

    - [`CoefficientHeight(I): RngFunOrdIdl → RngIntElt`](ideals.md#function-coefficientheight-rngfunordidl)

    - [`CoefficientLength(I): RngFunOrdIdl → RngIntElt`](ideals.md#function-coefficientlength-rngfunordidl)

    - [`Example: ideals`](ideals.md#example-ex-bdacf7)

    - [Functions on Prime Ideals](ideals.md#functions-on-prime-ideals)

      - [`RamificationIndex(I): RngFunOrdIdl → RngIntElt`](ideals.md#function-ramificationindex-rngfunordidl)

      - [`RamificationDegree(I): RngFunOrdIdl → RngIntElt`](ideals.md#function-ramificationdegree-rngfunordidl)

      - [`Degree(I): RngFunOrdIdl → RngIntElt`](ideals.md#function-degree-rngfunordidl)

      - [`InertiaDegree(I): RngFunOrdIdl → RngIntElt`](ideals.md#function-inertiadegree-rngfunordidl)

      - [`ResidueClassDegree(I): RngFunOrdIdl → RngIntElt`](ideals.md#function-residueclassdegree-rngfunordidl)

      - [`ResidueClassField(I): RngFunOrdIdl → Rng, Map`](ideals.md#function-residueclassfield-rngfunordidl)

      - [`Place(I): RngFunOrdIdl → PlcFunElt`](ideals.md#function-place-rngfunordidl)

      - [`SafeUniformizer(P): RngFunOrdIdl → RngFunOrdElt`](ideals.md#function-safeuniformizer-rngfunordidl)

      - [`WeakApproximation(I, V): [RngFunOrdIdl], [RngIntElt] → FldFunElt`](ideals.md#function-weakapproximation-rngfunordidl-rngintelt)

      - [`Example: Order Ideals`](ideals.md#example-ex-a0157f)

  - [Quotient Rings](ideals.md#quotient-rings)

    - [Operations on Quotient Rings](ideals.md#operations-on-quotient-rings)

      - [`quo< O | I >: RngFunOrd, RngFunOrdIdl → RngFunOrdRes`](ideals.md#constructor-constructor-quo-rngfunord-rngfunordidl-rngfunordres)

      - [`quo< O | M >: RngFunOrd, ModDed → RngFunOrdRes`](ideals.md#constructor-constructor-quo-rngfunord-modded-rngfunordres)

      - [`quo< O | M >: RngFunOrd, AlgMatElt → RngFunOrdRes`](ideals.md#constructor-constructor-quo-rngfunord-algmatelt-rngfunordres)

      - [`quo< O | S >: RngFunOrd, RngElt, ..., RngElt → RngFunOrdRes`](ideals.md#constructor-constructor-quo-rngfunord-rngelt-rngelt-rngfunordres)

      - [`quo< O | p >: RngFunOrd, RngUPolElt → RngFunOrdRes`](ideals.md#constructor-constructor-quo-rngfunord-rngupolelt-rngfunordres)

      - [`quo< O | p, r >: RngFunOrd, RngUPolElt, RngIntElt → RngFunOrdRes`](ideals.md#constructor-constructor-quo-rngfunord-rngupolelt-rngintelt-rngfunordres)

      - [`Modulus(OQ): RngFunOrdRes → RngFunOrdIdl`](ideals.md#function-modulus-rngfunordres)

      - [`Example: quotient`](ideals.md#example-ex-d5cfa1)

    - [Elements of Quotients](ideals.md#elements-of-quotients)

      - [`OQ ! a: RngFunOrdRes, Elt → RngFunOrdResElt`](ideals.md#operation-op-rngfunordres-elt)

      - [`a mod I: RngFunOrdElt, RngFunOrdIdl → RngFunOrdElt`](ideals.md#operation-operation-mod-rngfunordelt-rngfunordidl-rngfunordelt)

      - [`a * b: RngFunOrdResElt, RngFunOrdResElt → RngFunOrdResElt`](ideals.md#operation-op-times-rngfunordreselt-rngfunordreselt)

      - [`a + b: RngFunOrdResElt, RngFunOrdResElt → RngFunOrdResElt`](ideals.md#operation-op-plus-rngfunordreselt-rngfunordreselt)

      - [`a - b: RngFunOrdResElt, RngFunOrdResElt → RngFunOrdResElt`](ideals.md#operation-op-minus-rngfunordreselt-rngfunordreselt)

      - [`a / b: RngFunOrdResElt, RngFunOrdResElt → RngFunOrdResElt`](ideals.md#operation-op-div-rngfunordreselt-rngfunordreselt)

      - [`- a: RngFunOrdResElt → RngFunOrdResElt`](ideals.md#operation-operation-rngfunordreselt-rngfunordreselt)

      - [`a ^ n: RngFunOrdResElt, RngIntElt → RngFunOrdResElt`](ideals.md#operation-op-pow-rngfunordreselt-rngintelt)

      - [`a eq b: RngFunOrdResElt, RngFunOrdResElt → BoolElt`](ideals.md#operation-op-eq-rngfunordreselt-rngfunordreselt)

      - [`a ne b: RngFunOrdResElt, RngFunOrdResElt → BoolElt`](ideals.md#operation-op-ne-rngfunordreselt-rngfunordreselt)

      - [`IsZero(a): RngFunOrdResElt → BoolElt`](ideals.md#function-iszero-rngfunordreselt)

      - [`IsOne(a): RngFunOrdResElt → BoolElt`](ideals.md#function-isone-rngfunordreselt)

      - [`IsMinusOne(a): RngFunOrdResElt → BoolElt`](ideals.md#function-isminusone-rngfunordreselt)

      - [`IsUnit(a): RngFunOrdResElt → BoolElt`](ideals.md#function-isunit-rngfunordreselt)

      - [`Eltseq(a): RngFunOrdResElt → []`](ideals.md#function-eltseq-rngfunordreselt)

      - [`ElementToSequence(a): RngFunOrdResElt → []`](ideals.md#function-elementtosequence-rngfunordreselt)

- [Places](Places.md)

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

    - [`Places(F): FldFun → PlcFun`](Places.md#function-places-fldfun)

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

    - [General Function Field Places](Places.md#general-function-field-places)

      - [`Decomposition(F, P): FldFunG, PlcFunElt → [ PlcFunElt ]`](Places.md#function-fldfung-decomp)

      - [`DecompositionType(F, P): FldFun, PlcFunElt → [ <RngIntElt, RngIntElt> ]`](Places.md#function-decompositiontype-fldfun-plcfunelt)

      - [`Zeros(a): FldFunElt → [ PlcFunElt ]`](Places.md#function-zeros-fldfunelt)

      - [`Zeros(a): RngFunOrdElt → [ PlcFunElt ]`](Places.md#function-zeros-rngfunordelt-2)

      - [`Poles(a): FldFunElt → [ PlcFunElt ]`](Places.md#function-poles-fldfunelt)

      - [`Poles(a): RngFunOrdElt → [ PlcFunElt ]`](Places.md#function-poles-rngfunordelt-2)

      - [`S ! I: PlcFun, RngFunOrdIdl → PlcFunElt`](Places.md#operation-op-plcfun-rngfunordidl)

      - [`Place(I): RngFunOrdIdl → PlcFunElt`](Places.md#function-place-rngfunordidl-2)

      - [`Support(D): DivFunElt → [ PlcFunElt ], [ RngIntElt ]`](Places.md#function-support-divfunelt)

      - [`Support(P): PlcFunElt → [ PlcFunElt ], [ RngIntElt ]`](Places.md#function-support-plcfunelt)

      - [`AssignNames(~P, s): PlcFunElt, [ MonStgElt ]`](Places.md#function-assignnames-plcfunelt-monstgelt-ref)

      - [`InfinitePlaces(F): FldFun → [PlcFunElt]`](Places.md#function-infiniteplaces-fldfun)

    - [Global Function Field Places](Places.md#global-function-field-places)

      - [`HasPlace(F, m): FldFun, RngIntElt → PlcFunElt`](Places.md#function-hasplace-fldfun-rngintelt)

      - [`HasRandomPlace(F, m): FldFun, RngIntElt → BoolElt, PlcFunElt`](Places.md#function-hasrandomplace-fldfun-rngintelt)

      - [`RandomPlace(F, m): FldFun, RngIntElt → PlcFunElt`](Places.md#function-randomplace-fldfun-rngintelt)

      - [`Places(F, m): FldFun, RngIntElt → SeqEnum[PlcFunElt]`](Places.md#function-places-fldfun-rngintelt)

      - [`Example: Place Creation`](Places.md#example-ex-92c345)

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

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

      - [`FunctionField(S): PlcFun → FldFun`](Places.md#function-functionfield-plcfun)

      - [`DivisorGroup(F): FldFunG → DivFun`](Places.md#function-divisorgroup-fldfung)

  - [Structure Invariants](Places.md#structure-invariants)

    - [General Function Fields](Places.md#general-function-fields)

      - [`WeierstrassPlaces(F): FldFunG → [PlcFunElt]`](Places.md#function-weierstrassplaces-fldfung-2)

    - [Global Function Fields](Places.md#global-function-fields)

      - [`NumberOfPlacesOfDegreeOneOverExactConstantField(F, m): FldFun, RngIntElt → RngIntElt`](Places.md#function-numberofplacesofdegreeoneoverexactconstantfield-fldfun-rngintelt)

      - [`NumberOfPlacesOfDegreeOneECF(F, m): FldFunG, RngIntElt → RngIntElt`](Places.md#function-numberofplacesofdegreeoneecf-fldfung-rngintelt)

      - [`NumberOfPlacesOfDegreeOneOverExactConstantFieldBound(F, m): FldFun, RngIntElt → RngIntElt`](Places.md#function-numberofplacesofdegreeoneoverexactconstantfieldbound-fldfun-rngintelt)

      - [`NumberOfPlacesOfDegreeOneECFBound(F, m): FldFunG, RngIntElt → RngIntElt`](Places.md#function-numberofplacesofdegreeoneecfbound-fldfung-rngintelt)

      - [`NumberOfPlacesOfDegreeOverExactConstantField(F, m): FldFunG, RngIntElt → RngIntElt`](Places.md#function-numberofplacesofdegreeoverexactconstantfield-fldfung-rngintelt)

      - [`NumberOfPlacesDegECF(F, m): FldFunG, RngIntElt → RngIntElt`](Places.md#function-numberofplacesdegecf-fldfung-rngintelt)

  - [Structure Predicates](Places.md#structure-predicates)

    - [`S1 eq S2: PlcFun, PlcFun → BoolElt`](Places.md#operation-op-eq-plcfun-plcfun)

    - [`S1 ne S2: PlcFun, PlcFun → BoolElt`](Places.md#operation-op-ne-plcfun-plcfun)

  - [Element Operations](Places.md#element-operations)

    - [Parent and Category](Places.md#id2)

      - [`Parent(P): PlcFunElt → PlcFun`](Places.md#function-parent-plcfunelt)

      - [`Category(P): PlcFunElt → Cat`](Places.md#function-category-plcfunelt)

    - [Arithmetic Operators](Places.md#arithmetic-operators)

      - [`- P: PlcFunElt → DivFunElt`](Places.md#operation-operation-plcfunelt-divfunelt)

      - [`P1 + P2: PlcFunElt, PlcFunElt → DivFunElt`](Places.md#operation-op-plus-plcfunelt-plcfunelt)

      - [`P1 - P2: PlcFunElt, PlcFunElt → DivFunElt`](Places.md#operation-op-minus-plcfunelt-plcfunelt)

      - [`k * P: RngIntElt, PlcFunElt → DivFunElt`](Places.md#operation-op-times-rngintelt-plcfunelt)

      - [`P div k: PlcFunElt, RngIntElt → DivFunElt`](Places.md#operation-operation-div-plcfunelt-rngintelt-divfunelt)

      - [`P mod k: PlcFunElt, RngIntElt → DivFunElt`](Places.md#operation-operation-mod-plcfunelt-rngintelt-divfunelt)

      - [`Quotrem(P, k): PlcFunElt, RngIntElt → DivFunElt, DivFunElt`](Places.md#function-quotrem-plcfunelt-rngintelt)

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

      - [`P1 eq P2: PlcFunElt, PlcFunElt → BoolElt`](Places.md#operation-op-eq-plcfunelt-plcfunelt)

      - [`P1 ne P2: PlcFunElt, PlcFunElt → BoolElt`](Places.md#operation-op-ne-plcfunelt-plcfunelt)

      - [`P in S: PlcFunElt, PlcFun → BoolElt`](Places.md#operation-op-in-plcfunelt-plcfun)

      - [`P notin S: PlcFunElt, PlcFun → BoolElt`](Places.md#operation-op-notin-plcfunelt-plcfun)

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

      - [`IsFinite(P): PlcFunElt → BoolElt`](Places.md#function-isfinite-plcfunelt)

      - [`IsWeierstrassPlace(P): PlcFunElt → BoolElt`](Places.md#function-isweierstrassplace-plcfunelt)

      - [`IsWeierstrassPlace(F, P): FldFunG, PlcFunElt → BoolElt`](Places.md#function-isweierstrassplace-fldfung-plcfunelt)

    - [Other Element Operations](Places.md#other-element-operations)

      - [`FunctionField(P): PlcFunElt → FldFun`](Places.md#function-functionfield-plcfunelt)

      - [`Degree(P): PlcFunElt → RngIntElt`](Places.md#function-degree-plcfunelt)

      - [`RamificationIndex(P): PlcFunElt → RngIntElt`](Places.md#function-ramificationindex-plcfunelt)

      - [`RamificationDegree(P): PlcFunElt → RngIntElt`](Places.md#function-ramificationdegree-plcfunelt)

      - [`InertiaDegree(P): PlcFunElt → RngIntElt`](Places.md#function-inertiadegree-plcfunelt)

      - [`ResidueClassDegree(P): PlcFunElt → RngIntElt`](Places.md#function-residueclassdegree-plcfunelt)

      - [`Minimum(P): PlcFunElt → RngElt`](Places.md#function-minimum-plcfunelt)

      - [`ResidueClassField(P): PlcFunElt → Rng, Map`](Places.md#function-residueclassfield-plcfunelt)

      - [`Evaluate(a, P): RngElt, PlcFunElt → RngElt`](Places.md#function-evaluate-rngelt-plcfunelt)

      - [`Lift(a, P): RngElt, PlcFunElt → FldFunElt`](Places.md#function-lift-rngelt-plcfunelt-2)

      - [`Lift(i, P): Infty, PlcFunElt → FldFunElt`](Places.md#function-lift-infty-plcfunelt)

      - [`TwoGenerators(P): PlcFunElt → FldFunGElt, FldFunGElt`](Places.md#function-twogenerators-plcfunelt)

      - [`LocalUniformizer(P): PlcFunElt → FldFunGElt`](Places.md#function-fldfung-localuniformizer)

      - [`UniformizingElement(P): PlcFunElt → FldFunGElt`](Places.md#function-uniformizingelement-plcfunelt)

      - [`Valuation(a, P): FldFunElt, PlcFunElt → RngIntElt`](Places.md#function-valuation-fldfunelt-plcfunelt-2)

      - [`Ideal(P): PlcFunElt → RngFunOrdIdl`](Places.md#function-ideal-plcfunelt-2)

      - [`Norm(P): PlcFunElt → DivFunElt`](Places.md#function-norm-plcfunelt)

      - [`Example: places`](Places.md#example-ex-bbb5e4)

  - [Completion at Places](Places.md#completion-at-places)

    - [`Completion(F, p): FldFun, PlcFunElt → RngSerLaur, Map`](Places.md#function-completion-fldfun-plcfunelt)

    - [`Completion(O, p): RngFunOrd, PlcFunElt → RngSerPow, Map`](Places.md#function-completion-rngfunord-plcfunelt)

- [Divisors](divisors.md)

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

    - [`DivisorGroup(F): FldFun → DivFun`](divisors.md#function-divisorgroup-fldfun-2)

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

    - [`Divisor(P): PlcFunElt → DivFunElt`](divisors.md#function-divisor-plcfunelt)

    - [`Div ! P: DivFun, PlcFunElt → DivFunElt`](divisors.md#operation-op-divfun-plcfunelt)

    - [`1 * P: PlcFunElt → DivFunElt`](divisors.md#operation-operation-plcfunelt-divfunelt)

    - [`Div ! a: DivFun, RngElt → DivFunElt`](divisors.md#operation-op-divfun-rngelt)

    - [`Divisor(a): FldFunElt → DivFunElt`](divisors.md#function-divisor-fldfunelt)

    - [`Divisor(a): RngFunOrdElt → DivFunElt`](divisors.md#function-divisor-rngfunordelt-2)

    - [`Div ! I: DivFun, RngFunOrdIdl → DivFunElt`](divisors.md#operation-op-divfun-rngfunordidl)

    - [`Divisor(I): RngFunOrdIdl → DivFunElt`](divisors.md#function-divisor-rngfunordidl-2)

    - [`Divisor(I, J): RngFunOrdIdl, RngFunOrdIdl → DivFunElt`](divisors.md#function-divisor-rngfunordidl-rngfunordidl-2)

    - [`Identity(G): DivFun → DivFunElt`](divisors.md#function-identity-divfun)

    - [`Id(G): DivFun → DivFunElt`](divisors.md#function-id-divfun)

    - [`CanonicalDivisor(F): FldFunG → DivFunElt`](divisors.md#function-canonicaldivisor-fldfung)

    - [`DifferentDivisor(F): FldFunG → DivFunElt`](divisors.md#function-differentdivisor-fldfung)

    - [`AssignNames(~D, s): DivFunElt, [ MonStgElt ]`](divisors.md#function-assignnames-divfunelt-monstgelt-ref)

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

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

      - [`FunctionField(G): DivFun → FldFun`](divisors.md#function-functionfield-divfun)

      - [`Places(F): FldFun → PlcFun`](divisors.md#function-places-fldfun-2)

  - [Structure Invariants](divisors.md#structure-invariants)

    - [`NumberOfSmoothDivisors(n, m, P): RngIntElt, RngIntElt, SeqEnum[RngElt] → RngElt`](divisors.md#function-numberofsmoothdivisors-rngintelt-rngintelt-seqenum-rngelt)

    - [`DivisorOfDegreeOne(F): FldFunG → DivFunElt`](divisors.md#function-divisorofdegreeone-fldfung)

  - [Structure Predicates](divisors.md#structure-predicates)

    - [`Div1 eq Div2: DivFun, DivFun → BoolElt`](divisors.md#operation-op-eq-divfun-divfun)

    - [`Div1 ne Div2: DivFun, DivFun → BoolElt`](divisors.md#operation-op-ne-divfun-divfun)

  - [Element Operations](divisors.md#element-operations)

    - [Arithmetic Operators](divisors.md#arithmetic-operators)

      - [`- D: DivFunElt → DivFunElt`](divisors.md#operation-operation-divfunelt-divfunelt)

      - [`D1 + D2: DivFunElt, DivFunElt → DivFunElt`](divisors.md#operation-op-plus-divfunelt-divfunelt)

      - [`D1 - D2: DivFunElt, DivFunElt → DivFunElt`](divisors.md#operation-op-minus-divfunelt-divfunelt)

      - [`k * D: RngIntElt, DivFunElt → DivFunElt`](divisors.md#operation-op-times-rngintelt-divfunelt)

      - [`D div k: DivFunElt, RngIntElt → DivFunElt`](divisors.md#operation-operation-div-divfunelt-rngintelt-divfunelt)

      - [`D mod k: DivFunElt, RngIntElt → DivFunElt`](divisors.md#operation-operation-mod-divfunelt-rngintelt-divfunelt)

      - [`P + D: PlcFunElt, DivFunElt → DivFunElt`](divisors.md#operation-op-plus-plcfunelt-divfunelt)

      - [`D + P: DivFunElt, PlcFunElt → DivFunElt`](divisors.md#operation-op-plus-divfunelt-plcfunelt)

      - [`D - P: DivFunElt, PlcFunElt → DivFunElt`](divisors.md#operation-op-minus-divfunelt-plcfunelt)

      - [`P - D: PlcFunElt, DivFunElt → DivFunElt`](divisors.md#operation-op-minus-plcfunelt-divfunelt)

      - [`Quotrem(D, k): DivFunElt, RngIntElt → DivFunElt, DivFunElt`](divisors.md#function-quotrem-divfunelt-rngintelt)

      - [`GCD(D1, D2): DivFunElt, DivFunElt → DivFunElt`](divisors.md#function-gcd-divfunelt-divfunelt)

      - [`Gcd(D1, D2): DivFunElt, DivFunElt → DivFunElt`](divisors.md#function-gcd-divfunelt-divfunelt-2)

      - [`GreatestCommonDivisor(D1, D2): DivFunElt, DivFunElt → DivFunElt`](divisors.md#function-greatestcommondivisor-divfunelt-divfunelt)

      - [`LCM(D1, D2): DivFunElt, DivFunElt → DivFunElt`](divisors.md#function-lcm-divfunelt-divfunelt)

      - [`Lcm(D1, D2): DivFunElt, DivFunElt → DivFunElt`](divisors.md#function-lcm-divfunelt-divfunelt-2)

      - [`LeastCommonMultiple(D1, D2): DivFunElt, DivFunElt → DivFunElt`](divisors.md#function-leastcommonmultiple-divfunelt-divfunelt)

    - [Equality, Comparison and Membership](divisors.md#equality-comparison-and-membership)

      - [`D1 eq D2: DivFunElt, DivFunElt → BoolElt`](divisors.md#operation-op-eq-divfunelt-divfunelt)

      - [`D1 ne D2: DivFunElt, DivFunElt → BoolElt`](divisors.md#operation-op-ne-divfunelt-divfunelt)

      - [`D1 le D2: DivFunElt, DivFunElt → BoolElt`](divisors.md#operation-op-le-divfunelt-divfunelt)

      - [`D1 lt D2: DivFunElt, DivFunElt → BoolElt`](divisors.md#operation-op-lt-divfunelt-divfunelt)

      - [`D1 ge D2: DivFunElt, DivFunElt → BoolElt`](divisors.md#operation-op-ge-divfunelt-divfunelt)

      - [`D1 gt D2: DivFunElt, DivFunElt → BoolElt`](divisors.md#operation-op-gt-divfunelt-divfunelt)

      - [`D in Div: DivFunElt, DivFun → BoolElt`](divisors.md#operation-op-in-divfunelt-divfun)

      - [`D notin Div: DivFunElt, DivFun → BoolElt`](divisors.md#operation-op-notin-divfunelt-divfun)

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

      - [`IsZero(D): DivFunElt → BoolElt`](divisors.md#function-iszero-divfunelt)

      - [`IsEffective(D): DivFunElt → BoolElt`](divisors.md#function-iseffective-divfunelt)

      - [`IsPositive(D): DivFunElt → BoolElt`](divisors.md#function-ispositive-divfunelt)

      - [`IsSpecial(D): DivFunElt → BoolElt`](divisors.md#function-isspecial-divfunelt)

      - [`IsPrincipal(D): DivFunElt → BoolElt, FldFunElt`](divisors.md#function-isprincipal-divfunelt)

      - [`IsCanonical(D): DivFunElt → BoolElt, DiffFunElt`](divisors.md#function-iscanonical-divfunelt)

      - [`Example: Divisors Simple Rel`](divisors.md#example-ex-749efd)

    - [Other Element Operations](divisors.md#other-element-operations)

      - [`FunctionField(D): DivFunElt → FldFun`](divisors.md#function-functionfield-divfunelt)

      - [`Degree(D): DivFunElt → RngIntElt`](divisors.md#function-degree-divfunelt)

      - [`Support(D): DivFunElt → [ PlcFunElt ]`](divisors.md#function-divfunelt-support)

      - [`Numerator(D): DivFunElt → DivFunElt`](divisors.md#function-numerator-divfunelt)

      - [`ZeroDivisor(D): DivFunElt → DivFunElt`](divisors.md#function-zerodivisor-divfunelt)

      - [`Denominator(D): DivFunElt → DivFunElt`](divisors.md#function-denominator-divfunelt)

      - [`PoleDivisor(D): DivFunElt → DivFunElt`](divisors.md#function-poledivisor-divfunelt)

      - [`Ideals(D): DivFunElt → RngFunOrdIdl, RngFunOrdIdl`](divisors.md#function-divfunelt-ideals)

      - [`Norm(D): DivFunElt → DivFunElt`](divisors.md#function-norm-divfunelt)

      - [`FiniteSplit(D): DivFunElt → DivFunElt, DivFunElt`](divisors.md#function-finitesplit-divfunelt)

      - [`FiniteDivisor(D): DivFunElt → DivFunElt`](divisors.md#function-finitedivisor-divfunelt)

      - [`InfiniteDivisor(D): DivFunElt → DivFunElt`](divisors.md#function-infinitedivisor-divfunelt)

      - [`Dimension(D): DivFunElt → RngIntElt`](divisors.md#function-divfunelt-dimension)

      - [`IndexOfSpeciality(D): DivFunElt → RngIntElt`](divisors.md#function-indexofspeciality-divfunelt)

      - [`ShortBasis(D : parameters): DivFunElt → [RngElt], [RngIntElt]`](divisors.md#function-shortbasis-divfunelt)

      - [`Basis(D : parameters): DivFunElt → [ FldFunElt ]`](divisors.md#function-basis-divfunelt)

      - [`RiemannRochSpace(D): DivFunElt → ModFld, Map`](divisors.md#function-riemannrochspace-divfunelt)

      - [`RiemannRochSpace(P): PlcFunElt → ModFld, Map`](divisors.md#function-riemannrochspace-plcfunelt)

      - [`Valuation(D, P): DivFunElt, PlcFunElt → RngIntElt`](divisors.md#function-valuation-divfunelt-plcfunelt)

      - [`Reduction(D): DivFunElt → DivFunElt, RngIntElt, DivFunElt, FldFunElt`](divisors.md#function-divfunelt-reduction)

      - [`Reduction(D, A): DivFunElt, DivFunElt → DivFunElt, RngIntElt, DivFunElt, FldFunElt`](divisors.md#function-reduction-divfunelt-divfunelt)

      - [`GapNumbers(D, P): DivFunElt, PlcFunElt → SeqEnum[RngIntElt]`](divisors.md#function-divfunelt-gapnumbers)

      - [`GapNumbers(D): DivFunElt → SeqEnum[RngIntElt]`](divisors.md#function-gapnumbers-divfunelt)

      - [`Example: divisors`](divisors.md#example-ex-bddf6b)

      - [`Example: Alg Reln1`](divisors.md#example-ex-3b8680)

      - [`Example: Alg Reln2`](divisors.md#example-ex-f4fe11)

      - [`RamificationDivisor(D): DivFunElt → DivFunElt`](divisors.md#function-divfunelt-ramificationdivisor)

      - [`WeierstrassPlaces(D): DivFunElt → [PlcFunElt]`](divisors.md#function-divfunelt-weierstrassplaces)

      - [`IsWeierstrassPlace(D, P): DivFunElt, PlcFunElt → BoolElt`](divisors.md#function-isweierstrassplace-divfunelt-plcfunelt)

      - [`WronskianOrders(D): DivFunElt → [RngIntElt]`](divisors.md#function-divfunelt-wronskianorders)

      - [`ComplementaryDivisor(D): DivFunElt → DivFunElt`](divisors.md#function-divfunelt-complementarydivisor)

      - [`DifferentialBasis(D): DivFunElt → [DiffFunElt]`](divisors.md#function-differentialbasis-divfunelt)

      - [`DifferentialSpace(D): DivFunElt → ModFld, Map`](divisors.md#function-differentialspace-divfunelt)

      - [`Parametrization(F, D): FldFun, DivFunElt → FldFunElt, [FldFunRatUElt]`](divisors.md#function-parametrization-fldfun-divfunelt)

  - [Functions related to Divisor Class Groups of Global Function Fields](divisors.md#functions-related-to-divisor-class-groups-of-global-function-fields)

    - [`ClassGroupGenerationBound(q, g): RngIntElt, RngIntElt → RngIntElt`](divisors.md#function-classgroupgenerationbound-rngintelt-rngintelt)

    - [`ClassGroupGenerationBound(F): FldFunG → RngIntElt`](divisors.md#function-classgroupgenerationbound-fldfung)

    - [`ClassNumberApproximation(F, e): FldFunG, FldReElt → FldReElt`](divisors.md#function-classnumberapproximation-fldfung-fldreelt)

    - [`ClassNumberApproximationBound(q, g, e): RngIntElt, RngIntElt, FldReElt → RngIntElt`](divisors.md#function-classnumberapproximationbound-rngintelt-rngintelt-fldreelt)

    - [`ClassGroup(F : parameters): FldFun → GrpAb, Map, Map`](divisors.md#function-divisors-classes-classgroup)

    - [`ClassGroupAbelianInvariants(F : parameters): FldFun → SeqEnum`](divisors.md#function-divisors-classes-classgroupabelianinvariants)

    - [`ClassNumber(F): FldFun → RngIntElt`](divisors.md#function-classnumber-fldfun)

    - [`Example: Divisors Class`](divisors.md#example-ex-caa2d2)

    - [`GlobalUnitGroup(F): FldFun → GrpAb, Map`](divisors.md#function-globalunitgroup-fldfun)

    - [`IsGlobalUnit(a): FldFunElt → BoolElt`](divisors.md#function-isglobalunit-fldfunelt)

    - [`IsGlobalUnitWithPreimage(a): FldFunElt → BoolElt, GrpAbElt`](divisors.md#function-isglobalunitwithpreimage-fldfunelt)

    - [`PrincipalDivisorMap(F): FldFunG → Map`](divisors.md#function-principaldivisormap-fldfung)

    - [`ClassGroupExactSequence(F): FldFunG → Map, Map, Map`](divisors.md#function-classgroupexactsequence-fldfung)

    - [`SUnitGroup(S): SetEnum[PlcFunElt] → GrpAb, Map`](divisors.md#function-sunitgroup-setenum-plcfunelt)

    - [`IsSUnit(a, S): FldFunElt, SetEnum[PlcFunElt] → BoolElt`](divisors.md#function-issunit-fldfunelt-setenum-plcfunelt)

    - [`IsSUnitWithPreimage(a, S): FldFunElt, SetEnum[PlcFunElt] → BoolElt, GrpAbElt`](divisors.md#function-issunitwithpreimage-fldfunelt-setenum-plcfunelt)

    - [`SRegulator(S): SetEnum[PlcFunElt] → RngIntElt`](divisors.md#function-sregulator-setenum-plcfunelt)

    - [`SPrincipalDivisorMap(S): SetEnum[PlcFunElt] → Map`](divisors.md#function-sprincipaldivisormap-setenum-plcfunelt)

    - [`IsSPrincipal(D, S): DivFunElt, SetEnum[PlcFunElt] → BoolElt, FldFunElt`](divisors.md#function-issprincipal-divfunelt-setenum-plcfunelt)

    - [`SClassGroup(S): SetEnum[PlcFunElt] → GrpAb, Map, Map`](divisors.md#function-sclassgroup-setenum-plcfunelt)

    - [`SClassGroupExactSequence(S): SetEnum[PlcFunElt] → Map, Map, Map`](divisors.md#function-sclassgroupexactsequence-setenum-plcfunelt)

    - [`SClassGroupAbelianInvariants(S): SetEnum[PlcFunElt] → SeqEnum`](divisors.md#function-sclassgroupabelianinvariants-setenum-plcfunelt)

    - [`SClassNumber(S): SetEnum[PlcFunElt] → RngIntElt`](divisors.md#function-sclassnumber-setenum-plcfunelt)

    - [`ClassGroupPRank(F): FldFunG → RngIntElt`](divisors.md#function-divisors-classes-classgroupprank)

    - [`HasseWittInvariant(F): FldFunG → RngIntElt`](divisors.md#function-divisors-classes-hassewittinvariant)

    - [`TateLichtenbaumPairing(D1, D2, m): DivFunElt, DivFunElt, RngIntElt → RngElt`](divisors.md#function-tatelichtenbaumpairing-divfunelt-divfunelt-rngintelt)

    - [`Example: tate`](divisors.md#example-ex-7f9ab0)

- [Differentials](differentials.md)

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

    - [`DifferentialSpace(F): FldFunG → DiffFun`](differentials.md#function-differentialspace-fldfung)

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

    - [`Differential(a): FldFunGElt → DiffFunElt`](differentials.md#function-differential-fldfungelt)

    - [`Differential(a): RngFunOrdElt → DiffFunElt`](differentials.md#function-differential-rngfunordelt)

    - [`Identity(D): DiffFun → DiffFunElt`](differentials.md#function-identity-difffun)

    - [`Id(D): DiffFun → DiffFunElt`](differentials.md#function-id-difffun)

    - [`IsCanonical(D): DivFunElt → BoolElt, DiffFunElt`](differentials.md#function-iscanonical-divfunelt-2)

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

    - [`FunctionField(D): DiffFun → FldFun`](differentials.md#function-functionfield-difffun)

    - [`FunctionField(d): DiffFunElt → FldFun`](differentials.md#function-functionfield-difffunelt)

  - [Subspaces](differentials.md#subspaces)

    - [`SpaceOfDifferentialsFirstKind(F): FldFunG → ModFld, Map`](differentials.md#function-spaceofdifferentialsfirstkind-fldfung)

    - [`SpaceOfHolomorphicDifferentials(F): FldFunG → ModFld, Map`](differentials.md#function-spaceofholomorphicdifferentials-fldfung)

    - [`BasisOfDifferentialsFirstKind(F): FldFunG → SeqEnum[DiffFunElt]`](differentials.md#function-basisofdifferentialsfirstkind-fldfung)

    - [`BasisOfHolomorphicDifferentials(F): FldFunG → SeqEnum[DiffFunElt]`](differentials.md#function-basisofholomorphicdifferentials-fldfung)

    - [`DifferentialBasis(D): DivFunElt → [DiffFunElt]`](differentials.md#function-differentials-subspaces-differentialbasis)

    - [`DifferentialSpace(D): DivFunElt → ModFld, Map`](differentials.md#function-differentialspace-divfunelt-2)

    - [`Example: Div Diff`](differentials.md#example-ex-b69721)

  - [Structure Predicates](differentials.md#structure-predicates)

    - [`D1 eq D2: DiffFun, DiffFun → BoolElt`](differentials.md#operation-op-eq-difffun-difffun)

  - [Operations on Elements](differentials.md#operations-on-elements)

    - [Arithmetic Operators](differentials.md#arithmetic-operators)

      - [`r * x: RngElt, DiffFunElt → DiffFunElt`](differentials.md#operation-op-times-rngelt-difffunelt)

      - [`x * r: DiffFunElt, RngElt → DiffFunElt`](differentials.md#operation-op-times-difffunelt-rngelt)

      - [`x + y: DiffFunElt, DiffFunElt → DiffFunElt`](differentials.md#operation-op-plus-difffunelt-difffunelt)

      - [`- x: DiffFunElt → DiffFunElt`](differentials.md#operation-operation-difffunelt-difffunelt)

      - [`x - y: DiffFunElt, DiffFunElt → DiffFunElt`](differentials.md#operation-op-minus-difffunelt-difffunelt)

      - [`x / y: DiffFunElt, DiffFunElt → FldFunGElt`](differentials.md#operation-op-div-difffunelt-difffunelt)

      - [`x / r: DiffFunElt, RngElt → DiffFunElt`](differentials.md#operation-op-div-difffunelt-rngelt)

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

      - [`x eq y: DiffFunElt, DiffFunElt → BoolElt`](differentials.md#operation-op-eq-difffunelt-difffunelt)

      - [`x in D: Any, DiffFun → BoolElt`](differentials.md#operation-op-in-any-difffun)

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

      - [`IsExact(d): DiffFunElt → BoolElt, FldFunGElt`](differentials.md#function-isexact-difffunelt)

      - [`IsZero(d): DiffFunElt → BoolElt`](differentials.md#function-iszero-difffunelt)

    - [Functions on Elements](differentials.md#functions-on-elements)

      - [`Valuation(d, P): DiffFunElt, PlcFunElt → RngIntElt`](differentials.md#function-valuation-difffunelt-plcfunelt)

      - [`Divisor(d): DiffFunElt → DivFunElt`](differentials.md#function-divisor-difffunelt)

      - [`Residue(d, P): DiffFunElt, PlcFunElt → RngElt`](differentials.md#function-residue-difffunelt-plcfunelt)

      - [`Example: Diff Fun`](differentials.md#example-ex-7c77de)

      - [`Module(L, R): SeqEnum[ DiffFunElt ], Rng → Mod, Map, SeqEnum[ ModElt ]`](differentials.md#function-module-seqenum-difffunelt-rng)

      - [`Relations(L, R): SeqEnum[ DiffFunElt ], Rng → ModTupRng`](differentials.md#function-relations-seqenum-difffunelt-rng)

      - [`Relations(L, R, m): SeqEnum[ DiffFunElt ], Rng, RngIntElt → ModTupRng`](differentials.md#function-relations-seqenum-difffunelt-rng-rngintelt)

      - [`Example: Module Diff`](differentials.md#example-ex-3e031a)

      - [`Cartier(b): DiffFunElt → DiffFunElt`](differentials.md#function-cartier-difffunelt)

      - [`Cartier(b, r): DiffFunElt, RngIntElt → DiffFunElt`](differentials.md#function-cartier-difffunelt-rngintelt)

    - [Other](differentials.md#other)

      - [`CartierRepresentation(F): FldFunG → AlgMatElt, SeqEnum[DiffFunElt]`](differentials.md#function-cartierrepresentation-fldfung)

      - [`CartierRepresentation(F, r): FldFunG, RngIntElt → AlgMatElt, SeqEnum[DiffFunElt]`](differentials.md#function-cartierrepresentation-fldfung-rngintelt)

      - [`Example: Diff Cart`](differentials.md#example-ex-78c02f)

- [Weil Descent](weil_descent.md)

  - [`WeilDescent(E,k): FldFun, FldFin → FldFunG, Map`](weil_descent.md#function-fldfung-weil-desc)

  - [`ArtinSchreierExtension(c,a,b): FldFin, FldFin, FldFin → FldFun`](weil_descent.md#function-artinschreierextension-fldfin-fldfin-fldfin)

  - [`WeilDescentDegree(E,k): FldFun, FldFin → RngIntElt`](weil_descent.md#function-weildescentdegree-fldfun-fldfin)

  - [`WeilDescentGenus(E,k): FldFun, FldFin → RngIntElt`](weil_descent.md#function-weildescentgenus-fldfun-fldfin)

  - [`MultiplyFrobenius(b,f,F): RngElt, RngUPolElt, Map → RngElt`](weil_descent.md#function-multiplyfrobenius-rngelt-rngupolelt-map)

  - [`Example: Ghs Descent`](weil_descent.md#example-ex-469a62)

- [Function Field Database](database.md)

  - [Creation](database.md#creation)

    - [`FunctionFieldDatabase(q, d): RngIntElt, RngIntElt → DB`](database.md#function-functionfielddatabase-rngintelt-rngintelt)

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

  - [Access](database.md#access)

    - [`BaseField(D): DB → FldFin`](database.md#function-basefield-db)

    - [`CoefficientField(D): DB → FldFin`](database.md#function-coefficientfield-db)

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

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

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

    - [`FunctionFields(D): DB → [ FldFunG ]`](database.md#function-functionfields-db)

    - [`Example: Alffdb Basic1`](database.md#example-ex-f1c514)

- [The Montes Algorithm](montes.md)

  - [`Montes(f, p): RngUPolElt, RngUPolElt → SeqEnum, SeqEnum, RngIntElt`](montes.md#function-montes-rngupolelt-rngupolelt)

  - [`Example: Montes Eg 1`](montes.md#example-ex-531fa2)

  - [`Montes(K, p): FldArith, RngElt`](montes.md#function-montes-fldarith-rngelt)

  - [`Example: Montes Eg 2`](montes.md#example-ex-bec397)

  - [`SFL(P, s): OMIdl, RngIntElt`](montes.md#function-sfl-omidl-rngintelt)

  - [`Example: sfl`](montes.md#example-ex-8aed80)

  - [`SetUseMontes(f): BoolElt`](montes.md#function-setusemontes-boolelt)

  - [`SetUseMontes(t, f): Cat, BoolElt`](montes.md#function-setusemontes-cat-boolelt)

  - [`GetUseMontes(t): Cat → BoolElt`](montes.md#function-getusemontes-cat)

  - [`SetVerbose("Montes", v): MonStgElt, RngIntElt`](montes.md#function-setverbose-monstgelt-rngintelt)

- [Ideals in OM Representation](ideal-rep.md)

  - [`Ideal(I): OMIdl → RngOrdIdl`](ideal-rep.md#function-ideal-omidl)

  - [`OMRepresentation(I): RngFunOrdIdl → OMIdl`](ideal-rep.md#function-omrepresentation-rngfunordidl)

  - [`OMRepresentation(I): RngOrdFracIdl → OMIdl`](ideal-rep.md#function-omrepresentation-rngordfracidl)

  - [`OMRepresentation(L, S): FldArith, [FldArithElt] → OMIdl`](ideal-rep.md#function-omrepresentation-fldarith-fldarithelt)

  - [`OMRepresentation(L, a): FldArith, FldArithElt → OMIdl`](ideal-rep.md#function-omrepresentation-fldarith-fldarithelt-2)

  - [`OMRepresentation(L, a): FldArith, RngElt → OMIdl`](ideal-rep.md#function-omrepresentation-fldarith-rngelt)

  - [`Example: Om Rep Ideal`](ideal-rep.md#example-ex-c49fbd)

  - [Ideal Arithmetic](ideal-rep.md#ideal-arithmetic)

    - [`I + J: OMIdl, OMIdl → OMIdl`](ideal-rep.md#operation-op-plus-omidl-omidl)

    - [`I * J: OMIdl, OMIdl → OMIdl`](ideal-rep.md#operation-op-times-omidl-omidl)

    - [`I / J: OMIdl, OMIdl → OMIdl`](ideal-rep.md#operation-op-div-omidl-omidl)

    - [`I ^ n: OMIdl, RngIntElt → OMIdl`](ideal-rep.md#operation-op-pow-omidl-rngintelt)

    - [`Example: Om Ideal Arith`](ideal-rep.md#example-ex-0a493e)

  - [Ideal Predicates](ideal-rep.md#ideal-predicates)

    - [`IsOne(I): OMIdl → BoolElt`](ideal-rep.md#function-isone-omidl)

    - [`IsZero(I): OMIdl → BoolElt`](ideal-rep.md#function-iszero-omidl)

    - [`I eq J: OMIdl, OMIdl → BoolElt`](ideal-rep.md#operation-op-eq-omidl-omidl)

    - [`a in I: RngElt, OMIdl → BoolElt`](ideal-rep.md#operation-op-in-rngelt-omidl)

    - [`I subset J: OMIdl, OMIdl → BoolElt`](ideal-rep.md#operation-op-subset-omidl-omidl)

    - [`IsPrime(I): OMIdl → BoolElt`](ideal-rep.md#function-isprime-omidl)

    - [`IsIntegral(I): OMIdl → BoolElt`](ideal-rep.md#function-isintegral-omidl)

- [Ideal Operations](ideal-op.md)

  - [`pIntegralBasis(I, p): OMIdl, RngElt → SeqEnum`](ideal-op.md#function-pintegralbasis-omidl-rngelt)

  - [`SIntegralBasis(I, S): OMIdl, SeqEnum → SeqEnum`](ideal-op.md#function-sintegralbasis-omidl-seqenum)

  - [`SIntegralBasis(I, S): RngOrdFracIdl, [RngIntElt] → SeqEnum`](ideal-op.md#function-sintegralbasis-rngordfracidl-rngintelt)

  - [`SIntegralBasis(I, S): RngFunOrdIdl, [RngUPolElt] → SeqEnum`](ideal-op.md#function-sintegralbasis-rngfunordidl-rngupolelt)

  - [`Basis(I): OMIdl → SeqEnum`](ideal-op.md#function-basis-omidl)

  - [`Example: Om Ideal Op`](ideal-op.md#example-ex-70e335)

  - [`TwoElement(I): OMIdl → FldArithElt, FldArithElt`](ideal-op.md#function-twoelement-omidl)

  - [`Norm(I): OMIdl → RngElt`](ideal-op.md#function-norm-omidl)

  - [`Valuation(alpha, P : parameters): FldArithElt, OMIdl → RngIntElt, FldElt`](ideal-op.md#function-valuation-fldarithelt-omidl)

  - [`Valuation(alpha, P : parameters): FldRatElt, OMIdl → RngIntElt, FldElt`](ideal-op.md#function-valuation-fldratelt-omidl)

  - [`Valuation(alpha, P : parameters): RngIntElt, OMIdl → RngIntElt, FldElt`](ideal-op.md#function-valuation-rngintelt-omidl)

  - [`Valuation(alpha, P : parameters): RngUPolElt, OMIdl → RngIntElt, FldElt`](ideal-op.md#function-valuation-rngupolelt-omidl)

  - [`Valuation(I, P): OMIdl, OMIdl → RngIntElt`](ideal-op.md#function-valuation-omidl-omidl)

  - [`a mod P: FldArithElt, OMIdl → FldArithElt`](ideal-op.md#operation-operation-mod-fldarithelt-omidl-fldarithelt)

  - [`Reduction(a, P): FldArithElt, OMIdl → FldArithElt`](ideal-op.md#function-reduction-fldarithelt-omidl)

  - [`Reduction(a, P, m): FldArithElt, OMIdl, RngIntElt → [FldArithElt]`](ideal-op.md#function-reduction-fldarithelt-omidl-rngintelt)

  - [`Factorization(I): OMIdl → SeqEnum`](ideal-op.md#function-factorization-omidl)

  - [`Factorisation(I): OMIdl → SeqEnum`](ideal-op.md#function-factorisation-omidl)

  - [`Example: Om Ideal Ops`](ideal-op.md#example-ex-fbb1be)

  - [`ResidueField(I): OMIdl → Fld`](ideal-op.md#function-residuefield-omidl)

  - [`Degree(I): OMIdl → RngIntElt`](ideal-op.md#function-degree-omidl)

  - [`Example: Om Ideals Deg Res`](ideal-op.md#example-ex-7d7ba3)

- [Divisors in OM representation](divisors-in-om-representation.md)

  - [Constructing Divisors in OM representation](divisors-in-om-representation.md#constructing-divisors-in-om-representation)

    - [`OMDivisor(If, Ii): OMIdl, OMIdl → OMDiv`](divisors-in-om-representation.md#function-omdivisor-omidl-omidl)

    - [`OMDivisor(I): OMIdl → OMDiv`](divisors-in-om-representation.md#function-omdivisor-omidl)

    - [`OMDivisor(z): FldFunElt → OMDiv`](divisors-in-om-representation.md#function-omdivisor-fldfunelt)

    - [`PoleDivisor(a): FldFunElt → OMDiv`](divisors-in-om-representation.md#function-poledivisor-fldfunelt)

    - [`ZeroDivisor(a): FldFunElt → OMDiv`](divisors-in-om-representation.md#function-zerodivisor-fldfunelt)

    - [`OMDivisorOfDegreeOne(F): FldFun → OMDiv`](divisors-in-om-representation.md#function-omdivisorofdegreeone-fldfun)

    - [`ReferenceDivisor(F): FldFun → OMDiv`](divisors-in-om-representation.md#function-referencedivisor-fldfun)

    - [`OMDivisor(D): DivFunElt → OMDiv`](divisors-in-om-representation.md#function-omdivisor-divfunelt)

    - [`Example: Om Div Constr`](divisors-in-om-representation.md#example-ex-42c816)

  - [Arithmetic with Divisors in OM representation](divisors-in-om-representation.md#arithmetic-with-divisors-in-om-representation)

    - [`k * D: RngIntElt, OMDiv → OMDiv`](divisors-in-om-representation.md#operation-op-times-rngintelt-omdiv)

    - [`D1 + D2: OMDiv, OMDiv → OMDiv`](divisors-in-om-representation.md#operation-op-plus-omdiv-omdiv)

    - [`D1 - D2: OMDiv, OMDiv → OMDiv`](divisors-in-om-representation.md#operation-op-minus-omdiv-omdiv)

    - [`GCD(D1, D2): OMDiv, OMDiv → OMDiv`](divisors-in-om-representation.md#function-gcd-omdiv-omdiv)

    - [`Gcd(D1, D2): OMDiv, OMDiv → OMDiv`](divisors-in-om-representation.md#function-gcd-omdiv-omdiv-2)

    - [`GreatestCommonDivisor(D1, D2): OMDiv, OMDiv → OMDiv`](divisors-in-om-representation.md#function-greatestcommondivisor-omdiv-omdiv)

    - [`Example: Om Div Arith`](divisors-in-om-representation.md#example-ex-31985e)

  - [Predicates on Divisors in OM representation](divisors-in-om-representation.md#predicates-on-divisors-in-om-representation)

    - [`IsEffective(D): OMDiv → BoolElt`](divisors-in-om-representation.md#function-iseffective-omdiv)

    - [`IsPositive(D): OMDiv → BoolElt`](divisors-in-om-representation.md#function-ispositive-omdiv)

    - [`IsPrincipal(D): OMDiv → BoolElt`](divisors-in-om-representation.md#function-isprincipal-omdiv)

    - [`D1 eq D2: OMDiv, OMDiv → BoolElt`](divisors-in-om-representation.md#operation-op-eq-omdiv-omdiv)

    - [`Example: Om Div Pred`](divisors-in-om-representation.md#example-ex-c8e530)

  - [Other Operations on Divisors in OM representation](divisors-in-om-representation.md#other-operations-on-divisors-in-om-representation)

    - [`Divisor(D): OMDiv → DivFunElt`](divisors-in-om-representation.md#function-divisor-omdiv)

    - [`Valuation(D, P): OMDiv, OMIdl → RngIntElt`](divisors-in-om-representation.md#function-valuation-omdiv-omidl)

    - [`Support(D): OMDiv → [OMIdl], [RngIntElt]`](divisors-in-om-representation.md#function-support-omdiv)

    - [`Height(D): OMDiv → RngIntElt`](divisors-in-om-representation.md#function-height-omdiv)

    - [`CanonicalHeight(D): OMDiv → RngIntElt`](divisors-in-om-representation.md#function-canonicalheight-omdiv)

    - [`Degree(D): OMDiv → RngIntElt`](divisors-in-om-representation.md#function-degree-omdiv)

    - [`Basis(D): OMDiv → SeqEnum`](divisors-in-om-representation.md#function-basis-omdiv)

    - [`Dimension(D): OMDiv → RngIntElt`](divisors-in-om-representation.md#function-dimension-omdiv)

    - [`ReducedBasis(D): OMDiv → SeqEnum`](divisors-in-om-representation.md#function-reducedbasis-omdiv)

    - [`SemiReducedBasis(D): OMDiv → SeqEnum`](divisors-in-om-representation.md#function-semireducedbasis-omdiv)

    - [`SuccessiveMinima(D): OMDiv → SeqEnum`](divisors-in-om-representation.md#function-successiveminima-omdiv)

    - [`ApproximatedSuccessiveMinima(D): OMDiv → SeqEnum`](divisors-in-om-representation.md#function-approximatedsuccessiveminima-omdiv)

    - [`Example: Om Div Ops`](divisors-in-om-representation.md#example-ex-e8bf40)
