property galois.ReedSolomon.is_narrow_sense : bool

Indicates if the Reed-Solomon code is narrow-sense, meaning the roots of the generator polynomial are consecutive powers of $$\alpha$$ starting at 1, that is $$\alpha, \dots, \alpha^{d-1}$$.

Examples

Construct a narrow-sense $$\textrm{RS}(15, 9)$$ code over $$\mathrm{GF}(2^4)$$ with first consecutive root $$\alpha$$.

In : rs = galois.ReedSolomon(15, 9); rs
Out: <Reed-Solomon Code: [15, 9, 7] over GF(2^4)>

In : rs.is_narrow_sense
Out: True

In : rs.c == 1
Out: True

In : rs.generator_poly
Out: Poly(x^6 + 7x^5 + 9x^4 + 3x^3 + 12x^2 + 10x + 12, GF(2^4))

In : rs.roots
Out: GF([ 2,  4,  8,  3,  6, 12], order=2^4)


Construct a narrow-sense $$\textrm{RS}(15, 9)$$ code over $$\mathrm{GF}(2^4)$$ with first consecutive root $$\alpha^3$$. Notice the design distance is the same, however the generator polynomial is different.

In : rs = galois.ReedSolomon(15, 9, c=3); rs
Out: <Reed-Solomon Code: [15, 9, 7] over GF(2^4)>

In : rs.is_narrow_sense
Out: False

In : rs.c == 1
Out: False

In : rs.generator_poly
Out: Poly(x^6 + 15x^5 + 8x^4 + 7x^3 + 9x^2 + 3x + 8, GF(2^4))

In : rs.roots
Out: GF([ 8,  3,  6, 12, 11,  5], order=2^4)