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
HadamardCodeZ4(δ, m): RngIntElt, RngIntElt → CodeLinRng, Mtrx
ExtendedPerfectCodeZ4(δ, m): RngIntElt, RngIntElt → CodeLinRng, Mtrx
Example: Spain Z4 1
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: Spain Z4 2
ReedMullerCodesRMZ4(s, m): RngIntElt, RngIntElt → Tup
Example: Spain Z4 3
- 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: Spain Z4 4
Example: Spain Z4 4a
- 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: Spain Z4 12
- 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: Spain Z4 13
- 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: Hadamard Decoding
- 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: Spain Z4 15
PDSetHadamardCodeZ4(δ, m): RngIntElt, RngIntElt → SeqEnum, SeqEnum, SeqEnum, SeqEnum, SeqEnum
PDSetKerdockCodeZ4(m): RngIntElt → SeqEnum, SeqEnum, SeqEnum, SeqEnum
Example: Spain Z4 16
- 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: Spain Z4 8
PermutationGroup(C): CodeLinRng → GrpPerm
PermutationGroupGrayMapImage(C): CodeLinRng → GrpPerm
Example: Code Z4 Perm Group