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 (H127E1)
Example CodeRng_CodeFromMatrix (H127E2)
Example CodeRng_PermutationCode (H127E3)
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 (H127E4)
Construction of General Cyclic Codes
CyclicCode(u) : ModTupRngElt -> Code
CyclicCode(n, g) : RngIntElt, RngUPolElt -> Code
CyclotomicFactors(R, n) : Rng, RngIntElt -> [RngUPolElt]
Example CodeRng_CyclicCode (H127E5)
Example CodeRng_cyclic-galois-ring (H127E6)
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
The Gray Map
GrayMap(C) : Code -> Map
GrayMapImage(C) : Code -> [ ModTupRngElt ]
HasLinearGrayMapImage(C) : Code -> BoolElt, Code
Example CodeRng_GrayMap (H127E7)
Families of Codes over Z_4
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 (H127E8)
Derived Binary Codes
BinaryResidueCode(C) : Code -> Code
BinaryTorsionCode(C) : Code -> Code
Z4CodeFromBinaryChain(C1, C2) : Code, Code -> Code
Example CodeRng_derived-binary (H127E9)
The Standard Form
StandardForm(C) : Code -> Code, Map
Example CodeRng_StandardForm (H127E10)
Other Z_4 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 (H127E11)
Hamming Weight
MinimumWeight(C) : Code -> RngIntElt
WeightDistribution(C) : Code -> [ <RngIntElt, RngIntElt> ]
DualWeightDistribution(C) : Code -> [ <RngIntElt, RngIntElt> ]
Example CodeRng_weight-dist-cyc (H127E12)
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 (H127E13)
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 (H127E14)
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 (H127E15)
Example CodeRng_WeightEnumerator (H127E16)
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 (H127E17)
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 (H127E18)
Example CodeRng_punct-z4 (H127E19)
Construction of a Codeword
C ! [a_1, ..., a_n] : Code, [ RngElt ] -> ModTupRngElt
C ! u : Code, ModTupRngElt -> ModTupRngElt
C ! 0 : Code, RngIntElt -> ModTupRngElt
Example CodeRng_code-elts (H127E20)
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 (H127E21)
Accessing Components of a Codeword
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
IsZero(u) : ModTupRngElt -> BoolElt