# Algebraic-Geometric Codes

- [Introduction](introduction.md)

- [Creation of an Algebraic Geometric Code](creation.md)

  - [`AlgebraicGeometricCode(S, D): [PlcCrvElt], DivCrvElt → Code`](creation.md#function-algebraicgeometriccode-plccrvelt-divcrvelt)

  - [`AGCode(S, D): [PlcCrvElt], DivCrvElt → Code`](creation.md#function-agcode-plccrvelt-divcrvelt)

  - [`AlgebraicGeometricDualCode(S, D): [PlcCrvElt], DivCrvElt → Code`](creation.md#function-algebraicgeometricdualcode-plccrvelt-divcrvelt)

  - [`AGDualCode(S, D): [PlcCrvElt], DivCrvElt → Code`](creation.md#function-agdualcode-plccrvelt-divcrvelt)

  - [`HermitianCode(q, r): RngIntElt, RngIntElt → Code`](creation.md#function-hermitiancode-rngintelt-rngintelt)

  - [`Example: Algebraic Geometric Code`](creation.md#example-ex-239058)

  - [`Example: Algebraic Geometric Code`](creation.md#example-ex-24ba2f)

- [Properties of AG–Codes](properties.md)

  - [`IsWeaklyAG(C): Code → BoolElt`](properties.md#function-isweaklyag-code)

  - [`IsWeaklyAGDual(C): Code → BoolElt`](properties.md#function-isweaklyagdual-code)

  - [`IsAlgebraicGeometric(C): Code → BoolElt`](properties.md#function-isalgebraicgeometric-code)

  - [`IsStronglyAG(C): Code → BoolElt`](properties.md#function-isstronglyag-code)

- [Access Functions](access.md)

  - [`Curve(C): Code → Crv`](access.md#function-curve-code)

  - [`GeometricSupport(C): Code → DivCrvElt`](access.md#function-geometricsupport-code)

  - [`Divisor(C): Code → DivCrvElt`](access.md#function-divisor-code)

  - [`GoppaDesignedDistance(C): Code → RngIntElt`](access.md#function-goppadesigneddistance-code)

- [Decoding AG Codes](decode.md)

  - [`AGDecode(C, v, Fd): CodeLinFld, ModTupFldElt, DivCrvElt → ModTupFldElt`](decode.md#function-agdecode-codelinfld-modtupfldelt-divcrvelt)

  - [`Example: AG Decode`](decode.md#example-ex-a1eda2)

- [Toric Codes](decode-2.md)

  - [`ToricCode(P, q): TorPol, RngIntElt → Code`](decode-2.md#function-toriccode-torpol-rngintelt)

  - [`ToricCode(S, q): SeqEnum[TorLatElt], RngIntElt → Code`](decode-2.md#function-toriccode-seqenum-torlatelt-rngintelt)

  - [`ToricCode(S, q): SetEnum[TorLatElt], RngIntElt → Code`](decode-2.md#function-toriccode-setenum-torlatelt-rngintelt)

  - [`Example: Toric Code`](decode-2.md#example-ex-deddf3)
