UUVCode( C_1, C_2 )
UUVCode
returns the so-called (u|u+v) construction applied to
C_1 and C_2. The resulting code consists of every codeword u of
C_1 concatenated by the sum of u and every codeword v of
C_2. If C_1 and C_2 have different word lengths, sufficient
zeros are added to the shorter code to make this sum possible. If C_i
is a (n_i,M_i,d_i) code, the result is a
(n_1+max(n_1,n_2),M_1*M_2,min(2*d_1,d_2)) code.
If both C_1 and C_2 are linear codes, the result is also a linear code. If one of them is non-linear, the UUV sum is non-linear too. In general, a UUV sum code is not cyclic.
The function DirectSumCode
returns another sum of codes (see
DirectSumCode).
gap> C1 := EvenWeightSubcode(WholeSpaceCode(4, GF(2))); a cyclic [4,3,2]1 even weight subcode gap> C2 := RepetitionCode(4, GF(2)); a cyclic [4,1,4]2 repetition code over GF(2) gap> R := UUVCode(C1, C2); a linear [8,4,4]2 U
|
U+V construction code gap> R = ReedMullerCode(1,3); true
GAP 3.4.4