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 (H98E1)
Example CodeRng_CodeFromMatrix (H98E2)
Example CodeRng_PermutationCode (H98E3)
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
UniverseCode(R, n) : Rng, RngIntElt -> Code
Construction of General Cyclic Codes
CyclicCode(u) : ModTupRngElt -> Code
CyclicCode(n, g) : RngIntElt, RngUPolElt -> Code
Z4CyclotomicFactors(n) : RngIntElt -> [RngUPolElt]
Example CodeRng_CyclicCode (H98E4)
Invariants of Codes
# C : Code -> RngIntElt
C . i : Code, RngIntElt -> ModTupRngElt
Alphabet(C) : Code -> Rng
AmbientSpace(C) : Code -> ModTupRng
Basis(C) : Code -> [ ModTupRngElt ]
Dimension(C) : Code -> RngIntElt
Generators(C) : Code -> { ModTupRngElt }
GeneratorMatrix(C) : Code -> ModMatRngElt
Generic(C) : Code -> Code
Length(C) : Code -> RngIntElt
NumberOfGenerators(C) : Code -> RngIntElt
ParityCheckMatrix(C) : Code -> ModMatRngElt
Random(C): Code -> ModTupRngElt
RSpace(C) : Code -> ModTupRng
InformationRate(C) : Code -> RngPrElt
Construction of Subcodes of Linear Codes
The Subcode Constructor
sub<C | L> : Code, List -> Code
Subcode(C, k) : Code,RngIntElt -> Code
Subcode(C, S) : Code, RngIntElt -> Code
Sum, Intersection and Dual
C + D : Code, Code -> Code
C meet D : Code, Code -> Code
Dual(C) : Code -> Code
Example CodeRng_SumIntersection (H98E5)
Constructing New Codes from Old
Standard Constructions
DirectSum(C, D) : Code, Code -> Code
DirectProduct(C, D) : 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
Combining Codes
C1 cat C2 : Code,Code -> Code
CodeJuxtaposition(C1, C2) : Code,Code -> Code
Construction of a Codeword
C ! [a_1, ..., a_n] : Code, [ RngElt ] -> ModTupRngElt
C ! u : Code, ModTupRngElt -> ModTupRngElt
C ! 0 : Code, RngIntElt -> ModTupRngElt
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
Lee Weights
LeeWeight(v) : ModTupRngElt -> RngIntElt
LeeDistance(u, v) : ModTupRngElt, ModTupRngElt -> RngIntElt
Example CodeRng_Distance (H98E6)
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
IsWeaklySelfDual(C) : Code -> BoolElt
IsZero(u) : ModTupRngElt -> BoolElt
Example CodeRng_SelfDualZ4 (H98E7)
The Standard Form
StandardForm(C) : Code -> Code, Map
Example CodeRng_StandardForm (H98E8)
The Gray Map
GrayMap(C) : Code -> Map
GrayMapImage(C) : Code -> [ ModTupRngElt ]
HasLinearGrayMapImage(C) : Code -> BoolElt, Code
Example CodeRng_GrayMap (H98E9)
The Minimum Weight
MinimumWeight(C) : Code -> RngIntElt
The Weight Distribution
WeightDistribution(C) : Code -> [ <RngIntElt, RngIntElt> ]
DualWeightDistribution(C) : Code -> [ <RngIntElt, RngIntElt> ]
Weight Enumerators
CompleteWeightEnumerator(C): Code -> RngMPolElt
SymmetricWeightEnumerator(C): Code -> RngMPolElt
LeeWeightEnumerator(C): Code -> RngMPolElt
WeightEnumerator(C): Code -> RngMPolElt
Example CodeRng_WeightEnumerator (H98E10)
Families of Linear Codes
KerdockCode(m, h): RngIntElt, RngUPolElt -> Code
KerdockCode(m): RngIntElt, RngUPolElt -> Code
PreparataCode(m, h): RngIntElt, RngUPolElt -> Code
PreparataCode(m): RngIntElt, RngUPolElt -> Code