Subcodes

Contents

The Subcode Constructor

sub<C | L> : Code, List -> Code
Given a length n linear code C over R, construct the subcode of C, generated by the elements specified by the list L, where L is a list of one or more items of the following types:
(a)
An element of C;
(b)
A set or sequence of elements of C;
(c)
A sequence of n elements of R, defining an element of C;
(d)
A set or sequence of sequences of type (c);
(e)
A subcode of C;
(f)
A set or sequence of subcodes of C.
Subcode(C, t) : Code,RngIntElt -> Code
Given a length n linear code C with k generators and an integer t, 1 ≤t < k, return a subcode of C of pseudo-dimension t.
Subcode(C, S) : Code, RngIntElt -> Code
Given a length n linear code C with k generators and a set S of integers, each of which lies in the range [1, k], return the subcode of C generated by the basis elements whose positions appear in S.

Example CodeRng_subcode-galois-rings (H164E7)

We construct a subcode of a code over a Galois ring by multiplying each of its generators by a zero divisor.
> R<w> := GR(4,2);
> C := RandomLinearCode(R, 4, 2);
> C;
(4, 256, 3) Linear Code over GaloisRing(2, 2, 2)
Generator matrix:
[      1       0   w + 1 3*w + 2]
[      0       1 3*w + 1       1]
> #C;
256
>
> C1 := sub< C | 2*C.1, 2*C.2 >;
> C1;
(4, 16, 3) Linear Code over GaloisRing(2, 2, 2)
Generator matrix:
[      2       0 2*w + 2     2*w]
[      0       2 2*w + 2       2]
> #C1;
16
V2.28, 13 July 2023