property galois.ReedSolomon.is_primitive : bool

Indicates if the Reed-Solomon code is primitive, meaning \(n = q - 1\).

Examples

Construct a primitive \(\textrm{RS}(255, 223)\) code over \(\mathrm{GF}(2^8)\).

In [1]: rs = galois.ReedSolomon(255, 223); rs
Out[1]: <Reed-Solomon Code: [255, 223, 33] over GF(2^8)>

In [2]: assert rs.is_primitive

In [3]: assert rs.n == rs.field.order - 1

Construct a non-primitive \(\textrm{RS}(85, 65)\) code over \(\mathrm{GF}(2^8)\).

In [4]: rs = galois.ReedSolomon(85, 65, field=galois.GF(2**8)); rs
Out[4]: <Reed-Solomon Code: [85, 65, 21] over GF(2^8)>

In [5]: assert not rs.is_primitive

In [6]: assert not rs.n == rs.field.order - 1