|
While cyclic linear codes are always generated by a single generating
polynomial (vector), this is not the case for additive codes.
Cyclic additive codes may be created in Magma using either a single
generator, or a sequence of generators.
In the important case of GF(2)-additive vectors over GF4, all cyclic
codes can be described in terms of two generators with one generator taken
over GF(4) and the other over GF(2). A special function is provided for
this construction.
AdditiveCyclicCode(K, v) : FldFin, ModTupFldElt -> CodeAdd
AdditiveCyclicCode(Q) : [ModTupFldElt] -> CodeAdd
AdditiveCyclicCode(K, Q) : FldFin, [ModTupFldElt] -> CodeAdd
Given either a single vector v or sequence of vectors Q over some
finite field F, return the K-additive code over F generated by
all shifts of the inputs. The field K must be a subfield of F and
if it is the prime subfield of F, it may be omitted.
AdditiveCyclicCode(K, n, f) : FldFin, RngIntElt, RngUPolElt -> CodeAdd
AdditiveCyclicCode(n, Q) : RngIntElt, [RngUPolElt] -> CodeAdd
AdditiveCyclicCode(K, n, Q) : FldFin, RngIntElt, [RngUPolElt] -> CodeAdd
Given either a single polynomial f or sequence Q of polynomials
over some finite field F, return the K-additive code of length n
over F generated by all shifts of the inputs. The field K must be
a subfield of F, and if it is the prime subfield of F, it may be
omitted.
Given two vectors of equal length n, where v4 is over GF(4)
and v2 is over GF(2), return the F2--additive code generated
by all of their cyclic shifts. Note that for the case of
GF(2)-additive codes over GF(4), two generators suffice to generate
any such code.
Given two polynomials f4 and f2, where f4 is over GF(4) and
f2 is over GF(2), return the F2--additive code of length n
generated by all of their cyclic shifts. The degree of the polynomials
f4 and f2 must not exceed n - 1. Note that for the case of
GF(2)-additive codes over GF(4), two generators suffice to generate
any such code.
Quasicyclic codes are a generalisation of cyclic codes. In Magma
quasicyclic codes consist of horizontally joined cyclic blocks.
AdditiveQuasiCyclicCode(K, n, Q) : FldFin, RngIntElt, SeqEnum[RngUPolElt] -> CodeAdd
Given an integer n, and a sequence Q of polynomials over some
finite field F, return the K--additive quasicyclic code,
whose cyclic blocks are generated by the polynomials in Q.
The field K must be a subfield of F, and if it is the prime
subfield of F, it may be omitted.
AdditiveQuasiCyclicCode(K, n, Q, h) : FldFin, RngIntElt, SeqEnum[RngUPolElt], RngIntElt -> CodeAdd
Given an integer n, and a sequence Q of polynomials over some
finite field F, and an integer h,
then return the K--additive quasicyclic code,
whose cyclic blocks are generated by the polynomials in Q
and stacked 2-dimensionally of height h.
The field K must be a subfield of F, and if it is the prime
subfield of F, it may be omitted.
AdditiveQuasiCyclicCode(K, Q) : FldFin, SeqEnum[ModTupFldElt] -> CodeAdd
Given a sequence Q of vectors over some
finite field F, then return the K--additive quasicyclic code,
whose cyclic blocks are generated by the vectors in Q.
The field K must be a subfield of F, and if it is the prime
subfield of F, it may be omitted.
AdditiveQuasiCyclicCode(K, Q, h) : FldFin, SeqEnum[ModTupFldElt], RngIntElt -> CodeAdd
Given a sequence Q of vectors over some finite field F, and an
integer h, then return the K--additive quasicyclic code, whose
cyclic blocks are generated by the vectors in Q and stacked
2-dimensionally of height h.
The field K must be a subfield of F, and if it is the prime
subfield of F, it may be omitted.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|