galois.ReedSolomon(n: int, k: int, c: int = 1, primitive_poly: PolyLike | None = None, primitive_element: PolyLike | None = None, systematic: bool = True)

Constructs a general \(\textrm{RS}(n, k)\) code.

Parameters
n: int

The codeword size \(n\), must be \(n = q - 1\) where \(q\) is a prime power.

k: int

The message size \(k\). The error-correcting capability \(t\) is defined by \(n - k = 2t\).

c: int = 1

The first consecutive power of \(\alpha\). The default is 1.

primitive_poly: PolyLike | None = None

Optionally specify the primitive polynomial that defines the extension field \(\mathrm{GF}(q)\). The default is None which uses Matlab’s default, see matlab_primitive_poly().

primitive_element: PolyLike | None = None

Optionally specify the primitive element \(\alpha\) of \(\mathrm{GF}(q)\) whose powers are roots of the generator polynomial \(g(x)\). The default is None which uses the lexicographically-minimal primitive element in \(\mathrm{GF}(q)\), see primitive_element().

systematic: bool = True

Optionally specify if the encoding should be systematic, meaning the codeword is the message with parity appended. The default is True.