Linear Codes over the Integer Residue Ring \({\mathbb{Z}}_4\)
- Introduction
- Constructions for \({\mathbb{Z}}_4\) Codes
- The Gray Map
- Families of Codes over \({\mathbb{Z}}_4\)
KerdockCode(m): RngIntElt → Code
PreparataCode(m): RngIntElt → 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: Kerdock and Preparata Codes
HadamardCodeZ4(δ, m): RngIntElt, RngIntElt → CodeLinRng, Mtrx
ExtendedPerfectCodeZ4(δ, m): RngIntElt, RngIntElt → CodeLinRng, Mtrx
- Example: Hadamard Codes over Z4
ReedMullerCodeZ4(r, m): RngIntElt, RngIntElt → CodeLinRng
ReedMullerCodeQRMZ4(r, m): RngIntElt, RngIntElt → CodeLinRng
ReedMullerCodesLRMZ4(r, m): RngIntElt, RngIntElt → SeqEnum
ReedMullerCodeRMZ4(s, r, m): RngIntElt, RngIntElt, RngIntElt → CodeLinRng, Mtrx
- Example: Nested Reed-Muller Codes over Z4
ReedMullerCodesRMZ4(s, m): RngIntElt, RngIntElt → Tup
- Example: Family of Reed-Muller Codes over Z4
- Derived Binary Codes
- 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: Plotkin Sums of Matrices and Codes
- Example: Reed-Muller Codes as Plotkin Sums
- Invariants
- Weight Distributions
- Weight Enumerators
- Decoding
- Coset Decoding
CosetDecode(C, u : parameters): CodeLinRng, ModTupFldElt → BoolElt, ModTupRngElt, ModTupFldElt
CosetDecode(C, u : parameters): CodeLinRng, ModTupRngElt → BoolElt, ModTupRngElt, ModTupFldElt
CosetDecode(C, Q : parameters): CodeLinRng, [ModTupFldElt] → SeqEnum, SeqEnum, SeqEnum
CosetDecode(C, Q : parameters): CodeLinRng, [ModTupRngElt] → SeqEnum, SeqEnum, SeqEnum
- Example: Coset Decoding of a Hadamard Code
- Syndrome Decoding
SyndromeDecode(C, u): CodeLinRng, ModTupFldElt → BoolElt, ModTupRngElt, ModTupFldElt
SyndromeDecode(C, u): CodeLinRng, ModTupRngElt → BoolElt, ModTupRngElt, ModTupFldElt
SyndromeDecode(C, Q): CodeLinRng, [ModTupFldElt] → SeqEnum, SeqEnum, SeqEnum
SyndromeDecode(C, Q): CodeLinRng, [ModTupRngElt] → SeqEnum, SeqEnum, SeqEnum
- Example: Syndrome Decoding of a Hadamard Code
- Lifted Decoding
LiftedDecode(C, u : parameters): CodeLinRng, ModTupFldElt → BoolElt, ModTupRngElt, ModTupFldElt
LiftedDecode(C, u : parameters): CodeLinRng, ModTupRngElt → BoolElt, ModTupRngElt, ModTupFldElt
LiftedDecode(C, Q : parameters): CodeLinRng, [ModTupFldElt] → SeqEnum, SeqEnum, SeqEnum
LiftedDecode(C, Q : parameters): CodeLinRng, [ModTupRngElt] → SeqEnum, SeqEnum, SeqEnum
- Example: Lifted Decoding of a Hadamard Code
- Permutation Decoding
IsPermutationDecodeSet(C, I, S, s): CodeLinRng, [RngIntElt], [GrpPermElt], RngIntElt → BoolElt
PermutationDecode(C, I, S, s, u): CodeLinRng, [RngIntElt], [GrpPermElt], RngIntElt, ModTupFldElt → BoolElt, ModTupRngElt, ModTupFldElt
PermutationDecode(C, I, S, s, u): CodeLinRng, [RngIntElt], [GrpPermElt], RngIntElt, ModTupRngElt → BoolElt, ModTupRngElt, ModTupFldElt
PermutationDecode(C, I, S, s, Q): CodeLinRng, [RngIntElt], [GrpPermElt], RngIntElt, [ModTupFldElt] → [BoolElt], [ModTupRngElt], [ModTupFldElt]
PermutationDecode(C, I, S, s, Q): CodeLinRng, [RngIntElt], [GrpPermElt], RngIntElt, [ModTupRngElt] → [BoolElt], [ModTupRngElt], [ModTupFldElt]
- Example: Permutation Decoding of a Hadamard Code
PDSetHadamardCodeZ4(δ, m): RngIntElt, RngIntElt → SeqEnum, SeqEnum, SeqEnum, SeqEnum, SeqEnum
PDSetKerdockCodeZ4(m): RngIntElt → SeqEnum, SeqEnum, SeqEnum, SeqEnum
- Example: Checking a PD-Set for a Hadamard Code
- Automorphism Groups
PermutationGroupHadamardCodeZ4(δ, m): RngIntElt, RngIntElt → GrpPerm, Mtrx
PAutHadamardCodeZ4(δ, m): RngIntElt, RngIntElt → GrpPerm, Mtrx
PermutationGroupHadamardCodeZ4Order(δ, m): RngIntElt, RngIntElt → RngIntElt
PAutHadamardCodeZ4Order(δ, m): RngIntElt, RngIntElt → RngIntElt
PermutationGroupExtendedPerfectCodeZ4(δ, m): RngIntElt, RngIntElt → GrpPerm, Mtrx
PAutExtendedPerfectCodeZ4(δ, m): RngIntElt, RngIntElt → GrpPerm, Mtrx
PermutationGroupExtendedPerfectCodeZ4Order(δ, m): RngIntElt, RngIntElt → RngIntElt
PAutExtendedPerfectCodeZ4Order(δ, m): RngIntElt, RngIntElt → RngIntElt
- Example: Permutation Automorphisms of a Hadamard Code
PermutationGroup(C): CodeLinRng → GrpPerm
PermutationGroupGrayMapImage(C): CodeLinRng → GrpPerm
- Example: Permutation Group of a Code over Z4
- Bibliography