ADDITIVE CODES
Acknowledgements Introduction
Construction of Additive Codes
Construction of General Additive Codes
Some Trivial Additive Codes
Invariants of an Additive Code
The Ambient Space and Alphabet
Basic Numerical Invariants
The Code Space
The Dual Space
Operations on Codewords
Construction of a Codeword
Arithmetic Operations on Codewords
Distance and Weight
Vector Space and Related Operations
Predicates for Codewords
Accessing Components of a Codeword
Subcodes
The Subcode Constructor
Sum, Intersection and Dual
Membership and Equality
Properties of Codes
The Weight Distribution
The Minimum Weight
The Weight Distribution
The Weight Enumerator
The MacWilliams Transform
Words
Families of Linear Codes
Cyclic Codes
Quasicyclic Codes
New Codes from Old
Standard Constructions
Combining Codes
Automorphism Group
Introduction
Construction of Additive Codes
Construction of General Additive Codes
AdditiveCode<F, K, n | L> : FldFin, RngIntElt, List -> Code
AdditiveCode(G) : ModMatRngElt -> CodeAdd
Example CodeAdd_AddLinDiff (H170E1)
Example CodeAdd_CodeAddFromMatrix (H170E2)
AdditiveCode(K, C) : FldFin, Code -> CodeAdd
Example CodeAdd_CodeAddFromCode (H170E3)
Example CodeAdd_CodeAddFromCodeFail (H170E4)
Some Trivial Additive Codes
AdditiveZeroCode(F, K, n) : FldFin, FldFin, RngIntElt -> CodeAdd
AdditiveRepetitionCode(F, K, n) : FldFin, FldFin, RngIntElt -> Code
AdditiveZeroSumCode(F, K, n) : FldFin, FldFin, RngIntElt -> Code
AdditiveUniverseCode(F, K, n) : FldFin,FldFin, RngIntElt -> Code
RandomAdditiveCode(F, K, n, k) : FldFin,FldFin, RngIntElt, RngIntElt -> Code
Example CodeAdd_SimpleCodeChain (H170E5)
Invariants of an Additive Code
The Ambient Space and Alphabet
Alphabet(C) : Code -> Rng
CoefficientField(C) : Code -> Rng
AmbientSpace(C) : Code -> ModTupRng
Generic(C) : Code -> Code
Example CodeAdd_alphabet-coeff-field (H170E6)
Basic Numerical Invariants
Length(C) : Code -> RngIntElt
Dimension(C) : Code -> FldRatElt
NumberOfGenerators(C) : Code -> RngIntElt
# C : Code -> RngIntElt
InformationRate(C) : Code -> FldPrElt
The Code Space
GeneratorMatrix(C) : Code -> ModMatFldElt
Basis(C) : Code -> [ ModTupRngElt ]
C . i : Code, RngIntElt -> ModTupFldElt
The Dual Space
Dual(C) : CodeAdd -> CodeAdd
ParityCheckMatrix(C) : Code -> ModMatFldElt
Operations on Codewords
Construction of a Codeword
C ! [a1, ..., an] : Code, [ RngElt ] -> ModTupRngElt
C ! u : Code, ModTupRngElt -> ModTupRngElt
C ! 0 : Code, RngIntElt -> ModTupRngElt
Random(C): Code -> ModTupRngElt
Arithmetic Operations on Codewords
u + v : ModTupRngElt, ModTupRngElt -> ModTupRngElt
- u : ModTupRngElt -> ModTupRngElt
u - v : ModTupRngElt, ModTupRngElt -> ModTupRngElt
a * u : RngElt, ModTupRngElt -> ModTupRngElt
Normalize(u) : ModTupRngElt -> ModTupRngElt
Distance and Weight
Distance(u, v) : ModTupRngElt, ModTupRngElt -> RngIntElt
Weight(u) : ModTupRngElt -> RngIntElt
Vector Space and Related Operations
(u, v) : ModTupRngElt, ModTupRngElt -> RngElt
TraceInnerProduct(K, u, v) : FldFin, ModTupFldElt, ModTupFldElt -> FldFinElt
Support(w) : ModTupRngElt -> { RngIntElt }
Coordinates(C, u) : Code, ModTupRngElt -> [ RngFinElt ]
Parent(w): ModTupRngElt -> ModTupRng
Rotate(u, k) : ModTupRngElt, RngIntElt -> ModTupRngElt
Rotate(~u, k) : ModTupRngElt, RngIntElt ->
Trace(u, S) : ModTupFldElt, FldFin -> ModTupFldElt
Predicates for Codewords
u eq v : ModTupRngElt, ModTupRngElt -> BoolElt
u ne v : ModTupRngElt, ModTupRngElt -> BoolElt
IsZero(u) : ModTupRngElt -> BoolElt
Accessing Components of a Codeword
u[i] : ModTupRngElt, RngIntElt -> RngElt
u[i] := x;
Subcodes
The Subcode Constructor
sub<C | L> : CodeAdd, List -> CodeAdd
Subcode(C, k) : CodeAdd, RngIntElt -> CodeAdd
Subcode(C, S) : CodeAdd, { RngIntElt } -> Code
SubcodeBetweenCode(C1, C2, k) : CodeAdd, CodeAdd, RngIntElt -> CodeAdd
SubcodeWordsOfWeight(C, w) : CodeAdd, RngIntElt -> CodeAdd
SubcodeWordsOfWeight(C, S) : CodeAdd, { RngIntElt } -> CodeAdd
Example CodeAdd_SubcodeBetweenCode (H170E7)
Sum, Intersection and Dual
C + D : CodeAdd, CodeAdd -> CodeAdd
C meet D : Code, Code -> Code
Dual(C) : Code -> Code
Membership and Equality
u in C : ModTupRngElt, CodeAdd -> BoolElt
u notin C : ModTupRngElt, CodeAdd -> 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
Properties of Codes
IsSelfDual(C) : Code -> BoolElt
IsSelfOrthogonal(C) : Code -> BoolElt
IsPerfect(C) : Code -> BoolElt
IsProjective(C) : Code -> BoolElt
IsAdditiveProjective(C) : CodeAdd -> BoolElt
The Weight Distribution
The Minimum Weight
MinimumWeight(C: parameters) : CodeAdd -> RngIntElt
Example CodeAdd_additive-minweight (H170E8)
The Weight Distribution
WeightDistribution(C) : CodeAdd -> [ <RngIntElt, RngIntElt> ]
DualWeightDistribution(C) : CodeAdd -> [ <RngIntElt, RngIntElt> ]
The Weight Enumerator
WeightEnumerator(C): CodeAdd -> RngMPolElt
CompleteWeightEnumerator(C): CodeAdd -> RngMPolElt
CompleteWeightEnumerator(C, u): Code, ModTupFldElt -> RngMPolElt
The MacWilliams Transform
MacWilliamsTransform(n, k, q, W) : RngIntElt, RngIntElt, RngIntElt, [ <RngIntElt, RngIntElt> ] -> [ <RngIntElt, RngIntElt> ]
Words
Words(C, w: parameters) : Code, RngIntElt -> { ModTupFldElt }
NumberOfWords(C, w) : Code, RngIntElt -> RngIntElt
WordsOfBoundedWeight(C, l, u: parameters) : Code, RngIntElt, RngIntElt -> { ModTupFldElt }
Families of Linear Codes
Cyclic Codes
AdditiveCyclicCode(v) : ModTupFldElt -> CodeAdd
AdditiveCyclicCode(n, f) : RngIntElt, RngUPolElt -> CodeAdd
AdditiveCyclicCode(v4, v2) : ModTupFldElt, ModTupFldElt -> CodeAdd
AdditiveCyclicCode(n, f4, f2) : RngIntElt, RngUPolElt, RngUPolElt -> CodeAdd
Quasicyclic Codes
AdditiveQuasiCyclicCode(n, Q) : RngIntElt, SeqEnum[RngUPolElt] -> CodeAdd
AdditiveQuasiCyclicCode(n, Q, h) : RngIntElt, SeqEnum[RngUPolElt], RngIntElt -> CodeAdd
AdditiveQuasiCyclicCode(Q) : SeqEnum[ModTupFldElt] -> CodeAdd
AdditiveQuasiCyclicCode(Q, h) : SeqEnum[ModTupFldElt], RngIntElt -> CodeAdd
New Codes from Old
Standard Constructions
AugmentCode(C) : CodeAdd -> Code
CodeComplement(C, S) : Code, Code -> Code
DirectSum(C, D) : Code, Code -> Code
DirectSum(Q) : [Code] -> Code
DirectProduct(C, D) : Code, Code -> Code
ExtendCode(C) : CodeAdd -> CodeAdd
ExtendCode(C, n) : Code, RngIntElt -> Code
PadCode(C, n) : CodeAdd, RngIntElt -> CodeAdd
PlotkinSum(C1, C2) : Code, Code -> Code
PlotkinSum(C1, C2, C3: parameters) : Code,Code,Code -> Code
PunctureCode(C, i) : CodeAdd, RngIntElt -> Code
PunctureCode(C, S) : CodeAdd, { RngIntElt } -> Code
ShortenCode(C, i) : Code, RngIntElt -> Code
ShortenCode(C, S) : Code, { RngIntElt } -> Code
Combining Codes
C1 cat C2 : CodeAdd, CodeAdd -> CodeAdd
Juxtaposition(C1, C2) : Code, Code -> Code
Automorphism Group
AutomorphismGroup(C) : CodeAdd -> GrpPerm
PermutationGroup(C) : CodeAdd -> GrpPerm
[Next][Prev] [Right] [____] [Up] [Index] [Root]
|