LINEAR CODES OVER FINITE RINGS  
Acknowledgements
 
Introduction
 
Constructions
      General Linear Codes
      Simple Linear Codes
      General Cyclic Codes
 
Invariants
 
Subcodes
      The Subcode Constructor
 
Boolean Predicates
 
New Codes from Old
      Sum, Intersection and Dual
      Standard Constructions
 
Codeword Operations
      Construction
      Operations
      Accessing Components of a Codeword
 
Weight Distributions
      Hamming Weight
 
Weight Enumerators
 
Bibliography







 
Introduction

 
Constructions

      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 (H168E1)
            Example CodeRng_CodeFromMatrix (H168E2)
            Example CodeRng_PermutationCode (H168E3)

      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
            RandomLinearCode(R, n, k) : Rng, RngIntElt, RngIntElt -> Code
            Example CodeRng_simple-finite-ring (H168E4)

      General Cyclic Codes
            CyclicCode(u) : ModTupRngElt -> Code
            CyclicCode(n, g) : RngIntElt, RngUPolElt -> Code
            CyclotomicFactors(R, n) : Rng, RngIntElt -> [RngUPolElt]
            Example CodeRng_CyclicCode (H168E5)
            Example CodeRng_cyclic-galois-ring (H168E6)

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

 
Subcodes

      The Subcode Constructor
            sub<C | L> : Code, List -> Code
            Subcode(C, t) : Code,RngIntElt -> Code
            Subcode(C, S) : Code, RngIntElt -> Code
            Example CodeRng_subcode-galois-rings (H168E7)

 
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
      IsSelfOrthogonal(C) : Code -> BoolElt
      IsProjective(C) : Code -> BoolElt
      IsZero(u) : ModTupRngElt -> BoolElt
      Example CodeRng_SelfDualZ4 (H168E8)

 
New Codes from Old

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

      Standard Constructions
            DirectSum(C, D) : Code, Code -> Code
            DirectProduct(C, D) : Code, Code -> Code
            C1 cat C2 : 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
            Example CodeRng_lengths (H168E10)
            Example CodeRng_punct-z4 (H168E11)

 
Codeword Operations

      Construction
            C ! [a1, ..., an] : Code, [ RngElt ] -> ModTupRngElt
            C ! u : Code, ModTupRngElt -> ModTupRngElt
            C ! 0 : Code, RngIntElt -> ModTupRngElt
            Example CodeRng_code-elts (H168E12)

      Operations
            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
            Example CodeRng_codeword-ops (H168E13)

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

 
Weight Distributions

      Hamming Weight
            MinimumWeight(C) : Code -> RngIntElt
            WeightDistribution(C) : Code -> [ <RngIntElt, RngIntElt> ]
            DualWeightDistribution(C) : Code -> [ <RngIntElt, RngIntElt> ]
            Example CodeRng_weight-dist-cyc (H168E14)

 
Weight Enumerators
      CompleteWeightEnumerator(C): Code -> RngMPolElt
      WeightEnumerator(C): Code -> RngMPolElt
      Example CodeRng_weightEnum-galois-rings (H168E15)

 
Bibliography

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


Version: V2.29 of Fri Nov 28 15:14:01 AEDT 2025