[Next][Prev] [Right] [Left] [Up] [Index] [Root]
Subsections
elt< C | a_1, ..., a_n> : Code, List -> ModTupRngElt
Given a code C which is defined as a subset of the
R-space R^((n)), and elements a_1, ..., a_n belonging
to R, construct the codeword (a_1, ..., a_n) of C.
It is checked that the vector (a_1, ..., a_n) is an element of C.
Given a code C which is defined as a subset of the R-space
V = R^((n)), and an element u belonging to V,
create the codeword of C corresponding to u. The function
will fail if u does not belong to C.
The zero word of the code C.
We create some elements of a code over a finite ring.
> R<w> := GR(16,2);
> P<x> := PolynomialRing(R);
> L := CyclotomicFactors(R, 7);
> C := CyclicCode(7, L[2]);
> C ! [1, 2*w, 0, w+3, 7*w, 12*w+3, w+3];
( 1 2*w 0 w + 3 7*w 12*w + 3 w + 3)
> elt< C | 0, 3, 0, 2*w + 5, 6*w + 9, 4*w + 5, 14*w + 14 >;
( 0 3 0 2*w + 5 6*w + 9 4*w + 5 14*w + 14)
If the given vector does not lie in the given code then an error
will result.
> C ! [0,0,0,0,0,0,1];
>> C ! [0,0,0,0,0,0,1];
^
Runtime error in '!': Result is not in the given structure
> elt< C | 1, 0, 1, 0, 1, 0, 1>;
>> elt< C | 1, 0, 1, 0, 1, 0, 1>;
^
Runtime error in elt< ... >: Result is not in the lhs of the constructor
Sum of the codewords u and v, where u and
v belong to the same linear code C.
Additive inverse of the codeword u belonging
to the linear code C.
Difference of the codewords u and v, where
u and v belong to the same linear code C.
Given an element a belonging to the ring R,
and a codeword u belonging to the linear code
C, return the codeword a * u.
The Hamming weight of the codeword v, i.e., the number of non-zero
components of v.
The Hamming distance between the codewords u and v,
where u and v belong to the same code C.
Given a word w belonging to the length n code C, return its
support as a subset of the integer set { 1 .. n }. The support of w
consists of the coordinates at which w has non-zero entries.
InnerProduct(u, v) : ModTupRngElt, ModTupRngElt -> RngElt
Inner product of the vectors u and v with respect to
the Euclidean norm, where u and v belong to the parent
vector space of the code C.
Given a length n linear code C and a codeword u of C return the
coordinates of u with respect to C. The coordinates of u are returned
as a sequence Q = [a_1, ..., a_k] of elements from the alphabet of C
so that u = a_1 * C.1 + ... + a_k * C.k.
Given an element u of a code defined over the ring R,
return the normalization of u, which
is the unique vector v such that v = a.u for some scalar a in R
such that the first non-zero entry of v is the canonical associate in R
of the first non-zero entry of u (v is zero if u is zero).
Given a vector u, return the vector obtained from u by
cyclically shifting its components to the right by k coordinate
positions.
Given a vector u, destructively rotate u by k coordinate positions.
Given a word w belonging to the code C, return the
ambient space V of C.
Given a code over a finite ring, we explore various
operations on its code words.
> R<w> := GR(4, 4);
> P<x> := PolynomialRing(R);
> g := x + 2*w^3 + 3*w^2 + w + 2;
> C := CyclicCode(3, g);
> C;
(3, 1048576) Cyclic Code over GaloisRing(2, 2, 4)
Generator matrix:
[ 1 0 w^2 + w]
[ 0 1 w^2 + w + 1]
[ 0 0 2]
> u := C.1;
> v := C.2;
> u;
( 1 0 w^2 + w)
> v;
( 0 1 w^2 + w + 1)
> u + v;
( 1 1 2*w^2 + 2*w + 1)
> 2*u;
( 2 0 2*w^2 + 2*w)
> 4*u;
(0 0 0)
> Weight(u);
2
> Support(u);
{ 1, 3 }
Given a codeword u belonging to the code C defined
over the ring R, return the i-th component of u
(as an element of R).
Given an element u belonging to a subcode C of the full R-space
V = R^n, a positive integer i, 1 <= i <= n, and an
element x of R, this function returns a vector in V
which is u with its i-th component redefined to be x.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]