galois.poly_to_generator_matrix¶
- galois.poly_to_generator_matrix()¶
Converts the generator polynomial \(g(x)\) into the generator matrix \(\mathbf{G}\) for an \([n, k]\) cyclic code.
- Parameters¶
- n
The codeword size \(n\).
- generator_poly
The generator polynomial \(g(x)\).
- systematic
Optionally specify if the encoding should be systematic, meaning the codeword is the message with parity appended. The default is
True
.
- Returns¶
The \((k, n)\) generator matrix \(\mathbf{G}\), such that given a message \(\mathbf{m}\), a codeword is defined by \(\mathbf{c} = \mathbf{m}\mathbf{G}\).
Examples
Compute the generator matrix for the \(\mathrm{Hamming}(7, 4)\) code.
In [1]: g = galois.primitive_poly(2, 3); g Out[1]: Poly(x^3 + x + 1, GF(2)) In [2]: galois.poly_to_generator_matrix(7, g, systematic=False) Out[2]: GF([[1, 0, 1, 1, 0, 0, 0], [0, 1, 0, 1, 1, 0, 0], [0, 0, 1, 0, 1, 1, 0], [0, 0, 0, 1, 0, 1, 1]], order=2) In [3]: galois.poly_to_generator_matrix(7, g, systematic=True) Out[3]: GF([[1, 0, 0, 0, 1, 0, 1], [0, 1, 0, 0, 1, 1, 1], [0, 0, 1, 0, 1, 1, 0], [0, 0, 0, 1, 0, 1, 1]], order=2)
Last update:
Apr 15, 2022