# Quadratic Fields

- [Introduction](introduction.md)

  - [Representation](introduction.md#representation)

- [Creation of Structures](creation.md)

  - [`QuadraticField(m): RngIntElt → FldQuad`](creation.md#function-fldquad-quadraticfield)

  - [`EquationOrder(F): FldQuad → RngQuad`](creation.md#function-equationorder-fldquad)

  - [`MaximalOrder(F): FldQuad → RngQuad`](creation.md#function-maximalorder-fldquad)

  - [`IntegerRing(F): FldQuad → RngQuad`](creation.md#function-integerring-fldquad)

  - [`RingOfIntegers(F): FldQuad → RngQuad`](creation.md#function-ringofintegers-fldquad)

  - [`NumberField(O): RngQuad → FldQuad`](creation.md#function-numberfield-rngquad)

  - [`sub< O | f >: RngQuad, RngIntElt`](creation.md#constructor-constructor-sub-rngquad-rngintelt)

  - [`IsQuadratic(K): FldNum → BoolElt, FldQuad`](creation.md#function-isquadratic-fldnum)

  - [`IsQuadratic(O): RngOrd → BoolElt, RngQuad`](creation.md#function-isquadratic-rngord)

  - [`Example: creation`](creation.md#example-ex-a2440a)

  - [`Example: hom`](creation.md#example-ex-6098de)

- [Operations on Structures](structure_ops.md)

  - [`AssignNames(~F, [s]): FldQuad, [ MonStgElt ])`](structure_ops.md#function-assignnames-fldquad-monstgelt-ref)

  - [`AssignNames(~O, [s]): RngQuad, [ MonStgElt ])`](structure_ops.md#function-assignnames-rngquad-monstgelt-ref)

  - [`Name(F, 1): FldQuad, RngIntElt → FldQuadElt`](structure_ops.md#function-name-fldquad-rngintelt)

  - [`Name(O, 1): RngQuad, RngIntElt → RngQuadElt`](structure_ops.md#function-name-rngquad-rngintelt)

  - [`FundamentalUnit(K): FldQuad → FldQuadElt`](structure_ops.md#function-fundamentalunit-fldquad)

  - [`FundamentalUnit(O): RngQuad → RngQuadElt`](structure_ops.md#function-fundamentalunit-rngquad)

  - [`Discriminant(K): FldQuad → RngIntElt`](structure_ops.md#function-discriminant-fldquad)

  - [`Conductor(K): FldQuad → RngIntElt, [RngIntElt]`](structure_ops.md#function-conductor-fldquad)

  - [`Conductor(O): RngQuad → RngIntElt`](structure_ops.md#function-conductor-rngquad)

  - [Ideal Class Group](structure_ops.md#ideal-class-group)

    - [`ClassGroup(K): FldQuad → GrpAb, Map`](structure_ops.md#function-classgroup-fldquad)

    - [`ClassGroup(O): RngQuad → GrpAb, Map`](structure_ops.md#function-classgroup-rngquad)

    - [`ClassNumber(K): FldQuad → RngIntElt`](structure_ops.md#function-classnumber-fldquad)

    - [`ClassNumber(O): RngQuad → RngIntElt`](structure_ops.md#function-classnumber-rngquad)

    - [`PicardGroup(O): RngQuad → GrpAb, Map`](structure_ops.md#function-picardgroup-rngquad)

    - [`PicardNumber(O): RngQuad → RngIntElt`](structure_ops.md#function-picardnumber-rngquad)

    - [`Example: Quad Sieve`](structure_ops.md#example-ex-a05688)

    - [`QuadraticClassGroupTwoPart(K): FldQuad → GrpAb, Map`](structure_ops.md#function-quadraticclassgrouptwopart-fldquad)

    - [`QuadraticClassGroupTwoPart(O): RngQuad → GrpAb, Map`](structure_ops.md#function-quadraticclassgrouptwopart-rngquad)

    - [`QuadraticClassGroupTwoPart(d): RngIntElt → GrpAb, Map`](structure_ops.md#function-quadraticclassgrouptwopart-rngintelt)

    - [`Example: qcgtp`](structure_ops.md#example-ex-53f1e4)

  - [Norm Equations](structure_ops.md#norm-equations)

    - [`NormEquation(F, m): FldQuad, RngIntElt → BoolElt, SeqEnum`](structure_ops.md#function-normequation-fldquad-rngintelt)

    - [`NormEquation(F, m: parameters): FldQuad, RngIntElt → BoolElt, SeqEnum`](structure_ops.md#function-normequation-fldquad-rngintelt-2)

    - [`NormEquation(O, m): RngQuad, RngIntElt → BoolElt, SeqEnum`](structure_ops.md#function-normequation-rngquad-rngintelt)

    - [`NormEquation(O, m: parameters): RngQuad, RngIntElt → BoolElt, SeqEnum`](structure_ops.md#function-normequation-rngquad-rngintelt-2)

    - [`Example: Norm Equation`](structure_ops.md#example-ex-6e8332)

- [Special Element Operations](elements.md)

  - [Division Algorithm](elements.md#division-algorithm)

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

    - [`a mod b: RngQuadElt, RngQuadElt → RngQuadElt`](elements.md#operation-operation-mod-rngquadelt-rngquadelt-rngquadelt)

    - [`GreatestCommonDivisor(a, b): RngQuadElt, RngQuadElt → RngQuadElt`](elements.md#function-greatestcommondivisor-rngquadelt-rngquadelt)

    - [`Gcd(a, b): RngQuadElt, RngQuadElt → RngQuadElt`](elements.md#function-gcd-rngquadelt-rngquadelt)

    - [`GCD(a, b): RngQuadElt, RngQuadElt → RngQuadElt`](elements.md#function-gcd-rngquadelt-rngquadelt-2)

    - [`LeastCommonMultiple(a, b): RngQuadElt, RngQuadElt → RngQuadElt`](elements.md#function-leastcommonmultiple-rngquadelt-rngquadelt)

    - [`Lcm(a, b): RngQuadElt, RngQuadElt → RngQuadElt`](elements.md#function-lcm-rngquadelt-rngquadelt)

    - [`LCM(a, b): RngQuadElt, RngQuadElt → RngQuadElt`](elements.md#function-lcm-rngquadelt-rngquadelt-2)

    - [`Modexp(a, e, n): RngQuadElt, RngInt, RngQuadElt → RngQuadElt`](elements.md#function-modexp-rngquadelt-rngint-rngquadelt)

  - [Factorization](elements.md#factorization)

    - [`Factorization(n): RngQuadElt → SeqEnum, Tup`](elements.md#function-factorization-rngquadelt)

    - [`Factorisation(n): RngQuadElt → SeqEnum, Tup`](elements.md#function-factorisation-rngquadelt)

    - [`TrialDivision(n, B): RngQuadElt, RngIntElt → SeqEnum, SeqEnum, Tup`](elements.md#function-trialdivision-rngquadelt-rngintelt)

  - [Conjugates](elements.md#conjugates)

    - [`ComplexConjugate(a): FldQuadElt → FldQuadElt`](elements.md#function-complexconjugate-fldquadelt)

    - [`ComplexConjugate(a): RngQuadElt → RngQuadElt`](elements.md#function-complexconjugate-rngquadelt)

    - [`Conjugate(a): FldQuadElt → FldQuadElt`](elements.md#function-conjugate-fldquadelt)

    - [`Conjugate(a): RngQuadElt → RngQuadElt`](elements.md#function-conjugate-rngquadelt)

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

    - [`BiquadraticResidueSymbol(a, b): RngQuadElt, RngQuadElt → RngQuadElt`](elements.md#function-biquadraticresiduesymbol-rngquadelt-rngquadelt)

    - [`Primary(a): RngQuadElt → RngQuadElt`](elements.md#function-primary-rngquadelt)

    - [`Example: Represent`](elements.md#example-ex-c87bf6)

- [Special Functions for Ideals](special-ideals.md)

  - [`Content(I): RngQuadFracIdl → RngQuadFracIdl`](special-ideals.md#function-content-rngquadfracidl)

  - [`Conjugate(I): RngQuadFracIdl → RngQuadFracIdl`](special-ideals.md#function-conjugate-rngquadfracidl)

  - [`Discriminant(I): RngQuadFracIdl → RngIntElt`](special-ideals.md#function-discriminant-rngquadfracidl)

  - [`QuadraticForm(I): RngQuadFracIdl → QuadBinElt`](special-ideals.md#function-quadraticform-rngquadfracidl)

  - [`Ideal(f): QuadBinElt → RngQuadIdl`](special-ideals.md#function-ideal-quadbinelt)

  - [`Reduction(I): RngQuadFracIdl → RngQuadFracIdl`](special-ideals.md#function-reduction-rngquadfracidl)
