パンの木を植えて

数学の話をしたり,しなかったりする日記

代数幾何符号理解したい

\[ %%% 黒板太字 %%% \newcommand{\A}{\mathbb{A}} %アフィン空間 \newcommand{\C}{\mathbb{C}} %複素数 \newcommand{\F}{\mathbb{F}} %有限体 \newcommand{\N}{\mathbb{N}} %自然数 \newcommand{\Q}{\mathbb{Q}} %有理数 \newcommand{\R}{\mathbb{R}} %実数 \newcommand{\Z}{\mathbb{Z}} %整数 %%% 2項演算 %%% \newcommand{\f}[2]{ \frac{#1}{#2} } \]

こんばんは.

今回は超久しぶりに代数幾何の話です.


代数幾何は応用を理解するのが難しい分野だと思っているのですが(数論への応用を理解しようとすると,膨大な予備知識が必要になります),符号理論への応用があるらしいことを知りました.

符号理論は全く知りませんが,おそらく情報系の分野でしょう.それなら比較的少ない予備知識で理解できる可能性があります.

そこで,代数幾何符号について調べてみます.


検索してキーワードを洗い出す

まずは検索です.代数幾何符号は英語で algebraic geometry code なので,これで検索してみます.

次のような書籍がひっかかりました.

https://link.springer.com/chapter/10.1007/978-3-319-51103-0_8

『Error-Correction Coding and Decoding』です.大変ありがたいことにOpen Accessですね.

これを読んでみましょう.


意味はわかりませんが,キーワードをいくつか拾い上げていくことはできます.

  • Reed-Solomon codes

  • Gilbert-Varshamov bound

  • algebraic curve

  • finite field, characteristic

  • Goppa(人名)

  • BCH codes

  • affine plane, projective plane

  • irreducible curve, singular point, smooth curve

  • genus

  • Hasse-Weil Theorem

  • Bezout's Theorem

  • Divisor

  • field of fraction

  • Riemann Roch Theorem

書かれている内容自体はわかりませんが,それなりに高度な代数幾何の知識が使われていることがわかります.Hasse-Weilの定理と,Riemann-Rochの定理,加えてBezoutの定理が予備知識として必要であることが判明しました.

さらに符号理論そのものについての知識も必要です.


ここまでに判明した予備知識を図でまとめておきましょう.

graph TD D[符号理論] --> B A[Riemann-Rochの定理] --> B[代数幾何符号] C[Hasse-Weilの定理] --> B E[Bezoutの定理] --> B subgraph Algebraic Geometry A C E end

まだそれぞれの定理の内容については調べていませんが,3つくらいならなんとかなるんじゃないでしょうか.


定理の内容を調べる

それぞれの定理の内容を軽く調べていきます.

Riemann-Rochの定理

閉リーマン面についての定理のようですね.

リーマン面というのは連結な複素1次元多様体のことだそうです.代数曲線というのは1次元代数多様体のことを指すので,リーマン面は代数曲線にそれなりに近い対象です.

閉リーマン面だけでなく代数多様体にも一般化されているようですが,とりあえず代数曲線についてのRiemann-Rochの定理まで理解しておけば十分でしょう.

Hasse-Weilの定理

これは楕円曲線についての本で昔見た気がします.

記憶を頼りに調べてみたところ,SilvermanとTateの『Rational Points on Elliptic Curves』に載っていました.あの本はSelf-Containedではないので,証明までしっかり載っているかどうかはまだ確かめていませんが,しかし雰囲気くらいはあの本を読めば掴める気がします.

Bezoutの定理

これはCox,Little,O'Shea『Ideals, Varieties, and Algorithms』で読んだ記憶があります.

きちんと理解したかと言われると自信がないので復習する必要はありますが,多少は知っています.


今後の計画

とりあえずRiemann-Rochの定理を理解しないことには先に進まない気がします.

そこで,リーマン面の勉強をしないといけないですね.

あとは並行して符号理論の勉強をしましょう.どうやらReed-Solomon符号というやつまで理解しておけばいいっぽい雰囲気がします.大変かもしれませんが,スキーム論に比べれば絶対楽です.間違いない.


あと,今更ですがドンピシャな本を見つけました.

Stepanov『Codes on Algebraic Curves』です.

この本を通読すればいいのかもしれません.