- Introduction
- Construction of Codes
- Construction of General Linear Codes
- Some Trivial Linear Codes
- ZeroCode(R, n) : FldFin, RngIntElt -> Code
- RepetitionCode(R, n) : FldFin, RngIntElt -> Code
- ZeroSumCode(R, n) : FldFin, RngIntElt -> Code
- UniverseCode(R, n) : FldFin, RngIntElt -> Code
- EvenWeightCode(n) : RngIntElt -> Code
- EvenWeightSubcode(C) : Code -> Code
- RandomLinearCode(K, n, k) : FldFin, RngIntElt, RngIntElt -> Code
- CordaroWagnerCode(n) : RngIntElt -> Code
- Example CodeFld_SimpleCodeChain (H161E4)
- Some Basic Families of Codes
- Invariants of a Code
- Operations on Codewords
- Construction of a Codeword
- Arithmetic Operations on Codewords
- Distance and Weight
- Vector Space and Related Operations
- (u, v) : ModTupRngElt, ModTupRngElt -> RngElt
- Support(w) : ModTupRngElt -> { RngIntElt }
- Coordinates(C, u) : Code, ModTupRngElt -> [ RngFinElt ]
- Parent(w): ModTupRngElt -> ModTupRng
- Rotate(u, k) : ModTupRngElt, RngIntElt -> ModTupRngElt
- Rotate(~u, k) : ModTupRngElt, RngIntElt ->
- Trace(u, S) : ModTupFldElt, FldFin -> ModTupFldElt
- Example CodeFld_Coordinates (H161E12)
- Predicates for Codewords
- Accessing Components of a Codeword
- Coset Leaders
- Subcodes
- The Subcode Constructor
- sub<C | L> : Code, List -> Code
- Subcode(C, k) : Code, RngIntElt -> Code
- Subcode(C, S) : Code, { RngIntElt } -> Code
- SubcodeBetweenCode(C1, C2, k) : Code, Code, RngIntElt -> Code
- SubcodeWordsOfWeight(C, S) : Code, { RngIntElt } -> Code
- Example CodeFld_SubcodeBetweenCode (H161E14)
- Sum, Intersection, Duals and Hulls
- Membership and Equality
- Properties of Codes
- The Weight Distribution
- The Minimum Weight
- MinimumWeight(C: parameters) : Code -> RngIntElt
- MinimumWeightBounds(C) : Code -> RngIntElt, RngIntElt
- ResetMinimumWeightBounds(C) : Code ->
- VerifyMinimumDistanceLowerBound(C, d) : Code, RngIntElt -> BoolElt, RngIntElt, BoolElt
- VerifyMinimumDistanceUpperBound(C, d) : Code, RngIntElt -> BoolElt, RngIntElt, BoolElt
- MinimumWord(C) : Code -> ModTupFldElt
- MinimumWords(C) : Code -> { ModTupFldElt }
- Example CodeFld_VerifyLower (H161E19)
- IncludeAutomorphism(~C, p) : Code, GrpPermElt ->
- KnownAutomorphismSubgroup(C) : Code -> GrpPerm
- The Weight Distribution
- The Weight Enumerator
- The MacWilliams Transform
- MacWilliamsTransform(n, k, q, W) : RngIntElt, RngIntElt, RngIntElt, [ <RngIntElt, RngIntElt> ] -> [ <RngIntElt, RngIntElt> ]
- MacWilliamsTransform(n, k, K, W) : RngIntElt, RngIntElt, FldFin, RngMPol -> RngMPol
- Example CodeFld_MacWilliams (H161E22)
- Words
- Words(C, w: parameters) : Code, RngIntElt -> { ModTupFldElt }
- NumberOfWords(C, w) : Code, RngIntElt -> RngIntElt
- WordsOfBoundedWeight(C, l, u: parameters) : Code, RngIntElt, RngIntElt -> { ModTupFldElt }
- ConstantWords(C, i) : Code, RngIntElt -> { ModTupFldElt }
- NumberOfConstantWords(C, i) : Code, RngIntElt -> RngIntElt
- Example CodeFld_Words (H161E23)
- Covering Radius and Diameter
- Families of Linear Codes
- Cyclic and Quasicyclic Codes
- CyclicCode(u) : ModTupRngElt -> Code
- CyclicCode(n, T, K) : RngIntElt, [ FldFinElt ], FldFin -> Code
- QuasiCyclicCode(n, Gen) : RngIntElt, [ RngUPolElt ] -> Code
- QuasiCyclicCode(Gen) : [ ModTupRngElt ] -> Code
- QuasiCyclicCode(n, Gen, h) : RngIntElt, [ RngUPolElt ], RngIntElt -> Code
- QuasiCyclicCode(Gen, h) : [ModTupRngElt] , RngIntElt -> Code
- ConstaCyclicCode(n, f, alpha) : RngIntElt, RngUPolElt, FldFinElt -> Code
- QuasiTwistedCyclicCode(n, Gen, alpha) : RngIntElt, [RngUPolElt], FldFinElt -> Code
- QuasiTwistedCyclicCode(Gen, alpha) : [ModTupRngElt], FldFinElt -> Code
- QuasiTwistedCyclicCode(n, Gen, alpha, h) : RngIntElt, [RngUPolElt], FldFinElt, RngIntElt -> Code
- QuasiTwistedCyclicCode(Gen, alpha, h) : [ModTupRngElt], FldFinElt, RngIntElt -> Code
- Example CodeFld_ChainCyclic (H161E25)
- Example CodeFld_Constacyclic (H161E26)
- BCH Codes and their Generalizations
- BCHCode(K, n, d, b) : FldFin, RngIntElt, RngIntElt, RngIntElt -> Code
- Example CodeFld_BCHCode (H161E27)
- GoppaCode(L, G) : [ FldFinElt ], RngUPolElt -> Code
- Example CodeFld_GoppaCode (H161E28)
- ChienChoyCode(P, G, n, S) : RngUPolElt, RngUPolElt, RngIntElt, FldFin -> Code
- AlternantCode(A, Y, r, S) : [ FldFinElt ], [ FldFinElt ], RngIntElt, FldFin -> Code
- Example CodeFld_AlternantCode (H161E29)
- NonPrimitiveAlternantCode(n, m, r) : RngIntElt,RngIntElt,RngIntElt->Code
- FireCode(h, s, n) : RngUPolElt, RngIntElt, RngIntElt -> Code
- GabidulinCode(A, W, Z, t) : [ FldFinElt ], [ FldFinElt ], [ FldFinElt ], RngIntElt -> Code
- SrivastavaCode(A, W, mu, S) : [ FldFinElt ], [ FldFinElt ], RngIntElt, FldFin -> Code
- GeneralizedSrivastavaCode(A, W, Z, t, S) : [ FldFinElt ], [ FldFinElt ], [ FldFinElt ], RngIntElt, FldFin -> Code
- Quadratic Residue Codes and their Generalizations
- QRCode(K, n) : FldFin, RngIntElt -> Code
- GolayCode(K, ext) : FldFin, BoolElt -> Code
- DoublyCirculantQRCode(p) : RngIntElt -> Code
- DoublyCirculantQRCodeGF4(m, a) : RngIntElt, RngElt -> Code
- BorderedDoublyCirculantQRCode(p, a, b) : RngIntElt, RngElt, RngElt -> Code
- TwistedQRCode(l, m) : RngIntElt,RngIntElt -> Code
- PowerResidueCode(K, n, p) : FldFin, RngIntElt, RngIntElt -> Code
- Example CodeFld_QuadraticResidueCode (H161E30)
- Reed--Solomon and Justesen Codes
- ReedSolomonCode(K, d, b) : FldFin, RngIntElt, RngIntElt -> Code
- ReedSolomonCode(n, d) : RngIntElt, RngIntElt -> Code
- GRSCode(A, V, k) : [ FldFinElt ], [ FldFinElt ], RngIntElt -> Code
- JustesenCode(N, K) : Code, FldFinElt, RngIntElt -> Code
- Example CodeFld_GRSCode (H161E31)
- Maximum Distance Separable Codes
- New Codes from Existing
- Standard Constructions
- AugmentCode(C) : Code -> Code
- CodeComplement(C, C1) : Code, Code -> Code
- DirectSum(C, D) : Code, Code -> Code
- DirectSum(Q) : [Code] -> Code
- DirectProduct(C, D) : Code, Code -> Code
- ExtendCode(C) : Code -> Code
- ExtendCode(C, n) : Code, RngIntElt -> Code
- PadCode(C, n) : Code, RngIntElt -> Code
- ExpurgateCode(C) : Code -> Code
- ExpurgateCode(C, L) : Code,[ModTupFldElt] -> Code
- ExpurgateWeightCode(C, w) : Code, RngIntElt -> Code
- LengthenCode(C) : Code -> Code
- PlotkinSum(C1, C2) : Code, Code -> Code
- PlotkinSum(C1, C2, C3: parameters) : Code, Code, Code -> Code
- PunctureCode(C, i) : Code, RngIntElt -> Code
- PunctureCode(C, S) : Code, { RngIntElt } -> Code
- ShortenCode(C, i) : Code, RngIntElt -> Code
- ShortenCode(C, S) : Code, { RngIntElt } -> Code
- Example CodeFld_Make12-8-4Code (H161E32)
- Changing the Alphabet of a Code
- ExtendField(C, L) : Code, FldFin -> Code, Map
- LinearCode(C, S) : Code, FldFin -> Code, Map
- SubfieldRepresentationCode(C, K) : Code, FldFin -> Code
- SubfieldRepresentationParityCode(C, K) : Code, FldFin -> Code
- SubfieldSubcode(C, S) : Code, FldFin -> Code, Map
- SubfieldCode(C, S) : Code, FldFin -> Code
- Trace(C, F) : Code, FldFin -> Code
- Combining Codes
- C1 cat C2 : Code, Code -> Code
- Juxtaposition(C1, C2) : Code, Code -> Code
- ConcatenatedCode(O, I) : Code, Code -> Code
- Example CodeFld_ConcatenatedCode (H161E33)
- ConstructionX(C1, C2, C3) : Code, Code, Code -> Code
- ConstructionXChain(S, C) : [Code], Code -> [Code]
- Example CodeFld_constructionX (H161E34)
- ConstructionX3(C1, C2, C3, D1, D2) : Code, Code, Code, Code, Code -> Code, Map
- ConstructionX3u(C1, C2, C3, D1, D2) : Code, Code, Code, Code, Code -> Code, Code
- Example CodeFld_X3 (H161E35)
- ConstructionXX(C1, C2, C3, D2, D3) : Code, Code, Code, Code, Code -> Code
- Example CodeFld_XX (H161E36)
- ZinovievCode(I, O) : [Code], [Code] -> Code
- Example CodeFld_Zinoviev (H161E37)
- ConstructionY1(C) : Code -> Code
- ConstructionY1(C, w) : Code, RngIntElt -> Code
- Coding Theory and Cryptography
- Standard Attacks
- McEliecesAttack(C, v, e) : Code, ModTupFldElt, RngIntElt -> ModTupFldElt
- LeeBrickellsAttack(C, v, e, p) : Code, ModTupFldElt, RngIntElt, RngIntElt -> ModTupFldElt
- LeonsAttack(C, v, e, p, l) : Code, ModTupFldElt, RngIntElt, RngIntElt,RngIntElt -> ModTupFldElt
- SternsAttack(C, v, e, p, l) : Code, ModTupFldElt, RngIntElt, RngIntElt,RngIntElt -> ModTupFldElt
- CanteautChabaudsAttack(C, v, e, p, l) : Code, ModTupFldElt, RngIntElt, RngIntElt,RngIntElt -> ModTupFldElt
- Generalized Attacks
- Bounds
- Best Known Bounds for Linear Codes
- BKLCLowerBound(F, n, k) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- BKLCUpperBound(F, n, k) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- BLLCLowerBound(F, k, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- BLLCUpperBound(F, k, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- BDLCLowerBound(F, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- BDLCUpperBound(F, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- Bounds on the Cardinality of a Largest Code
- EliasBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- GriesmerBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- JohnsonBound(n, d) : RngIntElt, RngIntElt -> RngIntElt
- LevenshteinBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- PlotkinBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- SingletonBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- SpherePackingBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- GilbertVarshamovBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- GilbertVarshamovLinearBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- VanLintBound(K, n, d) : FldFin, RngIntElt, RngIntElt -> RngIntElt
- Example CodeFld_Card-Best-Comparison (H161E38)
- Bounds on the Minimum Distance
- Asymptotic Bounds on the Information Rate
- Other Bounds
- Best Known Linear Codes
- BKLC(K, n, k) : FldFin, RngIntElt, RngIntElt -> Code, BoolElt
- BLLC(K, k, d) : FldFin, RngIntElt, RngIntElt -> Code, BoolElt
- BDLC(K, n, d) : FldFin, RngIntElt, RngIntElt -> Code, BoolElt
- Example CodeFld_BKLC-GF2 (H161E39)
- Example CodeFld_BKLC-GF4 (H161E40)
- Example CodeFld_BestLength-GF2 (H161E41)
- Example CodeFld_BDLC-GF4 (H161E42)
- Example CodeFld_VerboseBestCode (H161E43)
- Decoding
- Syndrome Decoding
- Euclidean Decoding
- Permutation Decoding
- IsPermutationDecodeSet(C, I, S, s) : CodeLinFld, [RngIntElt], [AlgMatElt], RngIntElt -> BoolElt
- PermutationDecode(C, I, S, s, u) : CodeLinFld, [RngIntElt], [AlgMatElt], RngIntElt, ModTupFldElt -> BoolElt, ModTupFldElt
- PermutationDecode(C, I, S, s, Q) : CodeLinFld, [RngIntElt], [AlgMatElt], RngIntElt, [ModTupFldElt] -> [BoolElt], [ModTupFldElt]
- PDSetSimplexCode(K, m) : FldFin, RngIntElt -> SeqEnum, SeqEnum, SeqEnum
- PDSetHadamardCode(m) : RngIntElt -> SeqEnum, SeqEnum, SeqEnum
- Example CodeFld_spain-decode-1 (H161E46)
- Example CodeFld_spain-decode-2 (H161E47)
- Transforms
- Mattson--Solomon Transforms
- Krawchouk Polynomials
- KrawchoukPolynomial(K, n, k) : FldFin, RngIntElt, RngIntElt -> RngUPolElt
- KrawchoukTransform(f, K, n) : RngUPolElt, FldFin, RngIntElt -> RngUPolElt
- InverseKrawchouk(A, K, n) : RngUPolElt, FldFin, RngIntElt -> RngUPolElt
- Automorphism Groups
- Introduction
- Group Actions
- Automorphism Group
- AutomorphismGroup(C: parameters) : Code -> GrpPerm, PowMap, Map
- PermutationGroup(C) : Code -> GrpPerm, PowMap, Map
- AutomorphismSubgroup(C) : Code -> GrpPerm, PowMap, Map
- AutomorphismGroupStabilizer(C, k) : Code, RngIntElt -> GrpPerm, PowMap, Map
- Aut(C) : Code -> Pow, Map
- Aut(C, T) : Code, MonStgElt -> Pow, Map
- Example CodeFld_AutomorphismGroup (H161E49)
- Example CodeFld_AutoMorphismGroupWithWeight (H161E50)
- Equivalence and Isomorphism of Codes
- Bibliography
V2.28, 13 July 2023