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

LINEAR CODES OVER FINITE RINGS

 
Introduction
 
Construction of Codes
      Construction of General Linear Codes
      Construction of Simple Linear Codes
      Construction of General Cyclic Codes
 
Invariants of Codes
 
Construction of Subcodes of Linear Codes
      The Subcode Constructor
      Sum, Intersection and Dual
 
Constructing New Codes from Old
      Standard Constructions
      Combining Codes
 
Operations on Codewords
      Construction of a Codeword
      Operations on Codewords and Vectors
      Lee Weights
      Accessing Components of a Codeword
 
Boolean Predicates
 
The Standard Form
 
The Gray Map
 
The Weight Distribution
      The Minimum Weight
      The Weight Distribution
      Weight Enumerators
 
Families of Linear Codes
 
Bibliography







DETAILS

 
Introduction

 
Construction of Codes

      Construction of General Linear Codes
            LinearCode<R, n | L> : Rng, RngIntElt, List -> Code
            LinearCode(U) : ModTupRng -> Code
            LinearCode(A) : ModMatRngElt -> Code
            PermutationCode(u, G) : ModTupRngElt, GrpPerm -> Code
            Example CodeRng_TernaryGolayCode (H98E1)
            Example CodeRng_CodeFromMatrix (H98E2)
            Example CodeRng_PermutationCode (H98E3)

      Construction of Simple Linear Codes
            ZeroCode(R, n) : Rng, RngIntElt -> Code
            RepetitionCode(R, n) : Rng, RngIntElt -> Code
            ZeroSumCode(R, n) : Rng, RngIntElt -> Code
            UniverseCode(R, n) : Rng, RngIntElt -> Code
            UniverseCode(R, n) : Rng, RngIntElt -> Code

      Construction of General Cyclic Codes
            CyclicCode(u) : ModTupRngElt -> Code
            CyclicCode(n, g) : RngIntElt, RngUPolElt -> Code
            Z4CyclotomicFactors(n) : RngIntElt -> [RngUPolElt]
            Example CodeRng_CyclicCode (H98E4)

 
Invariants of Codes
      # C : Code -> RngIntElt
      C . i : Code, RngIntElt -> ModTupRngElt
      Alphabet(C) : Code -> Rng
      AmbientSpace(C) : Code -> ModTupRng
      Basis(C) : Code -> [ ModTupRngElt ]
      Dimension(C) : Code -> RngIntElt
      Generators(C) : Code -> { ModTupRngElt }
      GeneratorMatrix(C) : Code -> ModMatRngElt
      Generic(C) : Code -> Code
      Length(C) : Code -> RngIntElt
      NumberOfGenerators(C) : Code -> RngIntElt
      ParityCheckMatrix(C) : Code -> ModMatRngElt
      Random(C): Code -> ModTupRngElt
      RSpace(C) : Code -> ModTupRng
      InformationRate(C) : Code -> RngPrElt

 
Construction of Subcodes of Linear Codes

      The Subcode Constructor
            sub<C | L> : Code, List -> Code
            Subcode(C, k) : Code,RngIntElt -> Code
            Subcode(C, S) : Code, RngIntElt -> Code

      Sum, Intersection and Dual
            C + D : Code, Code -> Code
            C meet D : Code, Code -> Code
            Dual(C) : Code -> Code
            Example CodeRng_SumIntersection (H98E5)

 
Constructing New Codes from Old

      Standard Constructions
            DirectSum(C, D) : Code, Code -> Code
            DirectProduct(C, D) : Code, Code -> Code
            ExtendCode(C) : Code -> Code
            ExtendCode(C, n) : Code, RngIntElt -> Code
            PadCode(C, n) : Code, RngIntElt -> Code
            PlotkinSum(C, D) : 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

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

 
Operations on Codewords

      Construction of a Codeword
            C ! [a_1, ..., a_n] : Code, [ RngElt ] -> ModTupRngElt
            C ! u : Code, ModTupRngElt -> ModTupRngElt
            C ! 0 : Code, RngIntElt -> ModTupRngElt

      Operations on Codewords and Vectors
            u + v : ModTupRngElt, ModTupRngElt -> ModTupRngElt
            - u : ModTupRngElt -> ModTupRngElt
            u - v : ModTupRngElt, ModTupRngElt -> ModTupRngElt
            a * u : RngElt, ModTupRngElt -> ModTupRngElt
            Weight(v) : ModTupRngElt -> RngIntElt
            Distance(u, v) : ModTupRngElt, ModTupRngElt -> RngIntElt
            Support(w) : ModTupRngElt -> { RngIntElt }
            (u, v) : ModTupRngElt, ModTupRngElt : -> RngElt
            Coordinates(C, u) : Code, ModTupRngElt -> [ RngFinElt ]
            Normalize(u) : ModTupRngElt -> ModTupRngElt
            Rotate(u, k) : ModTupRngElt, RngIntElt -> ModTupRngElt
            Rotate(~u, k) : ModTupRngElt, RngIntElt ->
            Parent(w): ModTupRngElt -> ModTupRng

      Lee Weights
            LeeWeight(v) : ModTupRngElt -> RngIntElt
            LeeDistance(u, v) : ModTupRngElt, ModTupRngElt -> RngIntElt
            Example CodeRng_Distance (H98E6)

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

 
Boolean Predicates
      u in C : ModTupRngElt, Code -> BoolElt
      u notin C : ModTupRngElt, Code -> 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
      IsCyclic(C) : Code -> BoolElt
      IsSelfDual(C) : Code -> BoolElt
      IsWeaklySelfDual(C) : Code -> BoolElt
      IsZero(u) : ModTupRngElt -> BoolElt
      Example CodeRng_SelfDualZ4 (H98E7)

 
The Standard Form
      StandardForm(C) : Code -> Code, Map
      Example CodeRng_StandardForm (H98E8)

 
The Gray Map
      GrayMap(C) : Code -> Map
      GrayMapImage(C) : Code -> [ ModTupRngElt ]
      HasLinearGrayMapImage(C) : Code -> BoolElt, Code
      Example CodeRng_GrayMap (H98E9)

 
The Weight Distribution

      The Minimum Weight
            MinimumWeight(C) : Code -> RngIntElt

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

      Weight Enumerators
            CompleteWeightEnumerator(C): Code -> RngMPolElt
            SymmetricWeightEnumerator(C): Code -> RngMPolElt
            LeeWeightEnumerator(C): Code -> RngMPolElt
            WeightEnumerator(C): Code -> RngMPolElt
            Example CodeRng_WeightEnumerator (H98E10)

 
Families of Linear Codes
      KerdockCode(m, h): RngIntElt, RngUPolElt -> Code
      KerdockCode(m): RngIntElt, RngUPolElt -> Code
      PreparataCode(m, h): RngIntElt, RngUPolElt -> Code
      PreparataCode(m): RngIntElt, RngUPolElt -> Code

 
Bibliography