- property galois.ReedSolomon.G : FieldArray
The generator matrix \(\mathbf{G}\) with shape \((k, n)\).
Examples¶
Construct a primitive \(\textrm{RS}(15, 9)\) code over \(\mathrm{GF}(2^4)\).
In [1]: rs = galois.ReedSolomon(15, 9); rs Out[1]: <Reed-Solomon Code: [15, 9, 7] over GF(2^4)> In [2]: rs.G Out[2]: GF([[ 1, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 5, 13, 1, 8], [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 15, 1, 13, 7, 5, 13], [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 11, 11, 13, 3, 10, 7], [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 2, 3, 8, 4, 7], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 10, 10, 6, 15, 9], [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 11, 1, 5, 15, 11], [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 11, 10, 7, 14, 8], [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 15, 9, 5, 8, 15, 2], [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 9, 3, 12, 10, 12]], order=2^4)
Construct a non-primitive \(\textrm{RS}(13, 9)\) code over \(\mathrm{GF}(3^3)\).
In [3]: rs = galois.ReedSolomon(13, 9, field=galois.GF(3**3)); rs Out[3]: <Reed-Solomon Code: [13, 9, 5] over GF(3^3)> In [4]: rs.G Out[4]: GF([[ 1, 0, 0, 0, 0, 0, 0, 0, 0, 13, 20, 9, 16], [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 14, 12, 7, 6], [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 17, 15, 17, 21], [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 12, 25, 19, 13], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 19, 15, 8, 3], [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 22, 24, 13, 9], [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 10, 10, 9, 18], [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 20, 22, 25, 4], [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 9, 8, 11, 22]], order=3^3)
In [5]: rs = galois.ReedSolomon(13, 9, field=galois.GF(3**3), systematic=False); rs Out[5]: <Reed-Solomon Code: [13, 9, 5] over GF(3^3)> In [6]: rs.G Out[6]: GF([[ 1, 9, 8, 11, 22, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 1, 9, 8, 11, 22, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 1, 9, 8, 11, 22, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 1, 9, 8, 11, 22, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 1, 9, 8, 11, 22, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 1, 9, 8, 11, 22, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 1, 9, 8, 11, 22, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 1, 9, 8, 11, 22, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 9, 8, 11, 22]], order=3^3) In [7]: rs.generator_poly Out[7]: Poly(x^4 + 9x^3 + 8x^2 + 11x + 22, GF(3^3))