検査行列
check matrix
$ [n,k]_q 符号に対し、$ n-k\;\times n行列になる
$ H=[-{}^t\!A, I_{n-k}] の形 (後述)
必ずしもこの形でない形で与えられるときもあるが、↑の形に変換した方が考えやすい(?)
何が嬉しい
求め方
$ G=[I_k, A]が$ Cの生成行列であるとき
$ H=[-{}^t\!A, I_{n-k}] .
$ \mathrm{Ham}(m,q)とすると、$ Hは$ m\times\theta_{m-1}行列
例: $ \mathrm{Ham}(2,3)の検査行列を作る
$ \mathrm{Ham}(2,3)はこんな集合になる
$ \{(0,1), (0,2), (1,0), (1,1), (1,2), (2,0), (2,1), (2,2)\}
$ q^m-1個
余次元$ mの$ q元なので、$ (0,0)を除いて、$ (0,1)から順番に書き出せばいい
全部$ 0である$ (0,0)は除く
「$ \mathrm{PG}(m − 1, q)の点として$ \boldsymbol{a}=\boldsymbol{b}」$ \Leftrightarrow「$ \exists \lambda \in \mathbb{F}_{q} \backslash\{0\} ; \boldsymbol{a}=\lambda \boldsymbol{b}」を使って等価なものを除く
$ (0,1)=(0,2), (1,0)=(2,0), (1,1)=(2,2), (1,2)=(2,1)となる
なぜなら、$ (0,1)\times 2=(0,2)だから、的なことmrsekut.icon
$ (1,2)\times 2= (2,1)
最後にそれを並べる
$ H=\begin{pmatrix}0&1&1&1 \\ 1&0&1&2\end{pmatrix}
$ \mathcal{C}=[n,k,d]_q から求める
以下の手順に沿って求める($ \mathcal{C}がMDS符号なら求められる) ①$ \mathcal{C}がMDS符号かどうかをチェック つまり、$ d= n-k+1が成り立つかどうかをチェック
満たしていたら②へ
具体例$ [6,3,4]_5 の検査行列を求める
よって、$ 0,1,2,3,4\in\mathbb{F}_5を選び以下のように構成できる
$ H=\begin{pmatrix}1&1&1&1&1&0 \\ 0&1&2&3&4&0 \\ 0^2&1^2&2^2&3^2&4^2&1\end{pmatrix}= \begin{pmatrix}1&1&1&1&1&0 \\ 0&1&2&3&4&0 \\ 0&1&4&4&1&1\end{pmatrix}