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