Linear Codes over Finite Rings
- Introduction
- Constructions
- General Linear Codes
- 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: Simple Finite Ring
- General Cyclic Codes
- Invariants
- Subcodes
- Boolean Predicates
- New Codes from Old
- Sum, Intersection and Dual
- 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: lengths
Example: Punct Z4
- Codeword Operations
- Construction
- Operations
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
InnerProduct(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: Codeword Ops
- Accessing Components of a Codeword
- Weight Distributions
- Weight Enumerators