(遊びの数論35)

[遊びの数論] 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20


きちんとまとまった記事ではなく、雑多なメモ。誤字脱字・間違いがあるかもしれません。


✿ ✿ ✿ ✿ ✿


2024-11-17 相互法則・ガウスの第六証明(アイゼンシュタイン版)

#遊びの数論 #相互法則 #1 の原始根 #円分多項式 #ガウス和 #(35)

平方剰余の相互法則は、数論の最重要テーマの一つ。法則自体もネット社会の一つの基礎ツールだが(Jacobi 記号など)、何より、法則をいろいろな角度から検討する過程で、新たな境地が開けてきた。ガウスは六つの証明を公開したが、現代の初等整数論では、第三証明アイゼンシュタイン版やそのバリエーションが紹介される。第三証明は平易でアクセス性が高い半面、処理がトリッキーで天下り的。

ガウス和を経由する第六証明は、透明度が高い。このメモでは、「ガウスの第六証明のアイゼンシュタイン版」を紹介する。途中、代数的整数を使うと大幅なショートカットができる部分があるので、参考として、そのショートカットと、アイゼンシュタインのオリジナルを併記。

ガウスの第六証明には他にも複数のバージョンがあり、アイゼンシュタインのアレンジが最善とは限らない。たまたまゲッチンゲン大学のサーバーで1844年の原論文を見つけ、参考までにそれを検討してみた。第三証明の簡単化でもアイゼンシュタインのアイデアは「神」で、現代の教科書でもそのまま採用されてるくらいだしネ。

Eisenstein, G.: La loi de réciprocité tirée des formules de Mr. Gauss sans avoir déterminé préalablement le signe du radical.
https://resolver.sub.uni-goettingen.de/purl?243919689_0028|log9

✿

p を 3 以上の素数とする。 z を 1 の原始 p 乗根(xp = 1 の非実数解)として、 q を整数とすると、
  ガウス和 Sp(q) = { from k = 1 to p−1 } [(k/p) zqk]
は、次の関係を満たす:
  ア Sp(q) = (q/p) × Sp(1)
  イ [Sp(1)]2 = (−1/p) × p = p⋅(−1)(p−1)/2

別の文脈では与えられた p に対して特定の p 乗根を z とする必要があるが、ここでは(1 自身を別にすれば)どの p 乗根を z としても構わない。例えば p = 5 の場合、偏角 ±72°, ±144° の四つの原始5乗根のうち、どれを z としても差し支えない。

〔注〕 Eisenstein 自身は z の代わりに文字 r を使っている。変数名や表記はほぼ原文通りだが、他のメモとの統一や読みやすさを優先して少し変えてる部分もある。

以下 q を「p とは異なる 3 以上の素数」とする。便宜上、 p より q の方が大きいとしておく(この仮定は、不当な制約とはならない。何なりと任意に選んだ相異なる奇素数について、単に小さい方を p、 大きい方を q とすればいい)。 (q+1)/2 は自然数。イの両辺を (q+1)/2 乗すると:
  [Sp(1)]q+1 = [p⋅(−1)(p−1)/2](q+1)/2

q+1 乗は、 1 乗と q 乗の積。 (q+1)/2 乗は、 1 乗と (q−1)/2 乗の積。よって、上の等式をこう書くことができる:
  Sp(1)⋅[Sp(1)]q = [p⋅(−1)(p−1)/2] × [p⋅(−1)(p−1)/2](q−1)/2
この右辺に、指数法則 (A⋅B)C = AC × BC を適用すると:
  Sp(1)⋅[Sp(1)]q = [p⋅(−1)(p−1)/2] × p(q−1)/2 × (−1)(p−1)/2⋅(q−1)/2
つまり:
  ウ Sp(1)⋅[Sp(1)]q = [p⋅(−1)(p−1)/2] × p(q−1)/2 × (−1)(p−1)(q−1)/4

一方、アの両辺を Sp(1) 倍すると:
  Sp(1)⋅Sp(q) = [Sp(1)]2 × (q/p)
その右辺にイから代入して:
  エ Sp(1)⋅Sp(q) = [p⋅(−1)(p−1)/2] × (q/p)

等式ウから等式エを引き算すると:
  オ Sp(1)⋅{[Sp(1)]q − Sp(q)} = [p⋅(−1)(p−1)/2] × {p(q−1)/2 × (−1)(p−1)(q−1)/4 − (q/p)}

〔注〕 原文ではオ左辺の指数 q が p になっている(誤植)。

オの(等しい両辺の)値が整数であることは右辺から明白だが、実はオの値は q の倍数(後述)。右辺については、素数の因子 [p⋅(−1)(p−1)/2] は q の倍数ではないので、必然的に { } 内が q の倍数。すなわち:
  p(q−1)/2 × (−1)(p−1)(q−1)/4 − (q/p) ≡ 0 (mod q)
この左端の p(q−1)/2 は、 p mod q についての Euler の基準になっている。左辺の −(q/p) を移項すると:
  (p/q) × (−1)(p−1)(q−1)/4 ≡ (q/p) (mod q)

この最後の合同式は、右辺が Legendre 記号、左辺が Legendre 記号の ±1 倍なので、両辺とも +1 または −1 の値しか取り得ない。仮定により q は 3 以上なので、この合同式が成り立つということは、「両辺とも +1 に等しいか、または両辺とも −1 に等しい」ということ。

(−1)(p−1)(q−1)/4 が +1 になる場合と −1 になる場合について検討すると、次の結論に至る(補足1参照): 素数 p, q の少なくとも一方が「4 の倍数より 1 大きい数」なら、 (p/q)(q/p) は符号(と値)が一致し、さもなければ両者は符号が一致しない。すなわち、平方剰余の相互法則が示される。

残る問題は、オの数が q の倍数であることの証明だが、代数的整数の考え方(Eisenstein の時代には未確立だった!)を使えば、数行で片付く。

[Sp(1)]q = [(1/p)z1 + (2/p)z2 + ··· + ((p−1)/p)zp−1]q(1/p)z1q + (2/p)z2q + ··· + ((p−1)/p)z(p−1)q (mod q)

合同式は「新入生の夢」による(補足2参照)。合同記号の右側は Sp(q) の定義そのものなので、
  [Sp(1)]q ≡ Sp(q) つまり [Sp(1)]q − Sp(q) ≡ 0 (mod q)
となるが、これはオの左辺の { } 内が q の倍数ということに他ならない。∎

✿

「形式的にこのようにできる」ということを Eisenstein も承知していたかもしれないが、当時はまだ理論的な裏付けが曖昧だったのだろう。われわれ自身まだ代数的整数の理論を厳密には導入してないことだし、以下では Eisenstein による当時の証明を記す。

[Sp(1)]q を展開した (p−1)q 項において、二項係数の性質上、ほとんどの係数は q の倍数になるが(新入生の夢)、例外として (k/p)zkq の形の p−1 項に関しては、そうなる保証がない(k = 1, 2, ···, p−1)。しかし例外の p−1 項の和は Sp(q) と同じなので、 [Sp(1)]q を展開して Sp(q) を引いた残りの項の和を Y とすると、
  Y = [Sp(1)]q − Sp(q)
に関しては、全部の係数が q の倍数。もし代数的整数としての議論が使えるなら Y ≡ 0 (mod q) となって直ちに話は終わるのだが、普通の意味で Y が q の倍数になるかどうかは、明らかではない。なぜなら Y は非実数 z, z2, z3 などの線型結合であり、個々の係数は整数 q の倍数だとしても、それらの和は(一般には)普通の意味の整数にならない――それどころか実数にすらならない。

〔例〕 1 の 3 乗根 z = (−1 + −3)/2 と関連して、
  5z + 10z2 = (−15 − 5−3)/2 = −7.5 − i⋅4.330127…
という数を考えると、「個々の係数」は 5 の倍数だが、「数自体」は、普通の意味で 5 の倍数ではない。

しかし上記 Y を構成する各項は、
  z ± z2 ± ··· ± zp−1
を q 乗(自然数乗)したものから生じるので、必ず、
  ±z自然数
の形を持つ。 zp = 1, zp+1 = z, zp+2 = z2, ··· なので、「z の指数が p 以上の項」については、(指数を p で割った余りに置き換えることにより) p−1 次以下の項として表現できる。この簡約を行い同類項をまとめるなら、 Y は z の p−1 次式として表現可能:
  Y = A0 + A1z + A2z2 + ··· + Ap−1zp−1  各係数 Ak は整数
同類項をまとめる前の各係数は q の倍数; 「係数が q の倍数の同類項」をまとめても、結果として生じる各係数は依然 q の倍数。よって、こう書くことができる。
  Y = q(B0 + B1z + B2z2 + ··· + Bp−1zp−1)  各係数 Bk (= Ak/5) は整数

今、問題のオの数 Sp(1)⋅{[Sp(1)]q − Sp(q)} を X とする(それが q の倍数であることを示したい)。 X は、各係数 が q の倍数である Y に、 Sp(1) = z ± z2 ± ··· ± zp−1 を掛けたもの; 多項式の掛け算の結果として生じる各係数は再び q の倍数となり、その性質は同類項をまとめた後でも維持される:
  カ X = Sp(1)⋅{[Sp(1)]q − Sp(q)} = q(C0 + C1z + C2z2 + ··· + Cp−1zp−1)  各係数 Ck は整数

さて、この計算では、任意に一つ選んだ原始 p 乗根 z を基準としている。この z の代わりに、別の原始 p 乗根(例えば z2 や z3)を使っても、上記 X の値は変わらない。なぜならば、第一に、ある素数 p に対する Gauß 和の平方は、どの原始 p 乗根を基準にしても一定、従って Gauß 和の偶数乗は一定。第二に Sp(1) と Sp(q) の相対関係も一定で、 q が mod p の平方剰余か非剰余かに応じて、 Sp(1) と Sp(q) は符号が一致し、あるいは逆になる。つまり、ある z を基準に Sp(1)⋅Sp(q) = [Sp(1)]2 ならば別の z を基準にしてもそうなるし、ある z を基準に Sp(1)⋅Sp(q) = −[Sp(1)]2 ならば別の z を基準にしてもそうなる。

よって、
  X = Sp(1)⋅{[Sp(1)]q − Sp(q)} = [Sp(1)]q+1 − Sp(1)⋅Sp(q) = [Sp(1)]偶数 − Sp(1)⋅Sp(q)
は、 z の選択と無関係に一定の値を持つ。

〔注〕 z として自明な p 乗根 1 を選択した場合、自明な Gauß 和 0 が生じ、上記の規則の例外となるが、ここでは z ≠ 1 と仮定している。

z を z2 や z3 に置き換えてもカの値は変わらないのだから:
  キ X = q[C0 + C1z1 + C2z2 + ··· + Cp−1zp−1]  ← カと同じ
  ク X = q[C0 + C1z2 + C2z4 + ··· + Cp−1z2(p−1)]  ← 代わりに z2 を使用
  ケ X = q[C0 + C1z3 + C2z6 + ··· + Cp−1z3(p−1)]  ← 代わりに z3 を使用
  ···
  コ X = q[C0 + C1zp−1 + C2z(p−1)⋅2 + ··· + Cp−1z(p−1)(p−1)]  ← 代わりに zp−1 を使用

キ~コの p−1 個の等式を縦に足すと:
  (p−1)X = q[(p−1)C0 + C1(z1 + z2 + z3 + ··· + zp−1) + C2(z2 + z4 + z6 + ··· + z(p−1)⋅2) + ···]

ここで z1 + z2 + z3 + ··· + zp−1 = −1 が成り立つ(補足3参照)。 z2 + z4 + z6 + ··· + z(p−1)⋅2 なども、指数を mod p で考えると、同じ値の p−1 項を別の順序で足したものに過ぎず(曜日ばらばらの原理)、従って −1 に等しい。要するに:
  サ (p−1)X = q[(p−1)C0 + C1(−1) + C2(−1) + ··· + Cp−1(−1)]

サの右辺の [ ] 内は整数なので、サの右辺は素数 q の整数倍; それに等しい左辺ももちろん q で割り切れるが、左辺の p−1 は、自分より大きい q では割り切れないので(仮定により p < q である)、 X が q で割り切れる。 X つまりオの数が q の倍数であることが示された。∎

〔注〕 カ~コなどは z についての p−1 次式だが、 Eisenstein は代わりに p−2 次式を使っている。
  1 + z + z2 + ··· + zp−2 + zp−1 = 0
  ∴ zp−1 = −1 − z − z2 − ··· − zp−2
この最後の式からカに代入すれば、 p−1 次の項を除去できる。変形結果の各係数も q の倍数であり、本質的な議論の流れに違いは生じない。原文では、コに当たる式の右辺の右端の q が p になっている(誤植)。

✿

補足1 平方剰余の相互法則は、しばしば −1 の (p−1)(q−1)/4、という変な累乗を使って表現される。その真意は次の通り。

仮定により p, q は 3 以上の相異なる素数。従って p−1 と q−1 はどちらも偶数(2 の倍数)。だから積 (p−1)(q−1) は、因子 2 を最低でも二つ持つ(要するに 4 の倍数); p−1 か q−1 の少なくとも一方がそれ自身 4 = 22 の倍数なら、積 (p−1)(q−1) は、因子 2 を三つ以上持つ(8 の倍数)。

①もし (p−1)(q−1) が 4 の倍数 × 偶数なら、つまり 8 の倍数なら、 (p−1)(q−1)/4 は偶数で、 (−1)(p−1)(q−1)/4 は +1 に等しい。他方、②もし (p−1)(q−1) が 4 の倍数 × 奇数なら、つまり 4 の倍数だが 8 の倍数ではないのなら、 (p−1)(q−1)/4 は奇数で、 (−1)(p−1)(q−1)/4 は −1 に等しい。 p−1 と q−1 の少なくとも一方が 4 の倍数なら、①になる。 ②は、p−1 と q−1 が両方とも 4 の倍数でないときに限って発生する。

p−1 が 4 の倍数なら p は 4 の倍数より 1 大きい。同様に、 q−1 が 4 の倍数なら q は 4 の倍数より 1 大きい。そのどちらか一方(または両方)が成り立つ場合には、 (p/q) = (q/p) が成り立つ。すなわち、 p mod q と q mod p は、両方とも平方剰余か、または両方とも非剰余。

一方、 p−1 と q−1 が、どちらも「4 の倍数より 1 大きい数」でない場合――言い換えると、両方とも「4 の倍数より 3 大きい数」である場合――(p/q)(q/p) は一致せず、符号が逆に。すなわち p mod q と q mod p は、どちらか一方が平方剰余で、他方が非剰余。

これが、平方剰余の相互法則であるっ! p, q それぞれについて「4 の倍数より 1 大きいか・3 大きいか」で区別すると、四つのケースに分かれる。そのうち「両方とも 4 の倍数より 3 大きいケース」だけが特別で、 p mod q と q mod p の特性が一致しない。残りの三つのケースでは、両者の特性は一致。

✿

補足2 「新入生の夢」は二項展開に限らず、三項以上の展開においても成立。

p が素数のとき (A + B)p ≡ Ap + Bp (mod p) であることは、二項係数から直ちに明らか。文字を変えて、
  (A + x)p ≡ Ap + xp とか (B + C)p ≡ Bp + Cp
ともいえる。では (A + B + C)p はどうなるか。 B + C = x と置けば:
  (A + B + C)p = (A + x)p ≡ Ap + xp
   = Ap + (B + C)p ≡ Ap + Bp + Cp (mod p)
つまり、任意の 3 項の p 乗についても、 mod p の世界では「指数の分配法則」が成り立つ。

従って C + D = y と置けば:
  (A + B + C + D)p = (A + B + y)p ≡ Ap + Bp + yp
   = Ap + Bp + (C + D)p ≡ Ap + Bp + Cp + Dp (mod p)
つまり、任意の 4 項の p 乗についても、 mod p の世界では「指数の分配法則」が成り立つ。

一般に、「この現象が n 項までの p 乗については成り立つ」と仮定して An + An+1 = z と置くと:
  (A1 + A2 + ··· + An + An+1)p = (A1 + A2 + ··· + An−1 + z)p
これは n 項の p 乗なので、仮定により、
   ≡ (A1)p + (A2)p + ··· + (An−1)p + zp
   = (A1)p + (A2)p + ··· + (An−1)p + (An + An+1)p
   ≡ (A1)p + (A2)p + ··· + (An+1)p
となって n+1 項の p 乗についても同じ現象が成立。帰納法により、任意の項数について、この現象が成立。

Gauß 和の q 乗の場合(q: 素数)、例えばこうなる。
  [(1/p)z1 + (2/p)z2 + ··· + ((p−1)/p)zp−1]q
   ≡ [(1/p)z1]q + [(2/p)z2]q + ··· + [((p−1)/p)zp−1]q (mod q)
   = (1/p)zq + (2/p)z2q + ··· + ((p−1)/p)z(p−1)q

✿

補足3 p を 3 以上の素数とする。 1 の p 乗根 x は xp = 1 つまり xp − 1 = 0 を満たす。この最後の式の左辺は、次のように分解される:
  xp − 1 = (x − 1)(xp−1 + xp−2 + ··· + x2 + x + 1) ☆

〔証明〕 ☆の右辺 = (x − 1)(xp−1 + xp−2 + ··· + x2 + x + 1)
   = x(xp−1 + xp−2 + ··· + x2 + x + 1) − 1(xp−1 + xp−2 + ··· + x2 + x + 1)
   = (xp + xp−1 + ··· + x3 + x2 + x) − (xp−1 + xp−2 + ··· + x2 + x + 1)
   = xp − 1 = ☆の左辺 ∎
この分解自体は p が素数でなくても成立。 p が素数だと、これで分解完了だが(有理係数の範囲では)、 p が合成数の場合、さらに細かい因子に分解されるかもしれない。

従って xp − 1 = 0 の解は、 x − 1 = 0 または xp−1 + xp−2 + ··· + x2 + x + 1 = 0 を満たす。「または」の前の式の解は 1(それは 1 の自明な p 乗根)。それ以外の p 乗根は非実数で、次の式を満たす:
  xp−1 + xp−2 + ··· + x2 + x + 1 = 0
よって z が 1 の非実数の p 乗根なら(逆順に指数が小さい方から書くと)、
  1 + z + z2 + ··· + zp−2 + zp−1 = 0
となり、定数項 1 を移項すると、こうなる:
  z + z2 + ··· + zp−2 + zp−1 = −1

✿ ✿ ✿


2024-11-19 相互法則・ガウスの第六証明(現代版)

#遊びの数論 #相互法則 #1 の原始根 #円分多項式 #ガウス和 #(35)

「平方剰余の相互法則の第六証明」を現代化した形で記す。アイゼンシュタイン版(1844年)と比べさらに透明で、ほとんど一点の曇りもない。

「30日の月の(5・10・15・20・25・30日)は全部曜日が違う」という程度の、たわいもない日常的事実もまた、群論の立派な応用。抽象代数をうまく使うと、話が簡潔・明快になる。ブルバキ以降、少々やり過ぎと思われる事例も散見されるが…

このメモでは「乗法群」という言葉すらあえて使わず「普通に掛け算ができる・逆数がある」などとのんきな表現を使っている。しかし「整数の平方根」のようなものを「整数の仲間」と考えた場合、「約数」「互いに素」「素因数」といった基本的な(はずの)概念にも、微妙な陰影が生じる…

1 の原始 p 乗根から派生する無理数の世界。その世界の数をうまく組み合わせると、「整数の平方根」になること――つまり「難解そうなタイプの無理数の世界の中に、比較的身近な(一見異なるタイプの)別の無理数の世界が、寄せ木細工のように含まれている」こと。

解と係数の関係からすれば、そう驚くことでもないのだが、そのような2次式が存在するということ自体が――「11乗根のような浮世離れした数たち」を足したり引いたりして必ず「普通の平方根」を作れる、というメカニズムは――、神秘的ですらあるっ!

一見意味不明な「無理数同士の足し算・掛け算」などの結果が、思いがけずシンプルな数になるという事例(Morrie の法則の類い)は、好奇心を刺激する。少なくともその一部は、上記の現象(円分体の中の二次体)と関係しているのだろう。

✿

p を 3 以上の素数とする。 1 の原始 p 乗根 z を任意に選択して、固定する。 Gauß 和
  Sp(n) =  { from k = 1 to p−1 } (k/p) zkn
は、 n = 0 のとき、またはより一般的に n が p の倍数のとき、 0 に等しく、それ以外のとき ±p あるいは ±−p のどれかに等しい。従って、 0 に等しくないケースでは、 Gauß 和の平方は p または −p に等しい。どちらに等しくなるかは、 −1 が mod p の平方剰余か非剰余かに応じて決まる(第一補充法則によれば、それは p が 4k+1 型か 4k−1 型かという区別だ)。

以下では上記の事実を二つに分けて証明し、それを使って、平方剰余の相互法則を導く(Gauß の第六証明の現代化)。

定理1自明な Gauß 和
  (i) n ≡ 0 (mod p) なら:
   Sp(n) = (1/p) + (2/p) + ··· + ((p−2)/p) + ((p−1)/p) = 0
   特に Sp(0) = 0
  (ii) (1/p) + (2/p) + ··· + ((p−2)/p) = −((p−1)/p) = −((−1)/p)

証明 n = 0 なら各 k に対して、 zkn = z0 = 1 なので、 Sp(n) の定義の右辺はこうなる:
  (1/p) + (2/p) + ··· + ((p−1)/p)
より一般的に n ≡ 0 (mod p) のとき、つまり n が p の倍数 pm のときも(m: 整数)、 z が 1 の p 乗根という仮定から zkn = zkpm = (zp)km = 1km = 1 となり、同じ結論に。

G = {1, 2, ···, p−1} の要素の半数は mod p の平方剰余、残りの半数は非剰余なので、上記 p−1 個の Legendre 記号の和は 0 に等しい。これが (i) だ。 (ii) は (i) の式の左辺から移項しただけ。最後の等号は Legendre 記号の性質による。 Legendre 記号の値は、「分母」を法として「分子」を合同な別な数に置き換えても変わらない。この場合でいえば p−1 ≡ −1 (mod p) だ。 ∎

(i) を次のように証明することもできる。 n ≡ 0 という条件の下で、任意に選んだ Gauß 和 Sp(n) の値を、
  y =  { for k ∈ G } (k/p)  ただし G = {1, 2, ···, p−1}
とする。 mod p の任意の平方非剰余 c を選択して、固定すると:
  (−1)y = (c/p) { for k ∈ G } (k/p) =  { for k ∈ G } (ck/p) =  { for k ∈ G } (k/p) = y  タ
  ∴ −y = y つまり y = 0

(i) があらためて示された。「タ」の後ろから2番目の等号は、「曜日ばらばらの原理」に基づく。すなわち mod p において k が G = {1, 2, ···, p−1} の範囲を動くとき、 ck も同じ範囲を過不足なく動く(なぜなら非剰余 c は p の倍数ではない)。言い換えると、「各 k ∈ G をちょうど1回ずつ考えること」と「各 k ∈ G に対して ck をちょうど1回ずつ考えること」は mod p では全く同じ。

定数 c が p の倍数でない限り、これは常に成り立つ。この種の考え方は、「それ自体」をテーマとすると無味乾燥かもしれないけど、応用上すごく役に立つ。

✿

表記の簡潔化のため、記号 p で (−1/p)p を表すことにする。つまり mod p で −1 が平方剰余なら p は p そのものを表し、 −1 が非剰余なら p は −p を表すものとする。

定理2Gauß 和の平方) 自明でない Gauß 和 Sp(n) の平方は、次の値に等しい:
  S2 = (−1/p)p = p
 ここで S は Sp(n) そのものか、またはその −1 倍を表すが、 S の符号の区別は当面どうでもいい(下記)。

証明 考えているのは、「自明な Gauß 和」(0 に等しい。定理1参照)ではない。つまり n は p の倍数ではない。定理1とは反対に zn は = 1 ではなく、 1 の原始 p 乗根(非実数)だ。この zn をあらためて z と置くと、任意の
  Sp(n) =  { from k = 1 to p−1 } (n/p) zkn
{ from k = 1 to p−1 } (k/p) zk と書くことができる(要するに、基準とする 1 の原始 p 乗根 z を選び直せば、 zkn をシンプルに zk と書ける)。この置き換え後の Gauß 和を S とする。――実は zn をあらためて z とすると、 S は Sp(n) と等しくなるか、または −Sp(n) と等しくなる。けれど、ここでは Gauß 和の平方 S2 の値を問題にするのであり、 Gauß 和そのもの S の符号の違いは、結論に影響しない。

さて mod p では、集合 G = {1, 2, ···, p−1} の各元の間で普通に掛け算を行うことができ、 G のそれぞれの元の「逆数」も、同じ集合内に存在する。この性質を利用すると、 k と ℓ の (p−1)2 種類の組み合わせ(k と ℓ は、独立して範囲 G を動く)を p−1 種類の積の形にまとめることができ、ひいては (p−1)2 項の(2次元配列の)和を p−1 項の(1次元配列の)和に簡約できる。具体的には、
  S2 = [ { from k = 1 to p−1 } (k/p) zk ] [ { from ℓ = 1 to p−1 } (/p) z ] =  { for k ∈ G } { for ℓ ∈ G } [ (kℓ/p) zk+ℓ ]
について、各 k, ℓ に応じて G の元 m ≡ kℓ−1 (mod p) が定まるので、それを使って k を ℓm と書くことにしよう(k ≡ ℓm)。 ℓ−1 ∈ G は p の倍数でないから、 k が G を動くとき、 m も過不足なく同じ範囲を動く。すなわち※1:
  S2 =  { for k ∈ G } { for ℓ ∈ G } [ ((ℓm)ℓ/p) zℓm+ℓ ] =  { for m ∈ G } { for ℓ ∈ G } [ (m/p) z(m+1)ℓ ]
   =  { for m = 1 to p−1 } (m/p) { from ℓ = 1 to p−1 } (zm+1)  チ

第一に m+1 ≢ 0 (mod p) なら zm+1 は 1 の原始 p 乗根(それを x とする); よって m = 1, 2, ···, p−2 のそれぞれに対して、チの内側の総和は、
   { from ℓ = 1 to p−1 } x = x + x2 + ··· + xp−1 = −1
等しい。第二に m = p−1 に対して zm+1 は 1; そのときチの内側の総和は、 p−1 個の 1 = 1 の和(つまり p−1)に等しい。チの外側の総和をこれら二つのケースに分けて考え、整理すると※2:
  S2 =  { from m = 1 to p−2 } [ (m/p)(−1) ] +  { from m = p−1 to p−1 } [ (m/p)(p−1) ]
   = −[ { from m = 1 to p−2 } (m/p)] + ((p−1)/p)(p − 1) = −[ { from m = 1 to p−2 } (m/p)] + ((p−1)/p)p − ((p−1)/p)  ツ

ツの右辺第1項・第3項は、定理1 (ii) により消滅。つまり:
  ツ = −[−((p−1)/p)] + ((p−1)/p)p − ((p−1)/p) = ((p−1)/p)p = ((−1)/p)p = p となる。 ∎

〔参考〕 ツから次のように進めることも可能。
  −[ { from m = 1 to p−2 } (m/p)] − ((p−1)/p) + ((p−1)/p)p = −[ { from m = 1 to p−1 } (m/p)] + ((p−1)/p)p = −0 + (−1/p)p = p
後ろから2番目の等号では、定理1 (i) を [ ] 内に適用。

✿

ここまでは平方剰余の相互法則というより Gauß 和の基礎の話で、それ自体いろいろな面白い応用を秘めている。さて、本題の相互法則だが、ここで次の定理を使うと、ほとんど自動的に証明される。あっけないほど、あっさりと!

定理3Gauß 和の「素数−1」乗) q を 3 以上の素数(p とは異なる)とする。任意に選んだ非自明な Gauß 和 Sp(n) を単に S で表すと:
  Sq−1 ≡ (q/p) (mod q)

証明 定理2と同様に zn をあらためて z と置く。 S および Sq の符号は曖昧になるが、ここでは S の偶数乗(q−1 乗)を問題にしているので、 S の符号は結論に影響しない。「新入生の夢(拡張版)」を適用すると、「和全体の q 乗」が「各項の q 乗和」と合同になる※3:
  Sq = { { from k = 1 to p−1 } [ (k/p) zk ]}q ≡  { from k = 1 to p−1 } [ (k/p)q (zk)q ] =  { from k = 1 to p−1 } [ (k/p) zkq ] (mod q)
最後の等号は Legendre 記号の値が +1 or −1 であることと、 q が奇数であることに基づく(±1 を奇数乗しても、符号を含めて値は変わらないから、奇数乗を省略できる)。

上の式の右辺に関連して、 k が 1, 2, ···, p−1 を動くとき、 kq も同じ範囲を過不足なく動くので、もしも Legendre 記号の「分子」が kq だったなら、この総和は、 1 の原始 p 乗根に関する Gauß 和 S に等しくなっていた。もしも [ ] 内を (q/p) 倍できれば、この事実を活用できる。でも (q/p) は −1 かもしれないので、単純に (q/p) を掛けると(場合によっては右辺の値が変わり)せっかく成り立っている合同式が破壊されてしまう。そこで、代わりに (q/p)(q/p) を掛け算しよう。それなら、一つの (q/p) が +1 でも −1 でもトータルでは 1 倍したのと同じなので、総和の各項の値は変わらず、合同式が維持される※4:
  Sq ≡  { from k = 1 to p−1 } [ (q/p)(q/p)(k/p) zkq ] = (q/p { from k = 1 to p−1 } [ (kq/p) zkq ] = (q/p) S (mod q)

p または −p の平方根 S を「整数の仲間」(代数的整数)と考えた場合、 p = ±S2 は S で「割り切れる」。しかし別の素数 q は ±p の平方根とは「無関係」なので、 S で「割り切れない」。実は S2 = ±p と q は、互いに素(真の公約数を持たない)。ましてや S2 の「約数」である S は、 q と互いに素。要するに、上の合同式の両辺を S で割ることが許され、その結果は:
  Sq−1 ≡ (q/p) (mod q)
これが示されるべきことだった。 ∎

〔付記〕 S = Sp(n) の場合には最初から符号の問題はないが、もし符号が反転して S = −Sp(n) となっていても、その場合には Sq の符号も反転しているので、「両辺を S で割る」操作により符号の反転は打ち消し合う。すなわち、上記 Sq についての合同式は、 Sp(n) についての対応する合同式と一致するか、またはその両辺を −1 倍した合同式(それも正しい)と一致する。

定理4平方剰余の相互法則: Gauß の第六証明) 相異なる 3 以上の素数 p, q について:
  (i) p または q が 4k+1 型なら (p/q) = (q/p)
  (ii) p, q が両方 4k+3 型なら (p/q) = −(q/p)

証明 p は単なる整数(p または −p)であり、われわれはそれを「とある整数」を表す文字として扱うことができる。 Euler の基準から:
  (p/q) ≡ (p)(q−1)/2 (mod q)  テ
定理2(Gauß 和の平方)により:
   = (S2)(q−1)/2 = Sq−1
定理3(Gauß 和の「素数−1」乗)により:
   ≡ (q/p) (mod q)

以上を要約すると:
  (p/q) ≡ (q/p) (mod q)  ト
トの両辺とも値は +1 または −1 だが、 +1 ≢ −1 (mod q) なので、トの左辺と右辺は(合同というだけでなく)整数として値が等しい:
  (p/q) = (q/p)  ナ

もし p が 4k+1 型なら p = p なので※5、 ナは直ちに (i) を意味する。もし p が 4k+3 型でも、 q が 4k+1 型なら、ナの左辺は、
  (−p/q) = (−1/q)(p/q)
に等しく、しかも (−1/q) = +1 なので(第一補充法則)、やはり (i) が成立。一方、もし q も 4k+3 型なら (−1/q) = −1 なので(第一補充法則)、ナの左辺は、
  (−p/q) = (−1/q)(p/q) = −(p/q)
に等しく、それがナの右辺に等しいのだから (p/q)(q/p) は符号が逆。つまり (ii) が成り立つ。 ∎

定理4は、相互法則の「普通の形」(−1 の累乗を使った表現)と同じ意味。実際、定理2と Euler の基準から:
  p = S2 = (−1/p)p = (−1)(p−1)/2 × p
これをテに代入すると:
  (p/q) ≡ [(−1)(p−1)/2 × p](q−1)/2 (mod q)
   = (−1)(p−1)/2⋅(q−1)/2 × p(q−1)/2
   = (−1)(p−1)/2⋅(q−1)/2 × (p/q)
この最後の等号は、 p (mod q) についての Euler の基準による。従って、トから:
  (q/p) ≡ (−1)(p−1)/2⋅(q−1)/2 × (p/q) (mod q)
この両辺は +1 or −1 なので ≡ を = に置き換えることが可能。両辺を (p/q) 倍して (p/q)(p/q) = 1 に注意すると:
  (q/p)(p/q) = (−1)(p−1)/2⋅(q−1)/2
相互法則の「普通の形」が得られた。右辺の指数については、もちろん (p−1)(q−1)/4 と書いてもいい。

〔参考文献〕
Lemmermeyer (2000): Reciprocity Laws, pp. 94–95
Aigner & Ziegler (c2010): Proofs from THE BOOK (4th ed.), pp. 27–29
Ireland & Rosen (1990, 1992): A Classical Introduction to Modern Number Theory (2nd ed.), pp. 72–73

✿

注釈

※1 (/p) は +1 or −1。どっちにしても (/p)(/p) = 1。よって:
  (ℓmℓ/p) = (/p)(/p)(m/p) = 1 × (m/p) = (m/p)
一般に「分母」が同じ Legendre 記号同士は、「掛け算」することができる。掛け算の結果は、「分母」は同じままで(この点は普通の分数の掛け算と異なる)、「分子」同士は通常の積(この点は普通の分数と同じ)。ただし具体的な数値の場合、「分子」の積については、「分母」を mod として簡約してもいい。(本文に戻る

※2 「m = 1 から p−1 まで」に対する総和を、「m = 1 から p−2 まで」の区間と「m = p−1 から p−1 まで」の区間に分けて考える。後者は「区間」といっても m = p−1 に対する一つの項だけで、
  (m/p)(−1)
の m に p−1 を代入するだけ。(本文に戻る

※3 足し合わされる p−1 個の項を A1, A2, ···, Ap−1 とすると:
  (A1 + A2 + ··· + Ap−1)q ≡ (A1)q + (A2)q + ··· + (Ap−1)q (mod q)
ここで Ak に当たる項は、実際には (k/p) zk だから、その q 乗は、
  [(k/p) zk]q = (k/p)q (zk)q
となる。(本文に戻る

※4 足し合わされる各項において、 (q/p)(k/p) を「掛け算」することもできるが、 (q/p) は 1 または −1 の値を持つ定数(その値を仮に c とする)なので、それを総和記号の外側にくくり出すことも可能。こんな感覚で:
  ∑ cAk = (cA1 + cA2 + ··· + cAp−1) = c(A1 + A2 + ··· + Ap−1) = c ∑ Ak
本文では、各項に二つずつある因子 (q/p) のうち、一つを項の内部での「掛け算」に使い、もう一つを総和記号の外側にくくり出している。(本文に戻る

※5 記号 p の定義は (−1/p)p だが、第一補充法則によると p が 4k+1 型なら (−1/p) = +1 で、 p が 4k+3 型なら (−1/p) = −1 だ。(本文に戻る

✿ ✿ ✿


2024-11-20 「神の証明」の簡単化についての覚書 ガウスの第六証明

#遊びの数論 #相互法則 #ガウス和 #(35)

前回紹介した「第六証明」のアレンジは、 Erdős のいう「神の証明集」に基づく(それぞれの定理について、最もエレガントな証明法を集めた天界の書物)。美しい証明には違いないが、振り返ると、幾つか「もっと簡単にできるのでは」と思われる部分もある。

もしも「数学のギネスブック」のようなものがあったとしたら、「平方剰余の相互法則」は「最も多くの別証明が考案・公表された定理」として、そこに掲載されるらしい。多くの研究者が何度もこの定理に取り組んだのは、だてや酔狂ではないし、ましてや「本当に正しいのか?」と疑問を感じて、再証明を試みたわけでもない。

いうなれば、幾つもの国境にまたがって延びる山脈。「同じ一つの山脈」だけど、例えばイタリア側から登るのとフランス側から登るのとでは、全く別の風景を楽しめる。どのコースの展望も素晴らしいのだ!

✿

(1) どの著者も Euler の基準、
  (p/q) ≡ (p)(q−1)/2 = Sq−1 (mod q)
と Gauß 和 S を結び付けるために、 Sq(q/p)S (mod q) の両辺を S で割っている。合同式の両辺を何かで割るという操作は、どうしても技術的な陰影を伴う。「両辺を S で割ることが許される」と言わねばならない…。ほんの少しアプローチを変え、 Euler の基準の両辺を事前に p 倍して、
  (p/q)p ≡ (p)(q+1)/2 = Sq+1 (mod q)
にしておけば、代わりに Sq(q/p)S (mod q) の両辺を S 倍することで、同じ結論に至る。「予想の 45° 斜め上をいく  i  の活用」の「ス」では、既にこの小さなアイデアを使っている。

(2) p についてのガウス和の平方 S2 が、 p の属性に応じて +p または −p になるという基本事実だが(定理2)、「神の証明集」(を目指したもの)の著者 Aigner & Ziegler は、 Lemmermeyer (2000) の方法を採用している。それは 1 から p−1 までについての総和を 1 から p−2 までと、最後の p−1 の二つに分けるというアイデアで、 Ireland & Rosen の際物きわもの的な証明(クロネッカー博士の異常な足し算)に比べると、はるかに自然だが、平明さの点では最善ではないかもしれない。「ガウス和の平方(その2)」で観察したように、この問題は、
  s1 + s2 + ··· + sp−1 = ∓(p−1)
の各 sj が等しいことに帰着する。この経路から攻略した方が、分かりやすいのではないか。各 sj が等しいことを示すのは、本質的には易しい――原始 p 乗根 z を z2 などに置き換えても S2 の値は一定なのだから、直観的に言って各 zj の係数は対称的でなければならない。

その事実を直接証明するには、 z を zg に置き換えて何が起きるか観察すればいい(g は mod p の原始根)。しかしその方法だと二重の指数を扱わねばならず、表記上、少しごちゃごちゃする。本質的に難しいわけではなく、副産物として重要な観察も得られるのだが、素直に「神の証明」を受け入れた方が、むしろすっきりするかも…

そこで別案。 mod p では 1, 2, ···, p−1 はどれも逆数を持つ。それを利用して、 s2 以降がどれも s1 と等しいことを証明できるであろう。基礎となるアイデア(ツール)は「神の証明」と似てるけど、総和記号を二つの区間に分ける必要がなくなる。

(3) 一般向けとしては ∑ が並んでいるだけで、難解そうな印象が生じるかもしれない。これは単なる表記法の問題で、嫌なら書き換えればいい。

✿

以上のような点において、第六証明については、さらに工夫・簡単化できる余地があるかもしれない。

天界の「神の書」に収録されているのは、アッと驚くような巧妙で美しい証明かもしれないが、われわれが望むのは、必ずしも「神の視点での華麗なショートカット」ではない。多少野暮ったくても、実直で分かりやすいアプローチ。各ステップにおいて「なぜそうするのか・何をしたいのか」が明快。――そんな境地を理想としつつ、あくまで遊びとして、具体例を調べたり、思わぬ「発見」がないか散策したりしてみたい。

第六証明は、究極の目的地ではない。そこから冒険が始まる出発点なのだ…。

✿ ✿ ✿


<メールアドレス>