ゴッパ符号

ゴッパ符号（ゴッパふごう、）または代数幾何符号（だいすうきかふごう、）は、有限体 formula_1 上の代数曲線 "X" を使って構築される線型符号である。V. D. Goppa が考案した。場合によっては、興味深い極値特性（extremal property）を示すことがある。
ゴッパ符号は、formula_1 上で定義された非特異の代数多様体 "X" のいくつかの有理点
を使って構築でき、"X" 上の因子 "G" は formula_3 とは互いに素な有理点からのみ得られる。リーマン＝ロッホの定理によれば、因子 G に対応して、一意な有限次元のベクトル空間 formula_4 が存在する。このベクトル空間は formula_5 の関数空間の部分空間である。
このような情報を使って構築されるゴッパ符号には、2種類のものが存在する。
関数型符号.
曲線 X、因子 G、有理点群 formula_3 から構築される関数型符号は以下の通りである。
formula_1 上の "L"("G") の固定基底
について、対応する formula_8 内のゴッパ符号は、
というベクトルによって formula_1 上に分布する。等価的に
の像としても定義され、ここで "f" は formula_11 で定義される。
上記で定義された formula_12 を使って因子を formula_13 とする。通常ゴッパ符号は "C"("D","G") と記述される。
次に、"C" 上の因子 "D" と符号のパラメータの関係を示す。"l"("D") という記法は "L"("D") の次元を意味する。
命題 ゴッパ符号 "C"("D","G") の次元は
であり、2つの符号語間の最小ハミング距離は
である。
証明 
なので、次が成り立つことを示さなければならない。
formula_18 と仮定する。すると formula_19 なので、formula_20 である。従って formula_21 である。逆に formula_21 と仮定する。すると
なので
である（"G" は formula_25 で問題を解かないので、代わりに "f" でそれをする必要がある）。従って
となる。formula_15 を示すため、formula_28 のハミング重みを "d" とする。これはつまり、formula_29 個の formula_3 （例えば formula_31）について formula_32 であることを意味する。従って formula_33 であり、
である。
であることに着目して両辺の次数をとると
が得られる。従って
である。Q.E.D.
留数型符号.
留数型符号は関数型符号の双対として定義されるか、formula_3 における何らかの関数の留数として定義される。
応用.
暗号理論において、ゴッパ符号はマックエリス暗号で使われている。
一般にゴッパ符号は性質の良い線型符号と見なされ、
の誤りを訂正可能である。また復号も簡単で、ユークリッドの互除法とベールカンプ＝マッシー法を使えばよい。