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

LINEAR CODES OVER FINITE RINGS

 
Acknowledgements
 
Introduction
 
Construction of Codes
      Construction of General Linear Codes
      Construction of Simple Linear Codes
      Construction of General Cyclic Codes
 
Invariants of Codes
 
Codes over Z4
      The Gray Map
      Families of Codes over Z4
      Derived Binary Codes
      The Standard Form
      Constructing New Codes from Old
      Invariants of Codes over Z4
      Other Z4 functions
 
Construction of Subcodes of Linear Codes
      The Subcode Constructor
 
Weight Distributions
      Hamming Weight
      Lee Weight
      Euclidean Weight
 
Weight Enumerators
 
Constructing New Codes from Old
      Sum, Intersection and Dual
      Standard Constructions
 
Operations on Codewords
      Construction of a Codeword
      Operations on Codewords and Vectors
      Accessing Components of a Codeword
 
Boolean Predicates
 
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 (H155E1)
            Example CodeRng_CodeFromMatrix (H155E2)
            Example CodeRng_PermutationCode (H155E3)

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

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

 
Invariants of Codes
      # 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

 
Codes over Z4

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

      Families of Codes over Z4
            KerdockCode(m): RngIntElt, RngUPolElt -> Code
            PreparataCode(m): RngIntElt, RngUPolElt -> Code
            ReedMullerCodeZ4(r, m) : RngIntElt, RngIntElt -> Code
            GoethalsCode(m) : RngIntElt -> Code
            DelsarteGoethalsCode(m, delta) : RngIntElt, RngIntElt -> Code
            GoethalsDelsarteCode(m, delta) : RngIntElt, RngIntElt -> Code
            QRCodeZ4(p) : RngIntElt -> Code
            GolayCodeZ4(e) : BoolElt -> Code
            SimplexAlphaCodeZ4(k) : RngIntElt -> Code
            SimplexBetaCodeZ4(k) : RngIntElt -> Code
            Example CodeRng_Kerdock (H155E8)
            HadamardCodeZ4(δ, m) : RngIntElt, RngIntElt -> CodeLinRng, Mtrx
            ExtendedPerfectCodeZ4(δ, m) : RngIntElt, RngIntElt -> CodeLinRng, Mtrx
            Example CodeRng_spain-Z4-1 (H155E9)
            ReedMullerCodeZ4(r, m) : RngIntElt, RngIntElt -> CodeLinRng
            ReedMullerCodesLRMZ4(r, m) : RngIntElt, RngIntElt -> SeqEnum
            ReedMullerCodeRMZ4(s, r, m) : RngIntElt, RngIntElt, RngIntElt -> CodeLinRng, Mtrx
            Example CodeRng_spain-Z4-2 (H155E10)
            ReedMullerCodesRMZ4(s, m) : RngIntElt, RngIntElt -> Tup
            Example CodeRng_spain-Z4-3 (H155E11)

      Derived Binary Codes
            BinaryResidueCode(C) : Code -> Code
            BinaryTorsionCode(C) : Code -> Code
            Z4CodeFromBinaryChain(C1, C2) : Code, Code -> Code
            Example CodeRng_derived-binary (H155E12)

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

      Constructing New Codes from Old
            PlotkinSum(A, B) : Mtrx, Mtrx -> Mtrx
            PlotkinSum(C, D) : Code, Code -> Code
            QuaternaryPlotkinSum(A, B) : Mtrx, Mtrx -> Mtrx
            QuaternaryPlotkinSum(C, D) : Code, Code -> Code
            BQPlotkinSum(A, B, C) : Mtrx, Mtrx, Mtrx -> Mtrx
            BQPlotkinSum(D, E, F) : Code, Code, Code -> Code
            DoublePlotkinSum(A, B, C, D) : Mtrx, Mtrx, Mtrx, Mtrx -> Mtrx
            DoublePlotkinSum(E, F, G, H) : Code, Code, Code, Code -> Code
            DualKroneckerZ4(C) : CodeLinRng -> CodeLinRng
            Example CodeRng_spain-Z4-4 (H155E14)
            Example CodeRng_spain-Z4-4a (H155E15)

      Invariants of Codes over Z4
            SpanZ2CodeZ4(C) : CodeLinRng -> CodeLinFld
            KernelZ2CodeZ4(C) : CodeLinRng -> CodeLinRng
            DimensionOfSpanZ2(C) : CodeLinRng -> RngIntElt
            DimensionOfKernelZ2(C) : CodeLinRng -> RngIntElt
            Example CodeRng_spain-Z4-5 (H155E16)

      Other Z4 functions
            Correlation(v) : ModTupRngElt -> RngQuadElt

 
Construction of Subcodes of Linear Codes

      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 (H155E17)

 
Weight Distributions

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

      Lee Weight
            LeeWeight(a) : RngIntRes -> RngIntElt
            LeeWeight(v) : ModTupRngElt -> RngIntElt
            LeeDistance(u, v) : ModTupRngElt, ModTupRngElt -> RngIntElt
            MinimumLeeWeight(C) : Code -> RngIntElt
            LeeWeightDistribution(C) : Code -> SeqEnum
            DualLeeWeightDistribution(C) : Code -> SeqEnum
            WordsOfLeeWeight(C, w) : Code, RngIntElt -> SetEnum
            WordsOfBoundedLeeWeight(C, l, u) : Code, RngIntElt, RngIntElt -> SetEnum
            Example CodeRng_lee-dist (H155E19)

      Euclidean Weight
            EuclideanWeight(a) : RngIntRes -> RngIntElt
            EuclideanWeight(v) : ModTupRngElt -> RngIntElt
            EuclideanDistance(u, v) : ModTupRngElt, ModTupRngElt -> RngIntElt
            MinimumEuclideanWeight(C) : Code -> RngIntElt
            EuclideanWeightDistribution(C) : Code -> SeqEnum
            DualEuclideanWeightDistribution(C) : Code -> SeqEnum
            Example CodeRng_euclidean-dist (H155E20)

 
Weight Enumerators
      CompleteWeightEnumerator(C): Code -> RngMPolElt
      SymmetricWeightEnumerator(C): Code -> RngMPolElt
      WeightEnumerator(C): Code -> RngMPolElt
      LeeWeightEnumerator(C): Code -> RngMPolElt
      EuclideanWeightEnumerator(C): Code -> RngMPolElt
      Example CodeRng_weightEnum-galois-rings (H155E21)
      Example CodeRng_WeightEnumerator (H155E22)

 
Constructing 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 (H155E23)

      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 (H155E24)
            Example CodeRng_punct-z4 (H155E25)

 
Operations on Codewords

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

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

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

 
Bibliography

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