代数符号の言葉

ほんとのパリティじゃなくても、パリティ検査部〈parity check part〉と言っているので、コード(と呼ばれる部分ベクトル空間)の生成行列を標準形で書いたときの対角行列以外の部分は、「パリティ検査行列」と言いたいところだが、双対符号(と呼ばれる部分ベクトル空間)の生成行列をパリティ検査行列と呼ぶ。

符号語ベクトル(符号〈コード〉と呼ばれる部分ベクトル空間に入るベクトル)が2つのパートに分離可能なとき、それぞれのパートを情報部データ部〉とパリティと呼んで、生成行列も情報生成部パリティ生成部に分ける。が、情報生成部は単位行列=恒等線形写像だから、問題になるのはパリティ生成部だけ。

  • タプルのパリティ部がほんとにパリティとは限らない。だいたいはパリティじゃない。
  • タプルのパリティ部が意味を持つのは、コードの生成行列が標準形をしているときだけ。

情報生成部とパリティ生成部に(行列として)直和分解できて、情報生成部を単位行列にできるのは、行列の基本変形で変形できる生成行列は同値とみなしているから。この同値関係は、部分ベクトル空間のあいだの同値関係を誘導して、コードとしての同値関係となる。

つまり、符号〈コード〉は、(C, Qn) というペアだが、コード(と呼ばれる構造)のあいだの準同型射と同型射が定義できて、同型射で移り合えるなら同型〈同値 | 等価〉。この同値関係は、シンボル有限体の位数〈基数〉qは固定しているから、qが変われば別世界で無関係。

タプルの長さnは固定するか? 通常は固定するだろうが、タプルの変換を考えることがあるかも知れない。課題としては面白い。

用語「パリティ検査行列」はもう慣用だからどうにもならない。パリティ検査行列はパリティ生成行列(生成行列のパリティ部)とはまったく違う。生成行列のある種の双対で、コード(と呼ばれる部分ベクトル空間)の直交空間の生成行列。直交空間が補空間にならない、という罠がある。

習慣として、コードの直交空間を双対コードと呼ぶ。しかし、記法は直交空間の記法 Cを使う。双対コードは、(n, n-k) 線形コードになる。パリティ検査行列=双対コードの生成行列の転置〈双対 | 随伴〉は、シンドローム生成行列になる。

シンドロームは、病状、症状、病名とかの意味だろう。k-タプルに対してシンドローム生成行列=診断〈diagnosis〉行列を作用させると、シンドローム値=診断結果が出る。個々のシンドローム値(スカラーとは限らない)は、コードによりタプルを同値分割した同値類=コセット=アフィン空間になる。タプルのベクトル空間の部分アフィン空間が同一のシンドローム(病名)を持った集合。

シンドローム値がゼロベクトル ⇔ 病状・症状はない ⇔ 正常である ⇔ コードの要素=コード語である ⇔ 治療の必要がない

シンドローム(病名)の逆像=同一の症状を持つ集まりから、最もありそうな正常状態を推定する。そのために、各シンドロームごとに(コセットごとに)典型例(=コセット=同値類の代表元)を選んでおく。