ExtendedCode( C [, i ] )
ExtendedCode
extends the code C i times and returns the
result. i is equal to 1 by default. Extending is done by adding a
parity check bit after the last coordinate. The coordinates of all
codewords now add up to zero. In the binary case, each codeword has even
weight.
The word length increases by i. The size of the code remains the same. In the binary case, the minimum distance increases by one if it was odd. In other cases, that is not always true.
A cyclic code in general is no longer cyclic after extending.
gap> C1 := HammingCode( 3, GF(2) ); a linear [7,4,3]1 Hamming (3,2) code over GF(2) gap> C2 := ExtendedCode( C1 ); a linear [8,4,4]2 extended code gap> IsEquivalent( C2, ReedMullerCode( 1, 3 ) ); true gap> List( Elements( C2 ), WeightCodeword ); [ 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8 ] gap> PuncturedCode( C2 ) = C1; true gap> C3 := EvenWeightSubcode( C1 ); a linear [7,3,4]2..3 even weight subcode
To undo extending, call PuncturedCode
(see PuncturedCode). The
function EvenWeightSubcode
(see EvenWeightSubcode) also returns a
related code with only even weights, but without changing its word
length.
GAP 3.4.4