パンの木を植えて

主として数学の話をするブログ

ハッセの原理のありがたみ

\[ %%% 黒板太字 %%% \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} } \]

日記です.

たっぷり積んで熟成させたシルヴァーマン&テイトを読んでいます.Rational Points on Elliptic Curves です.AECじゃないよ.

ちょっと賢くなった気がするので日記のネタにします.

ディオファントス問題というのがあります.代数曲線の有理点または整点を求めなさいという問題です.

本で紹介されていたのは,平面曲線

\begin{align} x^2 + y^2 = 3 \end{align}

に有理点があるか?という問題でした.これは同次形に持っていけば

\begin{align} x^2 + y^2 = 3 z^ 2 \end{align}

に非自明な整点があるかという問題と同じことです.あとは,3で割った余りを考えれば終了.

本ではこの後に,$ax^ 2 + by^ 2 = c z^ 2$ に $(0,0,0)$ 以外の整数解が存在することと,すべての法 $m$ に対して解があることが同値であるというLegendreの定理が紹介されていました.これはハッセの原理の特別な形です.ハッセの原理ではp進数を考えるのですが,今回の話のテーマではないので省略します.

私は,このハッセの原理のありがたみが今までずっとわかっていませんでした.雪江整数1に証明付きで載っているのですけど,「だからなに?」とずっと思っていました.だって,知りたいのは「整数解があるかどうか」なのですから,

(1) $ax^ 2 + by^ 2 = c z^ 2$ に $(0,0,0)$ 以外の整数解が存在する

(2) すべての法 $m$ に対して解がある

が同値と言われたら,「(2) を確かめることで (1) を示す」という使い方がしたくなりますけど,でも無限に多くの法 $m$ について解が存在するかどうかをチェックするなんて普通に有理点があるかどうか探すよりも大変そうだと思ったからです.

だとしたら,(1) ならば (2) が言えるのが嬉しいということか……?いやいや,こっちの方向は自明じゃないか.何を言いたいのかちっともわからない定理だな.

……とまあ,不思議に思っていたわけです.

でも(当然だけど)私には見落としがありました.

ポイントは計算量でいうところの,NP $\cap$ co-NPが示せてることなんです.検証可能で,かつ反証可能でもあると言っているんです.

要するにさっきの定理は,

(1) $ax^ 2 + by^ 2 = c z^ 2$ に $(0,0,0)$ 以外の整数解が存在するならば,それを具体的に示せば証明できる.

(2) $ax^ 2 + by^ 2 = c z^ 2$ の整数解が $(0,0,0)$ しか存在しないならば,対応する多項式が解を持たないような法 $m$ を具体的に示せば証明できる.

と言ってるんです.命題が正しいときには短い証拠があるのは当たり前だけど,偽なときにも証拠があるよ!というのが嬉しいわけですね.これは計算量理論でいうところの NP $\cap$ co-NP に対応しているわけで,「そりゃあ嬉しいわ…そらそうだわ……私がばかだったわ…」と深く納得しました.

この本を最初に読んだとき私は学部2回生かそこらだったと思うんですが,そのときは全然わかってませんでした.やっぱり離散最適化をやったのがよかったのかもしれないですね.なんだかすごく嬉しい.人に話せば「あったりまえ」と鼻で笑われるようなことなんですけど,ずっと疑問に思ってたことなので….

この「検証可能かどうかという視点が養われる」のは計算量理論を学ぶことの大きなメリットですね.前から思っていたことですけど,再認識しました.

\[ %%% 黒板太字 %%% \newcommand{\R}{\mathbb{R}} \newcommand{\C}{\mathbb{C}} \newcommand{\Q}{\mathbb{Q}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\F}{\mathbb{F}} %%% 引数を取るもの %%% \newcommand{\f}[2]{ \frac{#1}{#2} } \]