FireCode( G, b )
FireCode
constructs a (binary) Fire code. G is a primitive polynomial
of degree m, factor of x^r-1. b an integer 0 leq <b> leq m not
divisible by r, that determines the burst length of a single error
burst that can be corrected. The argument G can be a polynomial with
base ring GF(2), or a list of coefficients in GF(2). The generator
polynomial is defined as the product of G and x^{2b-1}+1.
gap> G := Polynomial( GF(2), Z(2)^0 * [ 1, 0, 1, 1 ] ); Z(2)^0*(X(GF(2))^3 + X(GF(2))^2 + 1) gap> Factors( G ); [ Z(2)^0*(X(GF(2))^3 + X(GF(2))^2 + 1) ] # So it is primitive gap> C := FireCode( G, 3 ); a cyclic [35,27,1..4]2..6 3 burst error correcting fire code over GF(2) gap> MinimumDistance( C ); 4 # Still it can correct bursts of length 3
GAP 3.4.4