sdr.DiscreteMemorylessChannel(P: ArrayLike, X: ArrayLike | None = None, Y: ArrayLike | None = None, seed: int | None = None)

Creates a new discrete memoryless channel (DMC).

Parameters:
P: ArrayLike

The \(m \times n\) transition probability matrix \(P\), where \(P = \Pr(Y = y_j | X = x_i)\).

X: ArrayLike | None = None

The input alphabet \(\mathcal{X}\) of size \(m\). If None, it is assumed that \(\mathcal{X} = \{0, 1, \ldots, m-1\}\).

Y: ArrayLike | None = None

The output alphabet \(\mathcal{Y}\) of size \(n\). If None, it is assumed that \(\mathcal{Y} = \{0, 1, \ldots, n-1\}\).

seed: int | None = None

The seed for the random number generator. This is passed to numpy.random.default_rng().