# Integer Residue Class Rings

- [Introduction](introduction.md)

- [Ideals of ${\mathbb{Z}}$](integer-ideals.md)

  - [`ideal< R | a >: RngInt, RngIntElt → RngIntRes`](integer-ideals.md#constructor-constructor-ideal-rngint-rngintelt-rngintres)

  - [`Example: Residue Ring`](integer-ideals.md#example-ex-1aa6f6)

- [${\mathbb{Z}}$ as a Number Field Order](number-field-like.md)

  - [`Decomposition(R, p): RngInt, RngIntElt → SeqEnum`](number-field-like.md#function-decomposition-rngint-rngintelt)

  - [`Generator(I): RngInt → RngIntElt`](number-field-like.md#function-generator-rngint)

  - [`RamificationIndex(I, p): RngInt, RngIntElt → RngIntElt`](number-field-like.md#function-ramificationindex-rngint-rngintelt)

  - [`RamificationIndex(I): RngInt → RngIntElt`](number-field-like.md#function-ramificationindex-rngint)

  - [`Degree(I): RngInt → RngIntElt`](number-field-like.md#function-degree-rngint)

  - [`TwoElementNormal(I): RngInt → RngIntElt, RngIntElt`](number-field-like.md#function-twoelementnormal-rngint)

  - [`ChineseRemainderTheorem(I, J, a, b): RngInt, RngInt, RngIntElt, RngIntElt → RngIntElt`](number-field-like.md#function-chineseremaindertheorem-rngint-rngint-rngintelt-rngintelt)

  - [`Valuation(x, I): RngIntElt, RngInt → RngIntElt`](number-field-like.md#function-valuation-rngintelt-rngint)

  - [`ClassRepresentative(I): RngInt → RngInt`](number-field-like.md#function-classrepresentative-rngint)

- [Residue Class Rings](residue-class-rings.md)

  - [Creation](residue-class-rings.md#creation)

    - [`quo<Z | I>: RngInt, RngInt → RngIntRes`](residue-class-rings.md#constructor-constructor-quo-rngint-rngint-rngintres)

    - [`quo<Z | m>: RngInt, RngIntElt → RngIntRes`](residue-class-rings.md#constructor-constructor-quo-rngint-rngintelt-rngintres)

    - [`ResidueClassRing(m): RngIntElt → RngIntRes, Map`](residue-class-rings.md#function-residueclassring-rngintelt)

    - [`IntegerRing(m): RngIntElt → RngIntRes`](residue-class-rings.md#function-integerring-rngintelt)

    - [`Integers(m): RngIntElt → RngIntRes`](residue-class-rings.md#function-integers-rngintelt)

    - [`RingOfIntegers(m): RngIntElt → RngIntRes`](residue-class-rings.md#function-ringofintegers-rngintelt)

    - [`ResidueClassField(p): RngIntElt → FldFin, Map`](residue-class-rings.md#function-residueclassfield-rngintelt)

    - [`ResidueClassRing(Q): RngIntEltFact → RngIntRes`](residue-class-rings.md#function-residueclassring-rnginteltfact)

    - [`IntegerRing(Q): RngIntEltFact → RngIntRes`](residue-class-rings.md#function-integerring-rnginteltfact)

    - [`Integers(Q): RngIntEltFact → RngIntRes`](residue-class-rings.md#function-integers-rnginteltfact)

    - [`Example: Residue Ring`](residue-class-rings.md#example-ex-d9f52c)

  - [Coercion](residue-class-rings.md#coercion)

    - [`Example: Coercion`](residue-class-rings.md#example-ex-155ae3)

  - [Elementary Invariants](residue-class-rings.md#elementary-invariants)

    - [`Characteristic(R): RngIntRes → RngIntResElt`](residue-class-rings.md#function-characteristic-rngintres)

    - [`# R: RngIntRes → RngIntResElt`](residue-class-rings.md#operation-operation-rngintres-rngintreselt)

    - [`Modulus(R): RngIntRes → RngInt`](residue-class-rings.md#function-modulus-rngintres)

    - [`FactoredModulus(R): RngIntRes → RngIntEltFact`](residue-class-rings.md#function-factoredmodulus-rngintres)

  - [Structure Operations](residue-class-rings.md#structure-operations)

    - [`AdditiveGroup(R): RngIntRes → GrpAb, Map`](residue-class-rings.md#function-additivegroup-rngintres)

    - [`MultiplicativeGroup(R): RngIntRes → GrpAb, Map`](residue-class-rings.md#function-multiplicativegroup-rngintres)

    - [`UnitGroup(R): RngIntRes → GrpAb, Map`](residue-class-rings.md#function-unitgroup-rngintres)

    - [`sub< R | n >: RngIntRes, RngIntResElt → RngIntRes`](residue-class-rings.md#constructor-constructor-sub-rngintres-rngintreselt-rngintres)

    - [`Set(R): RngIntRes → SetEnum`](residue-class-rings.md#function-set-rngintres)

    - [`Category(R): RngIntRes → Cat`](residue-class-rings.md#function-category-rngintres)

    - [`Parent(R): RngIntRes → PowerStructure`](residue-class-rings.md#function-parent-rngintres)

    - [`PrimeRing(R): RngIntRes → RngIntRes`](residue-class-rings.md#function-primering-rngintres)

    - [`Center(R): RngIntRes → RngIntRes`](residue-class-rings.md#function-center-rngintres)

  - [Ring Predicates and Booleans](residue-class-rings.md#ring-predicates-and-booleans)

    - [`IsCommutative(R): RngIntRes → BoolElt`](residue-class-rings.md#function-iscommutative-rngintres)

    - [`IsUnitary(R): RngIntRes → BoolElt`](residue-class-rings.md#function-isunitary-rngintres)

    - [`IsFinite(R): RngIntRes → BoolElt`](residue-class-rings.md#function-isfinite-rngintres)

    - [`IsOrdered(R): RngIntRes → BoolElt`](residue-class-rings.md#function-isordered-rngintres)

    - [`IsField(R): RngIntRes → BoolElt`](residue-class-rings.md#function-isfield-rngintres)

    - [`IsEuclideanDomain(R): RngIntRes → BoolElt`](residue-class-rings.md#function-iseuclideandomain-rngintres)

    - [`IsPID(R): RngIntRes → BoolElt`](residue-class-rings.md#function-ispid-rngintres)

    - [`IsUFD(R): RngIntRes → BoolElt`](residue-class-rings.md#function-isufd-rngintres)

    - [`IsDivisionRing(R): RngIntRes → BoolElt`](residue-class-rings.md#function-isdivisionring-rngintres)

    - [`IsEuclideanRing(R): RngIntRes → BoolElt`](residue-class-rings.md#function-iseuclideanring-rngintres)

    - [`IsPrincipalIdealRing(R): RngIntRes → BoolElt`](residue-class-rings.md#function-isprincipalidealring-rngintres)

    - [`IsDomain(R): RngIntRes → BoolElt`](residue-class-rings.md#function-isdomain-rngintres)

    - [`R eq R: RngIntRes, Rng → BoolElt`](residue-class-rings.md#operation-op-eq-rngintres-rng)

    - [`R ne R: RngIntRes, Rng → BoolElt`](residue-class-rings.md#operation-op-ne-rngintres-rng)

  - [Homomorphisms](residue-class-rings.md#homomorphisms)

    - [`hom< R -> S | >: RngIntRes, Rng → Map`](residue-class-rings.md#constructor-constructor-hom-rngintres-rng-map)

- [Elements of Residue Class Rings](elements.md)

  - [Creation](elements.md#creation)

    - [`elt< R | k >: RngIntRes, RngIntElt → RngIntResElt`](elements.md#constructor-constructor-elt-rngintres-rngintelt-rngintreselt)

    - [`R ! k: RngIntRes, RngIntElt → RngIntResElt`](elements.md#operation-op-rngintres-rngintelt)

    - [`One(R): RngIntRes → RngIntResElt`](elements.md#function-one-rngintres)

    - [`Identity(R): RngIntRes → RngIntResElt`](elements.md#function-identity-rngintres)

    - [`Zero(R): RngIntRes → RngIntResElt`](elements.md#function-zero-rngintres)

    - [`Representative(R): RngIntRes → RngIntResElt`](elements.md#function-representative-rngintres)

    - [`Random(R): RngIntRes → RngIntResElt`](elements.md#function-random-rngintres)

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

    - [`+ n: RngIntResElt → RngIntResElt`](elements.md#operation-operation-rngintreselt-rngintreselt)

    - [`- n: RngIntResElt → RngIntResElt`](elements.md#operation-operation-rngintreselt-rngintreselt-2)

    - [`m + n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-op-plus-rngintreselt-rngintreselt)

    - [`m - n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-op-minus-rngintreselt-rngintreselt)

    - [`m * n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-op-times-rngintreselt-rngintreselt)

    - [`n ^ k: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-op-pow-rngintreselt-rngintreselt)

    - [`m / n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-op-div-rngintreselt-rngintreselt)

    - [`m div n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-operation-div-rngintreselt-rngintreselt-rngintreselt)

    - [`m +:= n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-operation-rngintreselt-rngintreselt-rngintreselt)

    - [`m -:= n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-operation-rngintreselt-rngintreselt-rngintreselt-2)

    - [`m *:= n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-operation-rngintreselt-rngintreselt-rngintreselt-3)

    - [`m /:= n: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-operation-rngintreselt-rngintreselt-rngintreselt-4)

    - [`m ^:= k: RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#operation-operation-rngintreselt-rngintreselt-rngintreselt-5)

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

    - [`m eq n: RngIntResElt, RngIntResElt → BoolElt`](elements.md#operation-op-eq-rngintreselt-rngintreselt)

    - [`m ne n: RngIntResElt, RngIntResElt → BoolElt`](elements.md#operation-op-ne-rngintreselt-rngintreselt)

    - [`n in R: RngIntResElt, Rng → BoolElt`](elements.md#operation-op-in-rngintreselt-rng)

    - [`n notin R: RngIntResElt, Rng → BoolElt`](elements.md#operation-op-notin-rngintreselt-rng)

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

    - [`Parent(n): RngIntResElt → RngIntRes`](elements.md#function-parent-rngintreselt)

    - [`Category(n): RngIntResElt → Cat`](elements.md#function-category-rngintreselt)

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

    - [`IsZero(n): RngIntResElt → BoolElt`](elements.md#function-iszero-rngintreselt)

    - [`IsOne(n): RngIntResElt → BoolElt`](elements.md#function-isone-rngintreselt)

    - [`IsMinusOne(n): RngIntResElt → BoolElt`](elements.md#function-isminusone-rngintreselt)

    - [`IsNilpotent(n): RngIntResElt → BoolElt`](elements.md#function-isnilpotent-rngintreselt)

    - [`IsIdempotent(n): RngIntResElt → BoolElt`](elements.md#function-isidempotent-rngintreselt)

    - [`IsUnit(n): RngIntResElt → BoolElt`](elements.md#function-isunit-rngintreselt)

    - [`IsZeroDivisor(n): RngIntResElt → BoolElt`](elements.md#function-iszerodivisor-rngintreselt)

    - [`IsRegular(n): RngIntRes → BoolElt`](elements.md#function-isregular-rngintres)

    - [`IsIrreducible(n): RngIntResElt → BoolElt`](elements.md#function-isirreducible-rngintreselt)

    - [`IsPrime(n): RngIntResElt → BoolElt`](elements.md#function-isprime-rngintreselt)

  - [Solving Equations over ${\mathbb{Z}}/m{\mathbb{Z}}$](elements.md#solving-equations-over-mathbb-z-m-mathbb-z)

    - [`Solution(a, b): RngIntResElt, RngIntResElt → RngIntResElt`](elements.md#function-solution-rngintreselt-rngintreselt)

    - [`IsSquare(n): RngIntResElt → BoolElt, RngIntResElt`](elements.md#function-issquare-rngintreselt)

    - [`Sqrt(a): RngIntResElt → RngIntResElt`](elements.md#function-sqrt-rngintreselt)

    - [`SquareRoot(a): RngIntResElt → RngIntResElt`](elements.md#function-squareroot-rngintreselt)

    - [`AllSquareRoots(a): RngIntResElt → [ RngIntResElt ]`](elements.md#function-allsquareroots-rngintreselt)

    - [`AllSqrts(a): RngIntResElt → [ RngIntResElt ]`](elements.md#function-allsqrts-rngintreselt)

    - [`Example: Element Ops`](elements.md#example-ex-c52d75)

- [Ideal Operations](ideal-ops.md)

  - [`ideal< R | a₁, ..., aᵣ >: RngIntRes, RngIntResElt, ..., RngIntResElt → RngIntRes`](ideal-ops.md#constructor-constructor-ideal-rngintres-rngintreselt-rngintreselt-rngintres)

  - [`GreatestCommonDivisor(a, b): RngIntResElt, RngIntResElt → RngIntResElt`](ideal-ops.md#function-greatestcommondivisor-rngintreselt-rngintreselt)

  - [`Gcd(a, b): RngIntResElt, RngIntResElt → RngIntResElt`](ideal-ops.md#function-gcd-rngintreselt-rngintreselt)

  - [`GCD(a, b): RngIntResElt, RngIntResElt → RngIntResElt`](ideal-ops.md#function-gcd-rngintreselt-rngintreselt-2)

  - [`GreatestCommonDivisor(Q): [RngIntResElt] → RngIntResElt`](ideal-ops.md#function-greatestcommondivisor-rngintreselt)

  - [`Gcd(Q): [RngIntResElt] → RngIntResElt`](ideal-ops.md#function-gcd-rngintreselt)

  - [`GCD(Q): [RngIntResElt] → RngIntResElt`](ideal-ops.md#function-gcd-rngintreselt-2)

  - [`LeastCommonMultiple(a, b): RngIntResElt, RngIntResElt → RngIntResElt`](ideal-ops.md#function-leastcommonmultiple-rngintreselt-rngintreselt)

  - [`Lcm(a, b): RngIntResElt, RngIntResElt → RngIntResElt`](ideal-ops.md#function-lcm-rngintreselt-rngintreselt)

  - [`LCM(a, b): RngIntResElt, RngIntResElt → RngIntResElt`](ideal-ops.md#function-lcm-rngintreselt-rngintreselt-2)

  - [`LeastCommonMultiple(Q): [RngIntResElt] → RngIntResElt`](ideal-ops.md#function-leastcommonmultiple-rngintreselt)

  - [`Lcm(Q): [RngIntResElt] → RngIntResElt`](ideal-ops.md#function-lcm-rngintreselt)

  - [`LCM(Q): [RngIntResElt] → RngIntResElt`](ideal-ops.md#function-lcm-rngintreselt-2)

  - [`I + J: RngIntRes, RngIntRes → RngIntRes`](ideal-ops.md#operation-op-plus-rngintres-rngintres)

  - [`I * J: RngIntRes, RngIntRes → RngIntRes`](ideal-ops.md#operation-op-times-rngintres-rngintres)

  - [`I meet J: RngIntRes, RngIntRes → RngIntRes`](ideal-ops.md#operation-op-meet-rngintres-rngintres)

  - [`a in I: RngIntResElt, RngIntRes → BoolElt`](ideal-ops.md#operation-op-in-rngintreselt-rngintres)

  - [`a notin I: RngIntResElt, RngIntRes → BoolElt`](ideal-ops.md#operation-op-notin-rngintreselt-rngintres)

  - [`I eq J: RngIntRes, RngIntRes → BoolElt`](ideal-ops.md#operation-op-eq-rngintres-rngintres)

  - [`I ne J: RngIntRes, RngIntRes → BoolElt`](ideal-ops.md#operation-op-ne-rngintres-rngintres)

  - [`I subset J: RngIntRes, RngIntRes → BoolElt`](ideal-ops.md#operation-op-subset-rngintres-rngintres)

  - [`I notsubset J: RngIntRes, RngIntRes → BoolElt`](ideal-ops.md#operation-operation-notsubset-rngintres-rngintres-boolelt)

- [The Unit Group](unit-group.md)

  - [`UnitGroup(R): RngIntRes → GrpAb, Map`](unit-group.md#function-unitgroup-rngintres-2)

  - [`IsPrimitive(n): RngIntResElt → BoolElt`](unit-group.md#function-isprimitive-rngintreselt)

  - [`PrimitiveElement(R): RngIntRes → RngIntResElt`](unit-group.md#function-primitiveelement-rngintres)

  - [`PrimitiveRoot(R): RngIntRes → RngIntResElt`](unit-group.md#function-primitiveroot-rngintres)

  - [`Order(a): RngIntResElt → RngIntElt`](unit-group.md#function-order-rngintreselt)

  - [`Normalize(x): RngIntRes → RngIntResElt, RngIntResElt`](unit-group.md#function-normalize-rngintres)

  - [`Normalise(x): RngIntRes → RngIntResElt, RngIntResElt`](unit-group.md#function-normalise-rngintres)

  - [`Example: Unit Group`](unit-group.md#example-ex-8ae5da)

  - [`Example: Cyclic Unit Group`](unit-group.md#example-ex-bde8d2)

- [Dirichlet Characters](dirichlet-characters.md)

  - [Creation](dirichlet-characters.md#creation)

    - [`DirichletGroup(N): RngIntElt → GrpDrch`](dirichlet-characters.md#function-dirichletgroup-rngintelt)

    - [`FullDirichletGroup(N): RngIntElt → GrpDrch`](dirichlet-characters.md#function-fulldirichletgroup-rngintelt)

    - [`DirichletGroup(N,R): RngIntElt, Rng → GrpDrch`](dirichlet-characters.md#function-dirichletgroup-rngintelt-rng)

    - [`DirichletGroup(N,R,z,r): RngIntElt, Rng, RngElt, RngIntElt → GrpDrch`](dirichlet-characters.md#function-dirichletgroup-rngintelt-rng-rngelt-rngintelt)

    - [`BaseExtend(G, R): GrpDrch, Rng → GrpDrch`](dirichlet-characters.md#function-baseextend-grpdrch-rng)

    - [`BaseExtend(G, R, z): GrpDrch, Rng, RngElt → GrpDrch`](dirichlet-characters.md#function-baseextend-grpdrch-rng-rngelt)

    - [`AssignNames(~G, S): GrpDrch, [MonStgElt]`](dirichlet-characters.md#function-assignnames-grpdrch-monstgelt-ref)

  - [Element Creation](dirichlet-characters.md#element-creation)

    - [`Elements(G): GrpDrch → [GrpDrchElt]`](dirichlet-characters.md#function-elements-grpdrch)

    - [`Random(G): GrpDrch → GrpDrchElt`](dirichlet-characters.md#function-random-grpdrch)

    - [`G . i: GrpDrch, RngIntElt → GrpDrchElt`](dirichlet-characters.md#operation-operation-grpdrch-rngintelt-grpdrchelt)

    - [`G ! x: GrpDrch, Any → GrpDrchElt`](dirichlet-characters.md#operation-op-grpdrch-any)

    - [`KroneckerCharacter(D): RngIntElt → GrpDrchElt`](dirichlet-characters.md#function-kroneckercharacter-rngintelt)

    - [`KroneckerCharacter(D, R): RngIntElt, Rng → GrpDrchElt`](dirichlet-characters.md#function-kroneckercharacter-rngintelt-rng)

  - [Attributes of Dirichlet Groups](dirichlet-characters.md#attributes-of-dirichlet-groups)

    - [`BaseRing(G): GrpDrch → Rng`](dirichlet-characters.md#function-basering-grpdrch)

    - [`Modulus(G): GrpDrch → RngIntElt`](dirichlet-characters.md#function-modulus-grpdrch)

    - [`Order(G): GrpDrch → RngIntElt`](dirichlet-characters.md#function-order-grpdrch)

    - [`Exponent(G): GrpDrch → RngIntElt`](dirichlet-characters.md#function-exponent-grpdrch)

    - [`NumberOfGenerators(G): GrpDrch → RngIntElt`](dirichlet-characters.md#function-numberofgenerators-grpdrch)

    - [`Generators(G): GrpDrch → [GrpDrchElt]`](dirichlet-characters.md#function-generators-grpdrch)

    - [`UnitGenerators(G): GrpDrch → [RngIntElt]`](dirichlet-characters.md#function-unitgenerators-grpdrch)

    - [`GaloisConjugacyRepresentatives(G): GrpDrch → [GrpDrchElt]`](dirichlet-characters.md#function-galoisconjugacyrepresentatives-grpdrch)

    - [`GaloisConjugacyRepresentatives(seq): [GrpDrchElt] → [GrpDrchElt]`](dirichlet-characters.md#function-galoisconjugacyrepresentatives-grpdrchelt)

    - [`AbelianGroup(G): GrpDrch → GrpAb, Map`](dirichlet-characters.md#function-abeliangroup-grpdrch)

  - [Attributes of Elements](dirichlet-characters.md#attributes-of-elements)

    - [`BaseRing(chi): GrpDrchElt → Rng`](dirichlet-characters.md#function-basering-grpdrchelt)

    - [`Modulus(chi): GrpDrchElt → RngIntElt`](dirichlet-characters.md#function-modulus-grpdrchelt)

    - [`Conductor(chi): GrpDrchElt → RngIntElt`](dirichlet-characters.md#function-conductor-grpdrchelt)

    - [`ElementToSequence(chi): GrpDrchElt → SeqEnum`](dirichlet-characters.md#function-elementtosequence-grpdrchelt)

    - [`x eq y: GrpDrchElt, GrpDrchElt → BoolElt`](dirichlet-characters.md#operation-op-eq-grpdrchelt-grpdrchelt)

    - [`Order(chi): GrpDrchElt → RngIntElt`](dirichlet-characters.md#function-order-grpdrchelt)

    - [`IsTrivial(chi): GrpDrchElt → BoolElt`](dirichlet-characters.md#function-istrivial-grpdrchelt)

    - [`IsPrimitive(chi): GrpDrchElt → BoolElt`](dirichlet-characters.md#function-isprimitive-grpdrchelt)

    - [`AssociatedPrimitiveCharacter(chi): GrpDrchElt → GrpDrchElt`](dirichlet-characters.md#function-associatedprimitivecharacter-grpdrchelt)

    - [`IsEven(chi): GrpDrchElt → BoolElt`](dirichlet-characters.md#function-iseven-grpdrchelt)

    - [`IsOdd(chi): GrpDrchElt → BoolElt`](dirichlet-characters.md#function-isodd-grpdrchelt)

    - [`IsTotallyEven(chi): GrpDrchElt → BoolElt`](dirichlet-characters.md#function-istotallyeven-grpdrchelt)

    - [`Decomposition(chi): GrpDrchElt → List`](dirichlet-characters.md#function-decomposition-grpdrchelt)

    - [`MinimalBaseRingCharacter(chi): GrpDrchElt → GrpDrchElt`](dirichlet-characters.md#function-minimalbaseringcharacter-grpdrchelt)

  - [Evaluation](dirichlet-characters.md#evaluation)

    - [`Evaluate(chi,n): GrpDrchElt, RngIntElt → RngElt`](dirichlet-characters.md#function-evaluate-grpdrchelt-rngintelt)

    - [`chi(n): GrpDrchElt, RngIntElt → RngElt`](dirichlet-characters.md#function-chi-grpdrchelt-rngintelt)

    - [`ValueList(chi): GrpDrchElt → [RngElt]`](dirichlet-characters.md#function-valuelist-grpdrchelt)

    - [`ValuesOnUnitGenerators(chi): GrpDrchElt → [RngElt]`](dirichlet-characters.md#function-valuesonunitgenerators-grpdrchelt)

    - [`OrderOfRootOfUnity(r, n): RngElt, RngIntElt → RngIntElt`](dirichlet-characters.md#function-orderofrootofunity-rngelt-rngintelt)

  - [Arithmetic](dirichlet-characters.md#arithmetic)

    - [`x * y: GrpDrchElt, GrpDrchElt → GrpDrchElt`](dirichlet-characters.md#operation-op-times-grpdrchelt-grpdrchelt)

    - [`x / y: GrpDrchElt, GrpDrchElt → GrpDrchElt`](dirichlet-characters.md#operation-op-div-grpdrchelt-grpdrchelt)

    - [`x ^ n: GrpDrchElt, RngIntElt → GrpDrchElt`](dirichlet-characters.md#operation-op-pow-grpdrchelt-rngintelt)

    - [`x ^ phi: GrpDrchElt, Map → GrpDrchElt`](dirichlet-characters.md#operation-op-pow-grpdrchelt-map)

    - [`Sqrt(x): GrpDrchElt → GrpDrchElt`](dirichlet-characters.md#function-sqrt-grpdrchelt)

  - [Example](dirichlet-characters.md#example)

    - [`Example: Dirichlet`](dirichlet-characters.md#example-ex-19f11f)
