komm.CordaroWagnerCode
Cordaro–Wagner code. For a given length $n \geq 2$, it is the linear block code with dimension $k = 2$ which is optimum for the BSC with sufficiently small crossover probability. For more details, see CW67.
- Length: $n$
- Dimension: $k = 2$
- Redundancy: $m = n - 2$
- Minimum distance: $d = \left\lceil 2n / 3 \right\rceil - 1$
Attributes:
-
n
(int
) –The length $n$ of the code. Must satisfy $n \geq 2$.
Examples:
>>> code = komm.CordaroWagnerCode(11)
>>> (code.length, code.dimension, code.redundancy)
(11, 2, 9)
>>> code.generator_matrix
array([[1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]])
>>> code.minimum_distance()
7
>>> code.codeword_weight_distribution()
array([1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0])
>>> code.coset_leader_weight_distribution()
array([ 1, 11, 55, 165, 226, 54, 0, 0, 0, 0, 0, 0])