# Linear Codes over Finite Fields

- [Introduction](introduction.md)

- [Construction of Codes](creation.md)

  - [Construction of General Linear Codes](creation.md#construction-of-general-linear-codes)

    - [`LinearCode<R, n | L>: FldFin, RngIntElt, List → Code`](creation.md#constructor-constructor-linearcode-fldfin-rngintelt-list-code)

    - [`Example: Ternary Golay Code`](creation.md#example-ex-4d7dd8)

    - [`LinearCode(U): ModTupRng → Code`](creation.md#function-linearcode-modtuprng)

    - [`LinearCode(A): ModMatRngElt → Code`](creation.md#function-linearcode-modmatrngelt)

    - [`Example: Code From Matrix`](creation.md#example-ex-854c75)

    - [`PermutationCode(u, G): ModTupRngElt, GrpPerm → Code`](creation.md#function-permutationcode-modtuprngelt-grpperm)

    - [`Example: Permutation Code`](creation.md#example-ex-db1b6e)

  - [Some Trivial Linear Codes](creation.md#some-trivial-linear-codes)

    - [`ZeroCode(R, n): FldFin, RngIntElt → Code`](creation.md#function-zerocode-fldfin-rngintelt)

    - [`RepetitionCode(R, n): FldFin, RngIntElt → Code`](creation.md#function-repetitioncode-fldfin-rngintelt)

    - [`ZeroSumCode(R, n): FldFin, RngIntElt → Code`](creation.md#function-zerosumcode-fldfin-rngintelt)

    - [`UniverseCode(R, n): FldFin, RngIntElt → Code`](creation.md#function-universecode-fldfin-rngintelt)

    - [`EvenWeightCode(n): RngIntElt → Code`](creation.md#function-evenweightcode-rngintelt)

    - [`EvenWeightSubcode(C): Code → Code`](creation.md#function-evenweightsubcode-code)

    - [`RandomLinearCode(K, n, k): FldFin, RngIntElt, RngIntElt → Code`](creation.md#function-randomlinearcode-fldfin-rngintelt-rngintelt)

    - [`CordaroWagnerCode(n): RngIntElt → Code`](creation.md#function-cordarowagnercode-rngintelt)

    - [`Example: Simple Code Chain`](creation.md#example-ex-552322)

  - [Some Basic Families of Codes](creation.md#some-basic-families-of-codes)

    - [`CyclicCode(n, g): RngIntElt, RngUPolElt → Code`](creation.md#function-cycliccode-rngintelt-rngupolelt)

    - [`Example: Cyclic Code`](creation.md#example-ex-667d8b)

    - [`HammingCode(K, r): FldFin, RngIntElt → Code`](creation.md#function-hammingcode-fldfin-rngintelt)

    - [`Example: Hamming Code`](creation.md#example-ex-496ba8)

    - [`SimplexCode(r): RngIntElt → Code`](creation.md#function-simplexcode-rngintelt)

    - [`ReedMullerCode(r, m): RngIntElt, RngIntElt → Code`](creation.md#function-reedmullercode-rngintelt-rngintelt)

    - [`Example: Reed Muller Code`](creation.md#example-ex-86fc03)

- [Invariants of a Code](access.md)

  - [Basic Numerical Invariants](access.md#basic-numerical-invariants)

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

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

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

    - [`# C: Code → RngIntElt`](access.md#operation-operation-code-rngintelt)

    - [`InformationRate(C): Code → FldPrElt`](access.md#function-informationrate-code)

  - [The Ambient Space and Alphabet](access.md#the-ambient-space-and-alphabet)

    - [`AmbientSpace(C): Code → ModTupRng`](access.md#function-ambientspace-code)

    - [`RSpace(C): Code → ModTupRng`](access.md#function-rspace-code)

    - [`VectorSpace(C): Code → ModTupFld`](access.md#function-vectorspace-code)

    - [`Generic(C): Code → Code`](access.md#function-generic-code)

    - [`Alphabet(C): Code → Rng`](access.md#function-alphabet-code)

    - [`Field(C): Code → Rng`](access.md#function-field-code)

  - [The Code Space](access.md#the-code-space)

    - [`GeneratorMatrix(C): Code → ModMatFldElt`](access.md#function-generatormatrix-code)

    - [`BasisMatrix(C): Code → ModMatRngElt`](access.md#function-basismatrix-code)

    - [`Basis(C): Code → [ ModTupRngElt ]`](access.md#function-basis-code)

    - [`Generators(C): Code → { ModTupFldElt }`](access.md#function-generators-code)

    - [`C . i: Code, RngIntElt → ModTupFldElt`](access.md#operation-operation-code-rngintelt-modtupfldelt)

  - [The Dual Space](access.md#the-dual-space)

    - [`Dual(C): Code → Code`](access.md#function-dual-code)

    - [`ParityCheckMatrix(C): Code → ModMatFldElt`](access.md#function-paritycheckmatrix-code)

    - [`Example: Generator Matrix`](access.md#example-ex-7ec540)

    - [`Hull(C): Code → Code`](access.md#function-hull-code)

  - [The Information Space and Information Sets](access.md#the-information-space-and-information-sets)

    - [`InformationSpace(C): Code → ModTupFld`](access.md#function-informationspace-code)

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

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

    - [`StandardForm(C): Code → Code, Map`](access.md#function-standardform-code)

    - [`Example: Standard Form`](access.md#example-ex-8132b6)

  - [The Syndrome Space](access.md#the-syndrome-space)

    - [`SyndromeSpace(C): Code → ModTupFld`](access.md#function-syndromespace-code)

  - [The Generator Polynomial](access.md#the-generator-polynomial)

    - [`GeneratorPolynomial(C): Code → RngUPolElt`](access.md#function-generatorpolynomial-code)

    - [`CheckPolynomial(C): Code → RngUPolElt`](access.md#function-checkpolynomial-code)

    - [`Idempotent(C): Code → RngUPolElt`](access.md#function-idempotent-code)

    - [`Example: Generator Polynomial`](access.md#example-ex-889cde)

- [Operations on Codewords](element.md)

  - [Construction of a Codeword](element.md#construction-of-a-codeword)

    - [`C ! [a₁, ..., aₙ]: Code, [ RngElt ] → ModTupRngElt`](element.md#operation-op-code-rngelt)

    - [`elt< C | a₁, ..., aₙ>: Code, List → ModTupRngElt`](element.md#constructor-constructor-elt-code-list-modtuprngelt)

    - [`C ! u: Code, ModTupRngElt → ModTupRngElt`](element.md#operation-op-code-modtuprngelt)

    - [`C ! 0: Code, RngIntElt → ModTupRngElt`](element.md#operation-op-code-rngintelt)

    - [`Random(C): Code → ModTupRngElt`](element.md#function-random-code)

  - [Arithmetic Operations on Codewords](element.md#arithmetic-operations-on-codewords)

    - [`u + v: ModTupRngElt, ModTupRngElt → ModTupRngElt`](element.md#operation-op-plus-modtuprngelt-modtuprngelt)

    - [`- u: ModTupRngElt → ModTupRngElt`](element.md#operation-operation-modtuprngelt-modtuprngelt)

    - [`u - v: ModTupRngElt, ModTupRngElt → ModTupRngElt`](element.md#operation-op-minus-modtuprngelt-modtuprngelt)

    - [`a * u: RngElt, ModTupRngElt → ModTupRngElt`](element.md#operation-op-times-rngelt-modtuprngelt)

    - [`Normalize(u): ModTupRngElt → ModTupRngElt`](element.md#function-normalize-modtuprngelt)

    - [`Syndrome(w, C): ModTupFldElt, Code → ModTupFldElt`](element.md#function-syndrome-modtupfldelt-code)

  - [Distance and Weight](element.md#distance-and-weight)

    - [`Distance(u, v): ModTupRngElt, ModTupRngElt → RngIntElt`](element.md#function-distance-modtuprngelt-modtuprngelt)

    - [`Weight(u): ModTupRngElt → RngIntElt`](element.md#function-weight-modtuprngelt)

    - [`LeeWeight(u): ModTupRngElt → RngIntElt`](element.md#function-leeweight-modtuprngelt)

    - [`Example: Distance`](element.md#example-ex-75e920)

  - [Vector Space and Related Operations](element.md#vector-space-and-related-operations)

    - [`(u, v): ModTupRngElt, ModTupRngElt → RngElt`](element.md#literal-literal-u-v-modtuprngelt-modtuprngelt-rngelt)

    - [`InnerProduct(u, v): ModTupRngElt, ModTupRngElt → RngElt`](element.md#function-innerproduct-modtuprngelt-modtuprngelt)

    - [`Support(w): ModTupRngElt → { RngIntElt }`](element.md#function-support-modtuprngelt)

    - [`Coordinates(C, u): Code, ModTupRngElt → [ RngFinElt ]`](element.md#function-coordinates-code-modtuprngelt)

    - [`Parent(w): ModTupRngElt → ModTupRng`](element.md#function-parent-modtuprngelt)

    - [`Rotate(u, k): ModTupRngElt, RngIntElt → ModTupRngElt`](element.md#function-rotate-modtuprngelt-rngintelt)

    - [`Rotate(~u, k): ModTupRngElt, RngIntElt`](element.md#function-rotate-modtuprngelt-rngintelt-ref)

    - [`Trace(u, S): ModTupFldElt, FldFin → ModTupFldElt`](element.md#function-trace-modtupfldelt-fldfin)

    - [`Trace(u): ModTupFldElt → ModTupFldElt`](element.md#function-trace-modtupfldelt)

    - [`Example: Coordinates`](element.md#example-ex-fb5172)

  - [Predicates for Codewords](element.md#predicates-for-codewords)

    - [`u eq v: ModTupRngElt, ModTupRngElt → BoolElt`](element.md#operation-op-eq-modtuprngelt-modtuprngelt)

    - [`u ne v: ModTupRngElt, ModTupRngElt → BoolElt`](element.md#operation-op-ne-modtuprngelt-modtuprngelt)

    - [`IsZero(u): ModTupRngElt → BoolElt`](element.md#function-iszero-modtuprngelt)

  - [Accessing Components of a Codeword](element.md#accessing-components-of-a-codeword)

    - [`u[i]: ModTupRngElt, RngIntElt → RngElt`](element.md#literal-literal-u-i-modtuprngelt-rngintelt-rngelt)

    - [`u[i] := x;`](element.md#literal-literal-u-i-x)

- [Coset Leaders](coset-leader.md)

  - [`CosetLeaders(C): Code → { @ ModTupFldElt  @}, Map`](coset-leader.md#function-cosetleaders-code)

  - [`Example: Coset Leaders`](coset-leader.md#example-ex-6ef726)

- [Subcodes](subcode.md)

  - [The Subcode Constructor](subcode.md#the-subcode-constructor)

    - [`sub<C | L>: Code, List → Code`](subcode.md#constructor-constructor-sub-code-list-code)

    - [`Subcode(C, k): Code, RngIntElt → Code`](subcode.md#function-subcode-code-rngintelt)

    - [`Subcode(C, S): Code, { RngIntElt } → Code`](subcode.md#function-subcode-code-rngintelt-2)

    - [`SubcodeBetweenCode(C1, C2, k): Code, Code, RngIntElt → Code`](subcode.md#function-subcodebetweencode-code-code-rngintelt)

    - [`SubcodeWordsOfWeight(C, S): Code, { RngIntElt } → Code`](subcode.md#function-subcodewordsofweight-code-rngintelt)

    - [`Example: Subcode Between Code`](subcode.md#example-ex-db10dc)

  - [Sum, Intersection, Duals and Hulls](subcode.md#sum-intersection-duals-and-hulls)

    - [`C + D: Code, Code → Code`](subcode.md#operation-op-plus-code-code)

    - [`C meet D: Code, Code → Code`](subcode.md#operation-op-meet-code-code)

    - [`Dual(C): Code → Code`](subcode.md#function-dual-code-2)

    - [`Example: Sum Intersection`](subcode.md#example-ex-377d6d)

    - [`Example: Dual RS`](subcode.md#example-ex-cfd60d)

    - [`HermitianDual(C): CodeLinFld → CodeLinFld`](subcode.md#function-hermitiandual-codelinfld)

    - [`Hull(C): CodeLinFld → CodeLinFld`](subcode.md#function-hull-codelinfld)

    - [`HermitianHull(C): CodeLinFld → CodeLinFld`](subcode.md#function-hermitianhull-codelinfld)

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

    - [`u in C: ModTupRngElt, Code → BoolElt`](subcode.md#operation-op-in-modtuprngelt-code)

    - [`u notin C: ModTupRngElt, Code → BoolElt`](subcode.md#operation-op-notin-modtuprngelt-code)

    - [`C subset D: Code, Code → BoolElt`](subcode.md#operation-op-subset-code-code)

    - [`C notsubset D: Code, Code → BoolElt`](subcode.md#operation-operation-notsubset-code-code-boolelt)

    - [`C eq D: Code, Code → BoolElt`](subcode.md#operation-op-eq-code-code)

    - [`C ne D: Code, Code → BoolElt`](subcode.md#operation-op-ne-code-code)

- [Properties of Codes](Boolean.md)

  - [`IsCyclic(C): Code → BoolElt`](Boolean.md#function-iscyclic-code)

  - [`IsSelfDual(C): Code → BoolElt`](Boolean.md#function-isselfdual-code)

  - [`IsSelfOrthogonal(C): Code → BoolElt`](Boolean.md#function-isselforthogonal-code)

  - [`IsHermitianSelfDual(C): CodeLinFld → BoolElt`](Boolean.md#function-ishermitianselfdual-codelinfld)

  - [`IsHermitianSelfOrthogonal(C): CodeLinFld → BoolElt`](Boolean.md#function-ishermitianselforthogonal-codelinfld)

  - [`IsMaximumDistanceSeparable(C): Code → BoolElt`](Boolean.md#function-ismaximumdistanceseparable-code)

  - [`IsMDS(C): Code → BoolElt`](Boolean.md#function-ismds-code)

  - [`IsEquidistant(C): Code → BoolElt`](Boolean.md#function-isequidistant-code)

  - [`IsPerfect(C): Code → BoolElt`](Boolean.md#function-isperfect-code)

  - [`IsNearlyPerfect(C): Code → BoolElt`](Boolean.md#function-isnearlyperfect-code)

  - [`IsEven(C): Code → BoolElt`](Boolean.md#function-iseven-code)

  - [`IsDoublyEven(C): Code → BoolElt`](Boolean.md#function-isdoublyeven-code)

  - [`IsProjective(C): Code → BoolElt`](Boolean.md#function-isprojective-code)

  - [`Example: Self Dual`](Boolean.md#example-ex-a18e45)

  - [`Example: Self Orthogonal`](Boolean.md#example-ex-f19a8e)

- [The Weight Distribution](structural.md)

  - [The Minimum Weight](structural.md#the-minimum-weight)

    - [`MinimumWeight(C: parameters): Code → RngIntElt`](structural.md#function-codefld-minimumweight)

    - [`MinimumDistance(C: parameters): Code → RngIntElt`](structural.md#function-minimumdistance-code)

    - [`MinimumWeightBounds(C): Code → RngIntElt, RngIntElt`](structural.md#function-minimumweightbounds-code)

    - [`ResetMinimumWeightBounds(C): Code`](structural.md#function-resetminimumweightbounds-code)

    - [`VerifyMinimumDistanceLowerBound(C, d): Code, RngIntElt → BoolElt, RngIntElt, BoolElt`](structural.md#function-verifyminimumdistancelowerbound-code-rngintelt)

    - [`VerifyMinimumDistanceUpperBound(C, d): Code, RngIntElt → BoolElt, RngIntElt, BoolElt`](structural.md#function-verifyminimumdistanceupperbound-code-rngintelt)

    - [`VerifyMinimumWeightUpperBound(C, d: parameters): Code, RngIntElt → BoolElt, RngIntElt, BoolElt`](structural.md#function-verifyminimumweightupperbound-code-rngintelt)

    - [`MinimumWord(C): Code → ModTupFldElt`](structural.md#function-minimumword-code)

    - [`MinimumWords(C): Code → { ModTupFldElt }`](structural.md#function-minimumwords-code)

    - [`Example: Verify Lower`](structural.md#example-ex-1d8077)

    - [`IncludeAutomorphism(~C, p): Code, GrpPermElt`](structural.md#function-includeautomorphism-code-grppermelt-ref)

    - [`IncludeAutomorphism(~C, G): Code, GrpPerm`](structural.md#function-includeautomorphism-code-grpperm-ref)

    - [`KnownAutomorphismSubgroup(C): Code → GrpPerm`](structural.md#function-knownautomorphismsubgroup-code)

  - [The Weight Distribution](structural.md#id2)

    - [`WeightDistribution(C): Code → [ <RngIntElt, RngIntElt> ]`](structural.md#function-weightdistribution-code)

    - [`WeightDistribution(C, u): Code, ModTupFldElt → [ <RngIntElt, RngIntElt> ]`](structural.md#function-weightdistribution-code-modtupfldelt)

    - [`DualWeightDistribution(C): Code → [ <RngIntElt, RngIntElt> ]`](structural.md#function-dualweightdistribution-code)

    - [`Example: Weight Distribution`](structural.md#example-ex-004d0f)

    - [`PartialWeightDistribution(C, ub): Code, RngIntElt → [ <RngIntElt, RngIntElt> ]`](structural.md#function-partialweightdistribution-code-rngintelt)

  - [The Weight Enumerator](structural.md#the-weight-enumerator)

    - [`WeightEnumerator(C): Code → RngMPolElt`](structural.md#function-weightenumerator-code)

    - [`WeightEnumerator(C, u): Code, ModTupFldElt → RngMPolElt`](structural.md#function-weightenumerator-code-modtupfldelt)

    - [`CompleteWeightEnumerator(C): Code → RngMPolElt`](structural.md#function-completeweightenumerator-code)

    - [`CompleteWeightEnumerator(C, u): Code, ModTupFldElt → RngMPolElt`](structural.md#function-completeweightenumerator-code-modtupfldelt)

    - [`Example: Weight Enumerator`](structural.md#example-ex-012900)

  - [The MacWilliams Transform](structural.md#the-macwilliams-transform)

    - [`MacWilliamsTransform(n, k, q, W): RngIntElt, RngIntElt, RngIntElt, [ <RngIntElt, RngIntElt> ] → [ <RngIntElt, RngIntElt> ]`](structural.md#function-macwilliamstransform-rngintelt-rngintelt-rngintelt-rngintelt-rngintelt)

    - [`MacWilliamsTransform(n, k, K, W): RngIntElt, RngIntElt, FldFin, RngMPol → RngMPol`](structural.md#function-macwilliamstransform-rngintelt-rngintelt-fldfin-rngmpol)

    - [`Example: Mac Williams`](structural.md#example-ex-09add6)

  - [Words](structural.md#words)

    - [`Words(C, w: parameters): Code, RngIntElt → { ModTupFldElt }`](structural.md#function-words-code-rngintelt)

    - [`NumberOfWords(C, w): Code, RngIntElt → RngIntElt`](structural.md#function-numberofwords-code-rngintelt)

    - [`WordsOfBoundedWeight(C, l, u: parameters): Code, RngIntElt, RngIntElt → { ModTupFldElt }`](structural.md#function-wordsofboundedweight-code-rngintelt-rngintelt)

    - [`ConstantWords(C, i): Code, RngIntElt → { ModTupFldElt }`](structural.md#function-constantwords-code-rngintelt)

    - [`NumberOfConstantWords(C, i): Code, RngIntElt → RngIntElt`](structural.md#function-numberofconstantwords-code-rngintelt)

    - [`Example: Words`](structural.md#example-ex-22cd32)

  - [Covering Radius and Diameter](structural.md#covering-radius-and-diameter)

    - [`CosetDistanceDistribution(C): Code → [ <RngIntElt, RngIntElt> ]`](structural.md#function-cosetdistancedistribution-code)

    - [`CoveringRadius(C): Code → RngIntElt`](structural.md#function-coveringradius-code)

    - [`Diameter(C): Code → RngIntElt`](structural.md#function-diameter-code)

    - [`Example: Covering Radius`](structural.md#example-ex-df764c)

- [Families of Linear Codes](families.md)

  - [Cyclic and Quasicyclic Codes](families.md#cyclic-and-quasicyclic-codes)

    - [`CyclicCode(u): ModTupRngElt → Code`](families.md#function-cycliccode-modtuprngelt)

    - [`CyclicCode(n, T, K): RngIntElt, [ FldFinElt ], FldFin → Code`](families.md#function-cycliccode-rngintelt-fldfinelt-fldfin)

    - [`CyclicCode(n, T, K): RngIntElt, { FldFinElt }, FldFin → Code`](families.md#function-cycliccode-rngintelt-fldfinelt-fldfin-2)

    - [`QuasiCyclicCode(n, Gen): RngIntElt, [ RngUPolElt ] → Code`](families.md#function-quasicycliccode-rngintelt-rngupolelt)

    - [`QuasiCyclicCode(Gen): [ ModTupRngElt ] → Code`](families.md#function-quasicycliccode-modtuprngelt)

    - [`QuasiCyclicCode(n, Gen, h): RngIntElt, [ RngUPolElt ], RngIntElt → Code`](families.md#function-quasicycliccode-rngintelt-rngupolelt-rngintelt)

    - [`QuasiCyclicCode(Gen, h): [ModTupRngElt], RngIntElt → Code`](families.md#function-quasicycliccode-modtuprngelt-rngintelt)

    - [`ConstaCyclicCode(n, f, alpha): RngIntElt, RngUPolElt, FldFinElt → Code`](families.md#function-constacycliccode-rngintelt-rngupolelt-fldfinelt)

    - [`QuasiTwistedCyclicCode(n, Gen, alpha): RngIntElt, [RngUPolElt], FldFinElt → Code`](families.md#function-quasitwistedcycliccode-rngintelt-rngupolelt-fldfinelt)

    - [`QuasiTwistedCyclicCode(Gen, alpha): [ModTupRngElt], FldFinElt → Code`](families.md#function-quasitwistedcycliccode-modtuprngelt-fldfinelt)

    - [`QuasiTwistedCyclicCode(n, Gen, alpha, h): RngIntElt, [RngUPolElt], FldFinElt, RngIntElt → Code`](families.md#function-quasitwistedcycliccode-rngintelt-rngupolelt-fldfinelt-rngintelt)

    - [`QuasiTwistedCyclicCode(Gen, alpha, h): [ModTupRngElt], FldFinElt, RngIntElt → Code`](families.md#function-quasitwistedcycliccode-modtuprngelt-fldfinelt-rngintelt)

    - [`Example: Chain Cyclic`](families.md#example-ex-03b862)

    - [`Example: Constacyclic`](families.md#example-ex-975a7d)

  - [BCH Codes and their Generalizations](families.md#bch-codes-and-their-generalizations)

    - [`BCHCode(K, n, d, b): FldFin, RngIntElt, RngIntElt, RngIntElt → Code`](families.md#function-bchcode-fldfin-rngintelt-rngintelt-rngintelt)

    - [`BCHCode(K, n, d): FldFin, RngIntElt, RngIntElt → Code`](families.md#function-bchcode-fldfin-rngintelt-rngintelt)

    - [`Example: BCH Code`](families.md#example-ex-4d1633)

    - [`GoppaCode(L, G): [ FldFinElt ], RngUPolElt → Code`](families.md#function-goppacode-fldfinelt-rngupolelt)

    - [`Example: Goppa Code`](families.md#example-ex-150eaa)

    - [`ChienChoyCode(P, G, n, S): RngUPolElt, RngUPolElt, RngIntElt, FldFin → Code`](families.md#function-chienchoycode-rngupolelt-rngupolelt-rngintelt-fldfin)

    - [`AlternantCode(A, Y, r, S): [ FldFinElt ], [ FldFinElt ], RngIntElt, FldFin → Code`](families.md#function-alternantcode-fldfinelt-fldfinelt-rngintelt-fldfin)

    - [`AlternantCode(A, Y, r): [ FldFinElt ], [ FldFinElt ], RngIntElt → Code`](families.md#function-alternantcode-fldfinelt-fldfinelt-rngintelt)

    - [`Example: Alternant Code`](families.md#example-ex-c9dd03)

    - [`NonPrimitiveAlternantCode(n, m, r): RngIntElt, RngIntElt, RngIntElt → Code`](families.md#function-nonprimitivealternantcode-rngintelt-rngintelt-rngintelt)

    - [`FireCode(h, s, n): RngUPolElt, RngIntElt, RngIntElt → Code`](families.md#function-firecode-rngupolelt-rngintelt-rngintelt)

    - [`GabidulinCode(A, W, Z, t): [ FldFinElt ], [ FldFinElt ], [ FldFinElt ], RngIntElt → Code`](families.md#function-gabidulincode-fldfinelt-fldfinelt-fldfinelt-rngintelt)

    - [`SrivastavaCode(A, W, mu, S): [ FldFinElt ], [ FldFinElt ], RngIntElt, FldFin → Code`](families.md#function-srivastavacode-fldfinelt-fldfinelt-rngintelt-fldfin)

    - [`GeneralizedSrivastavaCode(A, W, Z, t, S): [ FldFinElt ], [ FldFinElt ], [ FldFinElt ], RngIntElt, FldFin → Code`](families.md#function-generalizedsrivastavacode-fldfinelt-fldfinelt-fldfinelt-rngintelt-fldfin)

  - [Quadratic Residue Codes and their Generalizations](families.md#quadratic-residue-codes-and-their-generalizations)

    - [`QRCode(K, n): FldFin, RngIntElt → Code`](families.md#function-qrcode-fldfin-rngintelt)

    - [`GolayCode(K, ext): FldFin, BoolElt → Code`](families.md#function-golaycode-fldfin-boolelt)

    - [`DoublyCirculantQRCode(p): RngIntElt → Code`](families.md#function-doublycirculantqrcode-rngintelt)

    - [`DoublyCirculantQRCodeGF4(m, a): RngIntElt, RngElt → Code`](families.md#function-doublycirculantqrcodegf4-rngintelt-rngelt)

    - [`BorderedDoublyCirculantQRCode(p, a, b): RngIntElt, RngElt, RngElt → Code`](families.md#function-bordereddoublycirculantqrcode-rngintelt-rngelt-rngelt)

    - [`TwistedQRCode(l, m): RngIntElt, RngIntElt → Code`](families.md#function-twistedqrcode-rngintelt-rngintelt)

    - [`PowerResidueCode(K, n, p): FldFin, RngIntElt, RngIntElt → Code`](families.md#function-powerresiduecode-fldfin-rngintelt-rngintelt)

    - [`Example: Quadratic Residue Code`](families.md#example-ex-6c6e7c)

  - [Reed–Solomon and Justesen Codes](families.md#reed-solomon-and-justesen-codes)

    - [`ReedSolomonCode(K, d, b): FldFin, RngIntElt, RngIntElt → Code`](families.md#function-reedsolomoncode-fldfin-rngintelt-rngintelt)

    - [`ReedSolomonCode(K, d): FldFin, RngIntElt → Code`](families.md#function-reedsolomoncode-fldfin-rngintelt)

    - [`ReedSolomonCode(n, d): RngIntElt, RngIntElt → Code`](families.md#function-reedsolomoncode-rngintelt-rngintelt)

    - [`ReedSolomonCode(n, d, b): RngIntElt, RngIntElt, RngIntElt → Code`](families.md#function-reedsolomoncode-rngintelt-rngintelt-rngintelt)

    - [`GRSCode(A, V, k): [ FldFinElt ], [ FldFinElt ], RngIntElt → Code`](families.md#function-grscode-fldfinelt-fldfinelt-rngintelt)

    - [`JustesenCode(N, K): Code, FldFinElt, RngIntElt → Code`](families.md#function-justesencode-code-fldfinelt-rngintelt)

    - [`Example: GRS Code`](families.md#example-ex-6976f5)

  - [Maximum Distance Separable Codes](families.md#maximum-distance-separable-codes)

    - [`MDSCode(K, k): FldFin, RngIntElt → Code`](families.md#function-mdscode-fldfin-rngintelt)

- [New Codes from Existing](operation.md)

  - [Standard Constructions](operation.md#standard-constructions)

    - [`AugmentCode(C): Code → Code`](operation.md#function-augmentcode-code)

    - [`CodeComplement(C, C1): Code, Code → Code`](operation.md#function-codecomplement-code-code)

    - [`DirectSum(C, D): Code, Code → Code`](operation.md#function-directsum-code-code)

    - [`DirectSum(Q): [Code] → Code`](operation.md#function-directsum-code)

    - [`DirectProduct(C, D): Code, Code → Code`](operation.md#function-directproduct-code-code)

    - [`ProductCode(C, D): Code, Code → Code`](operation.md#function-productcode-code-code)

    - [`ExtendCode(C): Code → Code`](operation.md#function-extendcode-code)

    - [`ExtendCode(C, n): Code, RngIntElt → Code`](operation.md#function-extendcode-code-rngintelt)

    - [`PadCode(C, n): Code, RngIntElt → Code`](operation.md#function-padcode-code-rngintelt)

    - [`ExpurgateCode(C): Code → Code`](operation.md#function-expurgatecode-code)

    - [`ExpurgateCode(C, L): Code, [ModTupFldElt] → Code`](operation.md#function-expurgatecode-code-modtupfldelt)

    - [`ExpurgateWeightCode(C, w): Code, RngIntElt → Code`](operation.md#function-expurgateweightcode-code-rngintelt)

    - [`LengthenCode(C): Code → Code`](operation.md#function-lengthencode-code)

    - [`PlotkinSum(C1, C2): Code, Code → Code`](operation.md#function-plotkinsum-code-code)

    - [`PlotkinSum(C1, C2, C3: parameters): Code, Code, Code → Code`](operation.md#function-plotkinsum-code-code-code)

    - [`PunctureCode(C, i): Code, RngIntElt → Code`](operation.md#function-puncturecode-code-rngintelt)

    - [`PunctureCode(C, S): Code, { RngIntElt } → Code`](operation.md#function-puncturecode-code-rngintelt-2)

    - [`ShortenCode(C, i): Code, RngIntElt → Code`](operation.md#function-shortencode-code-rngintelt)

    - [`ShortenCode(C, S): Code, { RngIntElt } → Code`](operation.md#function-shortencode-code-rngintelt-2)

    - [`Example: Make12 8 4Code`](operation.md#example-ex-7b4c39)

  - [Changing the Alphabet of a Code](operation.md#changing-the-alphabet-of-a-code)

    - [`ExtendField(C, L): Code, FldFin → Code, Map`](operation.md#function-extendfield-code-fldfin)

    - [`LinearCode(C, S): Code, FldFin → Code, Map`](operation.md#function-linearcode-code-fldfin)

    - [`SubfieldRepresentationCode(C, K): Code, FldFin → Code`](operation.md#function-subfieldrepresentationcode-code-fldfin)

    - [`SubfieldRepresentationParityCode(C, K): Code, FldFin → Code`](operation.md#function-subfieldrepresentationparitycode-code-fldfin)

    - [`SubfieldSubcode(C, S): Code, FldFin → Code, Map`](operation.md#function-subfieldsubcode-code-fldfin)

    - [`RestrictField(C, S): Code, FldFin → Code, Map`](operation.md#function-restrictfield-code-fldfin)

    - [`SubfieldSubcode(C): Code → Code, Map`](operation.md#function-subfieldsubcode-code)

    - [`RestrictField(C): Code → Code, Map`](operation.md#function-restrictfield-code)

    - [`SubfieldCode(C, S): Code, FldFin → Code`](operation.md#function-subfieldcode-code-fldfin)

    - [`Trace(C, F): Code, FldFin → Code`](operation.md#function-trace-code-fldfin)

    - [`Trace(C): Code → Code`](operation.md#function-trace-code)

  - [Combining Codes](operation.md#combining-codes)

    - [`C1 cat C2: Code, Code → Code`](operation.md#operation-operation-cat-code-code-code)

    - [`Juxtaposition(C1, C2): Code, Code → Code`](operation.md#function-juxtaposition-code-code)

    - [`ConcatenatedCode(O, I): Code, Code → Code`](operation.md#function-concatenatedcode-code-code)

    - [`Example: Concatenated Code`](operation.md#example-ex-b27a80)

    - [`ConstructionX(C1, C2, C3): Code, Code, Code → Code`](operation.md#function-constructionx-code-code-code)

    - [`ConstructionXChain(S, C): [Code], Code → [Code]`](operation.md#function-constructionxchain-code-code)

    - [`Example: construction X`](operation.md#example-ex-78f34f)

    - [`ConstructionX3(C1, C2, C3, D1, D2): Code, Code, Code, Code, Code → Code, Map`](operation.md#function-constructionx3-code-code-code-code-code)

    - [`ConstructionX3u(C1, C2, C3, D1, D2): Code, Code, Code, Code, Code → Code, Code`](operation.md#function-constructionx3u-code-code-code-code-code)

    - [`Example: X3`](operation.md#example-ex-3a19a8)

    - [`ConstructionXX(C1, C2, C3, D2, D3): Code, Code, Code, Code, Code → Code`](operation.md#function-constructionxx-code-code-code-code-code)

    - [`Example: XX`](operation.md#example-ex-db315b)

    - [`ZinovievCode(I, O): [Code], [Code] → Code`](operation.md#function-zinovievcode-code-code)

    - [`Example: Zinoviev`](operation.md#example-ex-cc2def)

    - [`ConstructionY1(C): Code → Code`](operation.md#function-constructiony1-code)

    - [`ConstructionY1(C, w): Code, RngIntElt → Code`](operation.md#function-constructiony1-code-rngintelt)

- [Coding Theory and Cryptography](codingcrypto.md)

  - [Standard Attacks](codingcrypto.md#standard-attacks)

    - [`McEliecesAttack(C, v, e): Code, ModTupFldElt, RngIntElt → ModTupFldElt`](codingcrypto.md#function-mceliecesattack-code-modtupfldelt-rngintelt)

    - [`LeeBrickellsAttack(C, v, e, p): Code, ModTupFldElt, RngIntElt, RngIntElt → ModTupFldElt`](codingcrypto.md#function-leebrickellsattack-code-modtupfldelt-rngintelt-rngintelt)

    - [`LeonsAttack(C, v, e, p, l): Code, ModTupFldElt, RngIntElt, RngIntElt, RngIntElt → ModTupFldElt`](codingcrypto.md#function-leonsattack-code-modtupfldelt-rngintelt-rngintelt-rngintelt)

    - [`SternsAttack(C, v, e, p, l): Code, ModTupFldElt, RngIntElt, RngIntElt, RngIntElt → ModTupFldElt`](codingcrypto.md#function-sternsattack-code-modtupfldelt-rngintelt-rngintelt-rngintelt)

    - [`CanteautChabaudsAttack(C, v, e, p, l): Code, ModTupFldElt, RngIntElt, RngIntElt, RngIntElt → ModTupFldElt`](codingcrypto.md#function-canteautchabaudsattack-code-modtupfldelt-rngintelt-rngintelt-rngintelt)

  - [Generalized Attacks](codingcrypto.md#generalized-attacks)

    - [`DecodingAttack(C, v, e): Code, ModTupFldElt, RngIntElt → ModTupFldElt`](codingcrypto.md#function-decodingattack-code-modtupfldelt-rngintelt)

- [Bounds](bound.md)

  - [Best Known Bounds for Linear Codes](bound.md#best-known-bounds-for-linear-codes)

    - [`BKLCLowerBound(F, n, k): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-bklclowerbound-fldfin-rngintelt-rngintelt)

    - [`BKLCUpperBound(F, n, k): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-bklcupperbound-fldfin-rngintelt-rngintelt)

    - [`BLLCLowerBound(F, k, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-bllclowerbound-fldfin-rngintelt-rngintelt)

    - [`BLLCUpperBound(F, k, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-bllcupperbound-fldfin-rngintelt-rngintelt)

    - [`BDLCLowerBound(F, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-bdlclowerbound-fldfin-rngintelt-rngintelt)

    - [`BDLCUpperBound(F, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-bdlcupperbound-fldfin-rngintelt-rngintelt)

  - [Bounds on the Cardinality of a Largest Code](bound.md#bounds-on-the-cardinality-of-a-largest-code)

    - [`EliasBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-eliasbound-fldfin-rngintelt-rngintelt)

    - [`GriesmerBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-griesmerbound-fldfin-rngintelt-rngintelt)

    - [`JohnsonBound(n, d): RngIntElt, RngIntElt → RngIntElt`](bound.md#function-johnsonbound-rngintelt-rngintelt)

    - [`LevenshteinBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-levenshteinbound-fldfin-rngintelt-rngintelt)

    - [`PlotkinBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-plotkinbound-fldfin-rngintelt-rngintelt)

    - [`SingletonBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-singletonbound-fldfin-rngintelt-rngintelt)

    - [`SpherePackingBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-spherepackingbound-fldfin-rngintelt-rngintelt)

    - [`GilbertVarshamovBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-gilbertvarshamovbound-fldfin-rngintelt-rngintelt)

    - [`GilbertVarshamovLinearBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-gilbertvarshamovlinearbound-fldfin-rngintelt-rngintelt)

    - [`VanLintBound(K, n, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-vanlintbound-fldfin-rngintelt-rngintelt)

    - [`Example: Card Best Comparison`](bound.md#example-ex-89ddc1)

  - [Bounds on the Minimum Distance](bound.md#bounds-on-the-minimum-distance)

    - [`BCHBound(C): Code → RngIntElt, RngIntElt`](bound.md#function-bchbound-code)

    - [`GriesmerMinimumWeightBound(K, n, k): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-griesmerminimumweightbound-fldfin-rngintelt-rngintelt)

  - [Asymptotic Bounds on the Information Rate](bound.md#asymptotic-bounds-on-the-information-rate)

    - [`EliasAsymptoticBound(K, delta): FldFin, FldPrElt → FldPrElt`](bound.md#function-eliasasymptoticbound-fldfin-fldprelt)

    - [`McElieceEtAlAsymptoticBound(delta): FldPrElt → FldPrElt`](bound.md#function-mcelieceetalasymptoticbound-fldprelt)

    - [`PlotkinAsymptoticBound(K, delta): FldFin, FldPrElt → FldPrElt`](bound.md#function-plotkinasymptoticbound-fldfin-fldprelt)

    - [`SingletonAsymptoticBound(delta): FldPrElt → FldPrElt`](bound.md#function-singletonasymptoticbound-fldprelt)

    - [`HammingAsymptoticBound(K, delta): FldFin, FldPrElt → FldPrElt`](bound.md#function-hammingasymptoticbound-fldfin-fldprelt)

    - [`GilbertVarshamovAsymptoticBound(K, delta): FldFin, FldPrElt → FldPrElt`](bound.md#function-gilbertvarshamovasymptoticbound-fldfin-fldprelt)

  - [Other Bounds](bound.md#other-bounds)

    - [`GriesmerLengthBound(K, k, d): FldFin, RngIntElt, RngIntElt → RngIntElt`](bound.md#function-griesmerlengthbound-fldfin-rngintelt-rngintelt)

- [Best Known Linear Codes](best-codes.md)

  - [`BKLC(K, n, k): FldFin, RngIntElt, RngIntElt → Code, BoolElt`](best-codes.md#function-bklc-fldfin-rngintelt-rngintelt)

  - [`BestKnownLinearCode(K, n, k): FldFin, RngIntElt, RngIntElt → Code, BoolElt`](best-codes.md#function-bestknownlinearcode-fldfin-rngintelt-rngintelt)

  - [`BLLC(K, k, d): FldFin, RngIntElt, RngIntElt → Code, BoolElt`](best-codes.md#function-bllc-fldfin-rngintelt-rngintelt)

  - [`BestLengthLinearCode(K, k, d): FldFin, RngIntElt, RngIntElt → Code, BoolElt`](best-codes.md#function-bestlengthlinearcode-fldfin-rngintelt-rngintelt)

  - [`BDLC(K, n, d): FldFin, RngIntElt, RngIntElt → Code, BoolElt`](best-codes.md#function-bdlc-fldfin-rngintelt-rngintelt)

  - [`BestDimensionLinearCode(K, n, d): FldFin, RngIntElt, RngIntElt → Code`](best-codes.md#function-bestdimensionlinearcode-fldfin-rngintelt-rngintelt)

  - [`Example: BKLC GF2`](best-codes.md#example-ex-49ec3e)

  - [`Example: BKLC GF4`](best-codes.md#example-ex-018bf4)

  - [`Example: BestLength GF2`](best-codes.md#example-ex-508dda)

  - [`Example: BDLC GF4`](best-codes.md#example-ex-2cda79)

  - [`Example: Verbose Best Code`](best-codes.md#example-ex-026c31)

- [Decoding](decoding.md)

  - [Syndrome Decoding](decoding.md#syndrome-decoding)

    - [`SyndromeDecoding(C, v): CodeLinFld, ModTupRngElt → BoolElt, ModTupRngElt`](decoding.md#function-syndromedecoding-codelinfld-modtuprngelt)

    - [`SyndromeDecoding(C, Q): CodeLinFld, [ ModTupRngElt ] → [ BoolElt ], [ ModTupRngElt ]`](decoding.md#function-syndromedecoding-codelinfld-modtuprngelt-2)

    - [`Example: Syn Decode`](decoding.md#example-ex-8f7190)

  - [Euclidean Decoding](decoding.md#euclidean-decoding)

    - [`EuclideanDecoding(C, v): CodeLinFld, ModTupRngElt → BoolElt, ModTupRngElt`](decoding.md#function-euclideandecoding-codelinfld-modtuprngelt)

    - [`EuclideanDecoding(C, Q): CodeLinFld, [ ModTupRngElt ] → [ BoolElt ], [ ModTupRngElt ]`](decoding.md#function-euclideandecoding-codelinfld-modtuprngelt-2)

    - [`Example: Eucl Decode`](decoding.md#example-ex-72e926)

  - [Permutation Decoding](decoding.md#permutation-decoding)

    - [`IsPermutationDecodeSet(C, I, S, s): CodeLinFld, [RngIntElt], [AlgMatElt], RngIntElt → BoolElt`](decoding.md#function-ispermutationdecodeset-codelinfld-rngintelt-algmatelt-rngintelt)

    - [`IsPermutationDecodeSet(C, I, S, s): CodeLinFld, [RngIntElt], [GrpPermElt], RngIntElt → BoolElt`](decoding.md#function-ispermutationdecodeset-codelinfld-rngintelt-grppermelt-rngintelt)

    - [`PermutationDecode(C, I, S, s, u): CodeLinFld, [RngIntElt], [AlgMatElt], RngIntElt, ModTupFldElt → BoolElt, ModTupFldElt`](decoding.md#function-permutationdecode-codelinfld-rngintelt-algmatelt-rngintelt-modtupfldelt)

    - [`PermutationDecode(C, I, S, s, u): CodeLinFld, [RngIntElt], [GrpPermElt], RngIntElt, ModTupFldElt → BoolElt, ModTupFldElt`](decoding.md#function-permutationdecode-codelinfld-rngintelt-grppermelt-rngintelt-modtupfldelt)

    - [`PermutationDecode(C, I, S, s, Q): CodeLinFld, [RngIntElt], [AlgMatElt], RngIntElt, [ModTupFldElt] → [BoolElt], [ModTupFldElt]`](decoding.md#function-permutationdecode-codelinfld-rngintelt-algmatelt-rngintelt-modtupfldelt-2)

    - [`PermutationDecode(C, I, S, s, Q): CodeLinFld, [RngIntElt], [GrpPermElt], RngIntElt, [ModTupFldElt] → [BoolElt], [ModTupFldElt]`](decoding.md#function-permutationdecode-codelinfld-rngintelt-grppermelt-rngintelt-modtupfldelt-2)

    - [`PDSetSimplexCode(K, m): FldFin, RngIntElt → SeqEnum, SeqEnum, SeqEnum`](decoding.md#function-pdsetsimplexcode-fldfin-rngintelt)

    - [`PDSetHadamardCode(m): RngIntElt → SeqEnum, SeqEnum, SeqEnum`](decoding.md#function-pdsethadamardcode-rngintelt)

    - [`Example: Spain Decode 1`](decoding.md#example-ex-7bde55)

    - [`Example: Spain Decode 2`](decoding.md#example-ex-982ee0)

- [Transforms](transforms.md)

  - [Mattson–Solomon Transforms](transforms.md#mattson-solomon-transforms)

    - [`MattsonSolomonTransform(f, n): RngUPolElt, RngIntElt → RngUPolElt`](transforms.md#function-mattsonsolomontransform-rngupolelt-rngintelt)

    - [`InverseMattsonSolomonTransform(A, n): RngUPolElt, RngIntElt → RngUPolElt`](transforms.md#function-inversemattsonsolomontransform-rngupolelt-rngintelt)

    - [`Example: Mattson Solomon Transform`](transforms.md#example-ex-15eadc)

  - [Krawchouk Polynomials](transforms.md#krawchouk-polynomials)

    - [`KrawchoukPolynomial(K, n, k): FldFin, RngIntElt, RngIntElt → RngUPolElt`](transforms.md#function-krawchoukpolynomial-fldfin-rngintelt-rngintelt)

    - [`KrawchoukTransform(f, K, n): RngUPolElt, FldFin, RngIntElt → RngUPolElt`](transforms.md#function-krawchouktransform-rngupolelt-fldfin-rngintelt)

    - [`InverseKrawchouk(A, K, n): RngUPolElt, FldFin, RngIntElt → RngUPolElt`](transforms.md#function-inversekrawchouk-rngupolelt-fldfin-rngintelt)

- [Automorphism Groups](group-action.md)

  - [Introduction](group-action.md#introduction)

  - [Group Actions](group-action.md#group-actions)

    - [`v ^ x: ModTupFldElt, GrpPermElt → ModTupFldElt`](group-action.md#operation-op-pow-modtupfldelt-grppermelt)

    - [`v ^ G: ModTupFldElt, GrpPerm → GSet{ ModTupFldElt }`](group-action.md#operation-op-pow-modtupfldelt-grpperm)

    - [`C ^ x: Code, GrpPermElt → Code`](group-action.md#operation-op-pow-code-grppermelt)

    - [`C ^ G: Code, GrpPerm → GSet{ Code }`](group-action.md#operation-op-pow-code-grpperm)

    - [`S ^ x: [ModTupFldElt], GrpPermElt → [ModTupFldElt]`](group-action.md#operation-op-pow-modtupfldelt-grppermelt-2)

    - [`S ^ x: { ModTupFldElt }, GrpPermElt → { ModTupFldElt }`](group-action.md#operation-op-pow-modtupfldelt-grppermelt-3)

    - [`S ^ x: [Code], GrpPermElt → [Code]`](group-action.md#operation-op-pow-code-grppermelt-2)

    - [`S ^ x: { Code }, GrpPermElt → { Code }`](group-action.md#operation-op-pow-code-grppermelt-3)

    - [`Fix(C, G): Code, GrpPerm → Code`](group-action.md#function-fix-code-grpperm)

  - [Automorphism Group](group-action.md#automorphism-group)

    - [`AutomorphismGroup(C: parameters): Code → GrpPerm, PowMap, Map`](group-action.md#function-automorphismgroup-code)

    - [`MonomialGroup(C: parameters): Code → GrpPerm, PowMap, Map`](group-action.md#function-monomialgroup-code)

    - [`PermutationGroup(C): Code → GrpPerm, PowMap, Map`](group-action.md#function-permutationgroup-code)

    - [`AutomorphismSubgroup(C): Code → GrpPerm, PowMap, Map`](group-action.md#function-automorphismsubgroup-code)

    - [`MonomialSubgroup(C): Code → GrpPerm, PowMap, Map`](group-action.md#function-monomialsubgroup-code)

    - [`AutomorphismGroupStabilizer(C, k): Code, RngIntElt → GrpPerm, PowMap, Map`](group-action.md#function-automorphismgroupstabilizer-code-rngintelt)

    - [`MonomialGroupStabilizer(C, k): Code, RngIntElt → GrpPerm, PowMap, Map`](group-action.md#function-monomialgroupstabilizer-code-rngintelt)

    - [`Aut(C): Code → Pow, Map`](group-action.md#function-aut-code)

    - [`Aut(C, T): Code, MonStgElt → Pow, Map`](group-action.md#function-aut-code-monstgelt)

    - [`Example: Automorphism Group`](group-action.md#example-ex-d651f4)

    - [`Example: Auto Morphism Group With Weight`](group-action.md#example-ex-374f40)

  - [Equivalence and Isomorphism of Codes](group-action.md#equivalence-and-isomorphism-of-codes)

    - [`IsIsomorphic(C, D: parameters): Code, Code → BoolElt, Map`](group-action.md#function-isisomorphic-code-code)

    - [`IsEquivalent(C, D: parameters): Code, Code → BoolElt, Map`](group-action.md#function-isequivalent-code-code)
