# Quadratic Forms

- [Introduction](introduction.md)

- [Constructions and Conversions](constructions-conversions.md)

  - [`SymmetricMatrix(f): RngMPolElt → Mtrx`](constructions-conversions.md#function-symmetricmatrix-rngmpolelt)

  - [`GramMatrix(L): Lat → Mtrx`](constructions-conversions.md#function-grammatrix-lat)

  - [`QuadraticForm(L): Lat → RngMPolElt`](constructions-conversions.md#function-quadraticform-lat)

  - [`QuadraticForm(M): Mtrx → RngMPolElt`](constructions-conversions.md#function-quadraticform-mtrx)

  - [`QuadraticFormWithInvariants(n, d, F, N): RngIntElt, RngElt, { RngIntElt }, RngIntElt → AlgMatElt`](constructions-conversions.md#function-quadraticformwithinvariants-rngintelt-rngelt-rngintelt-rngintelt)

  - [`QuadraticFormWithInvariants(n, d, F, N): RngIntElt, FldAlgElt, { RngOrdIdl }, [ RngIntElt ] → AlgMatElt`](constructions-conversions.md#function-quadraticformwithinvariants-rngintelt-fldalgelt-rngordidl-rngintelt)

- [Local Invariants](local-invariants.md)

  - [`pSignature(f,p): RngMPolElt, RngIntElt → RngIntElt`](local-invariants.md#function-psignature-rngmpolelt-rngintelt)

  - [`pSignature(M,p): Mtrx, RngIntElt → RngIntElt`](local-invariants.md#function-psignature-mtrx-rngintelt)

  - [`pSignature(L,p): Lat, RngIntElt → RngIntElt`](local-invariants.md#function-psignature-lat-rngintelt)

  - [`Oddity(f): RngMPolElt → RngIntElt`](local-invariants.md#function-oddity-rngmpolelt)

  - [`Oddity(L): Lat → RngIntElt`](local-invariants.md#function-oddity-lat)

  - [`Oddity(M): Mtrx → RngIntElt`](local-invariants.md#function-oddity-mtrx)

  - [`pExcess(f, p): RngMPolElt, RngIntElt → RngIntElt`](local-invariants.md#function-pexcess-rngmpolelt-rngintelt)

  - [`pExcess(M, p): Mtrx, RngIntElt → RngIntElt`](local-invariants.md#function-pexcess-mtrx-rngintelt)

  - [`pExcess(L, p): Lat, RngIntElt → RngIntElt`](local-invariants.md#function-pexcess-lat-rngintelt)

  - [`WittInvariant(f, p): RngMPolElt, RngIntElt → RngIntElt`](local-invariants.md#function-wittinvariant-rngmpolelt-rngintelt)

  - [`WittInvariant(M, p): AlgMatElt, RngIntElt → RngIntElt`](local-invariants.md#function-wittinvariant-algmatelt-rngintelt)

  - [`WittInvariant(L, p): Lat, RngIntElt → RngIntElt`](local-invariants.md#function-wittinvariant-lat-rngintelt)

  - [`WittInvariant(L, P): Lat, RngInt → RngIntElt`](local-invariants.md#function-wittinvariant-lat-rngint)

  - [`WittInvariant(L, P): LatNF, RngOrdIdl → RngIntElt`](local-invariants.md#function-wittinvariant-latnf-rngordidl)

  - [`HasseInvariant(f, p): RngMPolElt, RngIntElt → RngIntElt`](local-invariants.md#function-hasseinvariant-rngmpolelt-rngintelt)

  - [`HasseInvariant(M, p): AlgMatElt, RngIntElt → RngIntElt`](local-invariants.md#function-hasseinvariant-algmatelt-rngintelt)

  - [`HasseMinkowskiInvariant(f, p): RngMPolElt, RngIntElt → RngIntElt`](local-invariants.md#function-hasseminkowskiinvariant-rngmpolelt-rngintelt)

  - [`HasseMinkowskiInvariant(M, p): AlgMatElt, RngIntElt → RngIntElt`](local-invariants.md#function-hasseminkowskiinvariant-algmatelt-rngintelt)

  - [`HasseInvariant(L, p): Lat, RngIntElt → RngIntElt`](local-invariants.md#function-hasseinvariant-lat-rngintelt)

  - [`HasseMinkowskiInvariant(L, p): Lat, RngIntElt → RngIntElt`](local-invariants.md#function-hasseminkowskiinvariant-lat-rngintelt)

  - [`HasseInvariant(L, P): Lat, RngInt → RngIntElt`](local-invariants.md#function-hasseinvariant-lat-rngint)

  - [`HasseInvariant(L, P): LatNF, RngOrdIdl → RngIntElt`](local-invariants.md#function-hasseinvariant-latnf-rngordidl)

  - [`HasseMinkowskiInvariant(L, P): Lat, RngInt → RngIntElt`](local-invariants.md#function-hasseminkowskiinvariant-lat-rngint)

  - [`WittInvariants(f): RngMPolElt → SeqEnum`](local-invariants.md#function-wittinvariants-rngmpolelt)

  - [`WittInvariants(M): AlgMatElt → SeqEnum`](local-invariants.md#function-wittinvariants-algmatelt)

  - [`WittInvariants(L): Lat → SeqEnum`](local-invariants.md#function-wittinvariants-lat)

  - [`HasseInvariants(f): RngMPolElt → SeqEnum`](local-invariants.md#function-hasseinvariants-rngmpolelt)

  - [`HasseInvariants(M): AlgMatElt → SeqEnum`](local-invariants.md#function-hasseinvariants-algmatelt)

  - [`HasseInvariants(L): Lat → SeqEnum`](local-invariants.md#function-hasseinvariants-lat)

  - [`HasseMinkowskiInvariants(f): RngMPolElt → SeqEnum`](local-invariants.md#function-hasseminkowskiinvariants-rngmpolelt)

  - [`HasseMinkowskiInvariants(M): AlgMatElt → SeqEnum`](local-invariants.md#function-hasseminkowskiinvariants-algmatelt)

  - [`HasseMinkowskiInvariants(L): Lat → SeqEnum`](local-invariants.md#function-hasseminkowskiinvariants-lat)

  - [`QuadraticFormInvariants(f): RngMPolElt → FldElt, SetEnum, SeqEnum[RngIntElt]`](local-invariants.md#function-quadraticforminvariants-rngmpolelt)

  - [`QuadraticFormInvariants(M): AlgMatElt → FldElt, SetEnum, SeqEnum[RngIntElt]`](local-invariants.md#function-quadraticforminvariants-algmatelt)

  - [`QuadraticFormInvariants(L): LatNF → FldElt, SetEnum, SeqEnum[RngIntElt]`](local-invariants.md#function-quadraticforminvariants-latnf)

- [Isotropic Subspaces](isotropic.md)

  - [`IsotropicSubspace(f): RngMPolElt → ModTupRng`](isotropic.md#function-isotropicsubspace-rngmpolelt)

  - [`IsotropicSubspace(M): Mtrx → ModTupRng`](isotropic.md#function-isotropicsubspace-mtrx)

  - [`Example: Isotropy And Witt`](isotropic.md#example-ex-2680d8)

  - [`Example: Second Example Witt`](isotropic.md#example-ex-ed2b1e)

- [Equivalence](Equivalence.md)

  - [`IsRationallyEquivalent(X, Y): AlgMatElt, AlgMatElt → BoolElt, AlgMatElt`](Equivalence.md#function-isrationallyequivalent-algmatelt-algmatelt)

  - [`IsRationallyEquivalent(f, g): RngMPolElt, RngMPolElt → BoolElt, AlgMatElt`](Equivalence.md#function-isrationallyequivalent-rngmpolelt-rngmpolelt)

  - [`IsRationallySimilar(X, Y): AlgMatElt, AlgMatElt → BoolElt, AlgMatElt, RngIntElt`](Equivalence.md#function-isrationallysimilar-algmatelt-algmatelt)

  - [`IsRationallySimilar(f, g): RngMPolElt, RngMPolElt → BoolElt, AlgMatElt, RngIntElt`](Equivalence.md#function-isrationallysimilar-rngmpolelt-rngmpolelt)
