[Next][Prev] [Right] [Left] [Up] [Index] [Root]

ADDITIVE CODES

 
Acknowledgements
 
Introduction
 
Construction of Additive Codes
      Construction of General Additive Codes
      Some Trivial Additive Codes
 
Invariants of an Additive Code
      The Ambient Space and Alphabet
      Basic Numerical Invariants
      The Code Space
      The Dual Space
 
Operations on Codewords
      Construction of a Codeword
      Arithmetic Operations on Codewords
      Distance and Weight
      Vector Space and Related Operations
      Predicates for Codewords
      Accessing Components of a Codeword
 
Subcodes
      The Subcode Constructor
      Sum, Intersection and Dual
      Membership and Equality
 
Properties of Codes
 
The Weight Distribution
      The Minimum Weight
      The Weight Distribution
      The Weight Enumerator
      The MacWilliams Transform
      Words
 
Families of Linear Codes
      Cyclic Codes
      Quasicyclic Codes
 
New Codes from Old
      Standard Constructions
      Combining Codes
 
Automorphism Group







DETAILS

 
Introduction

 
Construction of Additive Codes

      Construction of General Additive Codes
            AdditiveCode<F, K, n | L> : FldFin, RngIntElt, List -> Code
            AdditiveCode(G) : ModMatRngElt -> CodeAdd
            Example CodeAdd_AddLinDiff (H156E1)
            Example CodeAdd_CodeAddFromMatrix (H156E2)
            AdditiveCode(K, C) : FldFin, Code -> CodeAdd
            Example CodeAdd_CodeAddFromCode (H156E3)
            Example CodeAdd_CodeAddFromCodeFail (H156E4)

      Some Trivial Additive Codes
            AdditiveZeroCode(F, K, n) : FldFin, FldFin, RngIntElt -> CodeAdd
            AdditiveRepetitionCode(F, K, n) : FldFin, FldFin, RngIntElt -> Code
            AdditiveZeroSumCode(F, K, n) : FldFin, FldFin, RngIntElt -> Code
            AdditiveUniverseCode(F, K, n) : FldFin,FldFin, RngIntElt -> Code
            RandomAdditiveCode(F, K, n, k) : FldFin,FldFin, RngIntElt, RngIntElt -> Code
            Example CodeAdd_SimpleCodeChain (H156E5)

 
Invariants of an Additive Code

      The Ambient Space and Alphabet
            Alphabet(C) : Code -> Rng
            CoefficientField(C) : Code -> Rng
            AmbientSpace(C) : Code -> ModTupRng
            Generic(C) : Code -> Code
            Example CodeAdd_alphabet-coeff-field (H156E6)

      Basic Numerical Invariants
            Length(C) : Code -> RngIntElt
            Dimension(C) : Code -> FldRatElt
            NumberOfGenerators(C) : Code -> RngIntElt
            # C : Code -> RngIntElt
            InformationRate(C) : Code -> FldPrElt

      The Code Space
            GeneratorMatrix(C) : Code -> ModMatFldElt
            Basis(C) : Code -> [ ModTupRngElt ]
            C . i : Code, RngIntElt -> ModTupFldElt

      The Dual Space
            Dual(C) : CodeAdd -> CodeAdd
            ParityCheckMatrix(C) : Code -> ModMatFldElt

 
Operations on Codewords

      Construction of a Codeword
            C ! [a1, ..., an] : Code, [ RngElt ] -> ModTupRngElt
            C ! u : Code, ModTupRngElt -> ModTupRngElt
            C ! 0 : Code, RngIntElt -> ModTupRngElt
            Random(C): Code -> ModTupRngElt

      Arithmetic Operations on Codewords
            u + v : ModTupRngElt, ModTupRngElt -> ModTupRngElt
            - u : ModTupRngElt -> ModTupRngElt
            u - v : ModTupRngElt, ModTupRngElt -> ModTupRngElt
            a * u : RngElt, ModTupRngElt -> ModTupRngElt
            Normalize(u) : ModTupRngElt -> ModTupRngElt

      Distance and Weight
            Distance(u, v) : ModTupRngElt, ModTupRngElt -> RngIntElt
            Weight(u) : ModTupRngElt -> RngIntElt

      Vector Space and Related Operations
            (u, v) : ModTupRngElt, ModTupRngElt -> RngElt
            TraceInnerProduct(K, u, v) : FldFin, ModTupFldElt, ModTupFldElt -> FldFinElt
            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

      Predicates for Codewords
            u eq v : ModTupRngElt, ModTupRngElt -> BoolElt
            u ne v : ModTupRngElt, ModTupRngElt -> BoolElt
            IsZero(u) : ModTupRngElt -> BoolElt

      Accessing Components of a Codeword
            u[i] : ModTupRngElt, RngIntElt -> RngElt
            u[i] := x;

 
Subcodes

      The Subcode Constructor
            sub<C | L> : CodeAdd, List -> CodeAdd
            Subcode(C, k) : CodeAdd, RngIntElt -> CodeAdd
            Subcode(C, S) : CodeAdd, { RngIntElt } -> Code
            SubcodeBetweenCode(C1, C2, k) : CodeAdd, CodeAdd, RngIntElt -> CodeAdd
            SubcodeWordsOfWeight(C, w) : CodeAdd, RngIntElt -> CodeAdd
            SubcodeWordsOfWeight(C, S) : CodeAdd, { RngIntElt } -> CodeAdd
            Example CodeAdd_SubcodeBetweenCode (H156E7)

      Sum, Intersection and Dual
            C + D : CodeAdd, CodeAdd -> CodeAdd
            C meet D : Code, Code -> Code
            Dual(C) : Code -> Code

      Membership and Equality
            u in C : ModTupRngElt, CodeAdd -> BoolElt
            u notin C : ModTupRngElt, CodeAdd -> BoolElt
            C subset D : Code, Code -> BoolElt
            C notsubset D : Code, Code -> BoolElt
            C eq D : Code, Code -> BoolElt
            C ne D : Code, Code -> BoolElt

 
Properties of Codes
      IsSelfDual(C) : Code -> BoolElt
      IsSelfOrthogonal(C) : Code -> BoolElt
      IsPerfect(C) : Code -> BoolElt
      IsProjective(C) : Code -> BoolElt
      IsAdditiveProjective(C) : CodeAdd -> BoolElt

 
The Weight Distribution

      The Minimum Weight
            MinimumWeight(C: parameters) : CodeAdd -> RngIntElt
            Example CodeAdd_additive-minweight (H156E8)

      The Weight Distribution
            WeightDistribution(C) : CodeAdd -> [ <RngIntElt, RngIntElt> ]
            DualWeightDistribution(C) : CodeAdd -> [ <RngIntElt, RngIntElt> ]

      The Weight Enumerator
            WeightEnumerator(C): CodeAdd -> RngMPolElt
            CompleteWeightEnumerator(C): CodeAdd -> RngMPolElt
            CompleteWeightEnumerator(C, u): Code, ModTupFldElt -> RngMPolElt

      The MacWilliams Transform
            MacWilliamsTransform(n, k, q, W) : RngIntElt, RngIntElt, RngIntElt, [ <RngIntElt, RngIntElt> ] -> [ <RngIntElt, RngIntElt> ]

      Words
            Words(C, w: parameters) : Code, RngIntElt -> { ModTupFldElt }
            NumberOfWords(C, w) : Code, RngIntElt -> RngIntElt
            WordsOfBoundedWeight(C, l, u: parameters) : Code, RngIntElt, RngIntElt -> { ModTupFldElt }

 
Families of Linear Codes

      Cyclic Codes
            AdditiveCyclicCode(v) : ModTupFldElt -> CodeAdd
            AdditiveCyclicCode(n, f) : RngIntElt, RngUPolElt -> CodeAdd
            AdditiveCyclicCode(v4, v2) : ModTupFldElt, ModTupFldElt -> CodeAdd
            AdditiveCyclicCode(n, f4, f2) : RngIntElt, RngUPolElt, RngUPolElt -> CodeAdd

      Quasicyclic Codes
            AdditiveQuasiCyclicCode(n, Q) : RngIntElt, SeqEnum[RngUPolElt] -> CodeAdd
            AdditiveQuasiCyclicCode(n, Q, h) : RngIntElt, SeqEnum[RngUPolElt], RngIntElt -> CodeAdd
            AdditiveQuasiCyclicCode(Q) : SeqEnum[ModTupFldElt] -> CodeAdd
            AdditiveQuasiCyclicCode(Q, h) : SeqEnum[ModTupFldElt], RngIntElt -> CodeAdd

 
New Codes from Old

      Standard Constructions
            AugmentCode(C) : CodeAdd -> Code
            CodeComplement(C, S) : Code, Code -> Code
            DirectSum(C, D) : Code, Code -> Code
            DirectSum(Q) : [Code] -> Code
            DirectProduct(C, D) : Code, Code -> Code
            ExtendCode(C) : CodeAdd -> CodeAdd
            ExtendCode(C, n) : Code, RngIntElt -> Code
            PadCode(C, n) : CodeAdd, RngIntElt -> CodeAdd
            PlotkinSum(C1, C2) : Code, Code -> Code
            PlotkinSum(C1, C2, C3: parameters) : Code,Code,Code -> Code
            PunctureCode(C, i) : CodeAdd, RngIntElt -> Code
            PunctureCode(C, S) : CodeAdd, { RngIntElt } -> Code
            ShortenCode(C, i) : Code, RngIntElt -> Code
            ShortenCode(C, S) : Code, { RngIntElt } -> Code

      Combining Codes
            C1 cat C2 : CodeAdd, CodeAdd -> CodeAdd
            Juxtaposition(C1, C2) : Code, Code -> Code

 
Automorphism Group
      AutomorphismGroup(C) : CodeAdd -> GrpPerm
      PermutationGroup(C) : CodeAdd -> GrpPerm

[Next][Prev] [Right] [____] [Up] [Index] [Root]
Version: V2.19 of Wed Apr 24 15:09:57 EST 2013