# General $p$-Adic Extensions

- [Introduction](introduction.md)

- [Constructions](construction.md)

  - [`LocalField(L, f): FldPad, RngUPolElt → RngLocA`](construction.md#function-localfield-fldpad-rngupolelt)

  - [`LocalField(L, f): RngLocA, RngUPolElt → RngLocA`](construction.md#function-localfield-rngloca-rngupolelt)

  - [`Example: construct`](construction.md#example-ex-827f9a)

  - [`sub< L | a₁, ..., aₙ >: RngLocA, RngLocAElt, ..., RngLocAElt → RngLocA`](construction.md#constructor-constructor-sub-rngloca-rnglocaelt-rnglocaelt-rngloca)

  - [`sub< L | S>: RngLocA, SeqEnum → RngLocA`](construction.md#constructor-constructor-sub-rngloca-seqenum-rngloca)

  - [`Example: sub`](construction.md#example-ex-0823ac)

- [Operations with Fields](operations.md)

  - [`BaseRing(L): RngLocA → Rng`](operations.md#function-basering-rngloca)

  - [`CoefficientRing(L): RngLocA → Rng`](operations.md#function-coefficientring-rngloca)

  - [`DefiningPolynomial(L): RngLocA → RngUPolElt`](operations.md#function-definingpolynomial-rngloca)

  - [`Degree(L): RngLocA → RngIntElt`](operations.md#function-degree-rngloca)

  - [`Degree(L, R): RngLocA, Rng → RngIntElt`](operations.md#function-degree-rngloca-rng)

  - [`InertiaDegree(L): RngLocA → RngIntElt`](operations.md#function-inertiadegree-rngloca)

  - [`RamificationDegree(L): RngLocA → RngIntElt`](operations.md#function-ramificationdegree-rngloca)

  - [`RamificationIndex(L): RngLocA → RngIntElt`](operations.md#function-ramificationindex-rngloca)

  - [`Precision(L): RngLocA → RngIntElt`](operations.md#function-precision-rngloca)

  - [`Prime(L): RngLocA → RngElt`](operations.md#function-prime-rngloca)

  - [`Example: ops`](operations.md#example-ex-ef970a)

  - [`QuotientRepresentation(L): RngLocA → RngUPolRes`](operations.md#function-quotientrepresentation-rngloca)

  - [`RamifiedRepresentation(L): RngLocA → FldPad, Map`](operations.md#function-ramifiedrepresentation-rngloca)

  - [`Example: reps`](operations.md#example-ex-a41b45)

  - [`AssignNames(~L, S): RngLocA, SeqEnum[MonStgElt]`](operations.md#function-assignnames-rngloca-seqenum-monstgelt-ref)

  - [`Name(L, i): RngLocA, RngIntElt → RngLocAElt`](operations.md#function-name-rngloca-rngintelt)

  - [`Discriminant(L): RngLocA → RngElt`](operations.md#function-discriminant-rngloca)

  - [`ResidueClassField(L): RngLocA → Rng, Map`](operations.md#function-residueclassfield-rngloca)

  - [`RelativeField(L, m): RngLocA, Map → RngLocA, Map, Map`](operations.md#function-relativefield-rngloca-map)

  - [Predicates on Fields](operations.md#predicates-on-fields)

    - [`IsRamified(L): RngLocA → BoolElt`](operations.md#function-isramified-rngloca)

    - [`IsTamelyRamified(L): RngLocA → BoolElt`](operations.md#function-istamelyramified-rngloca)

    - [`IsWildlyRamified(L): RngLocA → BoolElt`](operations.md#function-iswildlyramified-rngloca)

    - [`IsTotallyRamified(L): RngLocA → BoolElt`](operations.md#function-istotallyramified-rngloca)

    - [`IsUnramified(L): RngLocA → BoolElt`](operations.md#function-isunramified-rngloca)

- [Maximal Order](maximal-order.md)

  - [`IntegralBasis(L): RngLocA → SeqEnum`](maximal-order.md#function-integralbasis-rngloca)

  - [`IsIntegral(a): RngLocAElt → BoolElt, SeqEnum`](maximal-order.md#function-isintegral-rnglocaelt)

  - [`Example: Max Order`](maximal-order.md#example-ex-9bf4a2)

- [Homomorphisms](maps.md)

  - [`hom< L -> R | a >: RngLocA, Rng, RngElt → Map`](maps.md#constructor-constructor-hom-rngloca-rng-rngelt-map)

  - [`hom< L -> R | cfm, a >: RngLocA, Rng, Map, RngElt → Map`](maps.md#constructor-constructor-hom-rngloca-rng-map-rngelt-map)

- [Automorphisms and Galois Theory](galois.md)

  - [`FrobeniusAutomorphism(L): RngLocA → Map`](galois.md#function-frobeniusautomorphism-rngloca)

  - [`AutomorphismGroup(L): RngLocA → Grp, Map`](galois.md#function-automorphismgroup-rngloca)

  - [`DecompositionGroup(L): RngLocA → GrpPerm`](galois.md#function-decompositiongroup-rngloca)

  - [`InertiaGroup(L): RngLocA → GrpPerm`](galois.md#function-inertiagroup-rngloca)

  - [`RamificationGroup(L, i): RngLocA, RngIntElt → GrpPerm`](galois.md#function-ramificationgroup-rngloca-rngintelt)

  - [`FixedField(L, G): RngLocA, GrpPerm → RngLocA`](galois.md#function-fixedfield-rngloca-grpperm)

  - [`Example: Auto Gal`](galois.md#example-ex-180d7f)

- [Elements Operations](elements.md)

  - [`L ! r: RngLocA, Any → RngLocAElt`](elements.md#operation-op-rngloca-any)

  - [`L . i: RngLocA, RngIntElt → RngLocAElt`](elements.md#operation-operation-rngloca-rngintelt-rnglocaelt)

  - [`InertialElement(L): RngLocA → RngLocAElt`](elements.md#function-inertialelement-rngloca)

  - [`UniformizingElement(L): RngLocA → RngLocAElt`](elements.md#function-uniformizingelement-rngloca)

  - [Arithmetic](elements.md#arithmetic)

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

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

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

    - [`- a: RngLocAElt → RngLocAElt`](elements.md#operation-operation-rnglocaelt-rnglocaelt)

    - [`a ^ n: RngLocAElt, RngIntElt → RngLocAElt`](elements.md#operation-op-pow-rnglocaelt-rngintelt)

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

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

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

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

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

    - [`IsWeaklyZero(a): RngLocAElt → BoolElt`](elements.md#function-isweaklyzero-rnglocaelt)

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

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

    - [`Valuation(a): RngLocAElt → RngExtReElt`](elements.md#function-valuation-rnglocaelt)

    - [`RelativePrecision(a): RngLocAElt → RngExtReElt`](elements.md#function-relativeprecision-rnglocaelt)

    - [`Eltseq(a): RngLocAElt → SeqEnum`](elements.md#function-eltseq-rnglocaelt)

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

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

    - [`Norm(a, F): RngLocAElt, Rng → RngElt`](elements.md#function-norm-rnglocaelt-rng)

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

    - [`Trace(a, F): RngLocAElt, Rng → RngElt`](elements.md#function-trace-rnglocaelt-rng)

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

    - [`MinimalPolynomial(a, F): RngLocAElt → RngUPolElt`](elements.md#function-minimalpolynomial-rnglocaelt-2)

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

- [Polynomial Factorization](poly_fact.md)

  - [`Factorization(f): RngUPolElt[RngLocA] → SeqEnum, RngElt, Any`](poly_fact.md#function-factorization-rngupolelt-rngloca)

  - [`SuggestedPrecision(f): RngUPolElt[RngLocA] → RngIntElt`](poly_fact.md#function-suggestedprecision-rngupolelt-rngloca)

  - [`Roots(f): RngUPolElt[RngLocA] → SeqEnum`](poly_fact.md#function-roots-rngupolelt-rngloca)

  - [`Roots(f, R): RngUPolElt, RngLocA → SeqEnum`](poly_fact.md#function-roots-rngupolelt-rngloca-2)

  - [`Example: Poly Fact`](poly_fact.md#example-ex-579903)
