7
大学数学基礎解説
文献あり

ポアソンの和公式を用いた平方剰余の相互法則の証明

873
0

今回は、平方剰余の相互法則の解析的な証明を思いついたので紹介します。探しても同じ証明は見つからなかったのですが、平方剰余の相互法則には非常に多くの証明が知られているので、おそらく既出だとは思います。

平方剰余の相互法則とは

まず、ルジャンドル記号の定義を確認します。

ルジャンドル記号

pを素数、apで割り切れない整数とする。apの平方剰余であるとは、x2a(modp)を満たす整数xが存在することをいう。

apで割り切れず、apの平方剰余でないとき、apの平方非剰余であるという。平方剰余かどうかを表す記号として、次のルジャンドル記号を用いる。

(ap):={1apの平方剰余1apの平方非剰余である

ルジャンドル記号には、次のような性質があります。証明は簡単で調べればすぐに見つかるので省略します。

オイラーの規準

pを奇素数、apで割り切れない整数とする。このとき、次の等式が成り立つ。

(ap)ap12(modp)

pを奇素数、a,bpで割り切れない整数とする。このとき、次の等式が成り立つ。

(abp)=(ap)(bp)

pを奇素数とする。

(1p)=(1)p12

今回証明するのは、平方剰余の相互法則と呼ばれる次の定理と、第二補充法則と呼ばれる次の定理です。

平方剰余の相互法則

p,lを奇素数とする。次の等式が成り立つ。

(lp)=(1)p12l12(pl)

平方剰余の第二補充法則

pを奇素数とする。次の等式が成り立つ。

(2p)=(1)p218

ここまで述べた定理を用いると、任意の互いに素な整数a,bに対して、x2a(modb)となる整数xが存在するかどうかが判定できます。

x21009(mod2441)なるxが存在するかどうかを判定する。

(10092441)=(1)244112100912(24411009)=(4231009)

=(31009)2(471009)=(10093)2(1)1009124712(100947)=(13)2(2247)

=(247)(1147)=(1)47218(1)47121112(4711)=(311)

=(1)1112312(113)=(23)=(1)3218=1

よって、x21009(mod2441)なるxは存在しない。

これは不定方程式の解の存在判定などに使えるので、競技数学においても有用な結果です。

平方剰余の相互法則を証明するのがこの記事の目標です。

証明の準備

二次ガウス和の導入

平方剰余の相互法則を証明するために、次の関数を考えます。

pを正の整数、lを整数とする。p,lに対して定まる複素数fp(l)を次のように定義する。

fp(l):=k=0p1exp(2πilk2p)

pが奇素数のとき、fp(l)は二次ガウス和と呼ばれており、平方剰余との間に次のような密接な関係があります。

pを奇素数、lpで割り切れない整数とする。このとき、次の等式が成り立つ。

fp(l)=(lp)fp(1)

pの原子根gを取る。gp11(modp)である。オイラーの規準などから、

  • xpの平方剰余 xg2k(modp)を満たす整数kが存在する

  • xpの平方非剰余 xg2k+1(modp)を満たす整数kが存在する

となる。よって、lgm(modp)と書けるとき、

fp(l)=k=0p1exp(2πigmk2p)=1+n=1p1exp(2πigm(gn)2p)=1+n=1p1exp(2πigm+2np)

となる。よって、mが偶数、すなわちlpの平方剰余のとき、

fp(l)=1+n=1p1exp(2πig2np)=fp(1)

となる。一方、mが奇数、すなわちlpの平方非剰余のとき、

fp(l)=1+n=1p1exp(2πig2n+1p)

であり、

fp(1)+fp(l)=1+n=1p1exp(2πig2np)+1+n=1p1exp(2πig2n+1p)

=2+2n=1p1exp(2πignp)=2k=0p1exp(2πikp)=0

なので、fp(l)=fp(1)である。よって、fp(l)=(lp)fp(1)である。

このことから、fp(l)fl(p)の間の関係式を解析的な手法で求めることができれば、平方剰余の相互法則を証明できるということになります。実際、fp(l)をポアソン和公式と呼ばれる公式を用いて変形することで、fp(l)fl(p)の間の関係式を求めることができます。

ポアソン和公式

ポアソン和公式

nを正の整数、f[0,n]上で定義された連続関数で、f(0)=f(n)を満たすとする。このとき、次の等式が成り立つ。

k=0n1f(k)=m=x=0nf(x)e2πimxdx

なお、和をとる区間と積分区間を(,)としたものをポアソンの和公式と呼ぶことも多いですが、今回用いるのはこの形の方です。

f[0,n]で定義された関数だが、これを周期nの周期関数になるように全実数に拡張する。すなわち、fを次のように定義する。

f(x):=f(xmodn)

これに対し、gを次のように定義する。

g(x)=k=0n1f(x+k)

g(x)は周期1の周期関数である。したがって、次のようにフーリエ級数展開できる。

g(x)=m=ame2πimx,  am=x=01g(x)e2πimxdx

amの表示は次のように書き直せる。

am=x=01g(x)e2πimxdx=x=01k=0n1f(x+k)e2πimxdx

=k=0n1x=01f(x+k)e2πimxdx=k=0n1y=kk+1f(y)e2πimydy

=y=0nf(y)e2πimydy

これを用いて、g(x)は次のように書ける。

g(x)=m=e2πimxy=0ng(y)e2πimydy=m=y=0ng(y)e2πim(yx)dy

g(0)=m=y=0nf(y)e2πimydy

したがって、

k=0n1f(k)=m=x=0nf(x)e2πimxdx

となる。

総和記号の拡張

証明の前に、ちょっとした定義をしておきます。場合分けを減らすための道具なので大したことはありません。

和の記号を少し拡張して定義する。整数aに対し、

k=aa1f(k):=0

とする。また、a,bを整数とし、a+1<bとするとき、

k=baf(k):=k=a+1b1f(k)

と定義する。このように定義することで、普通の和の記号と同様の計算法則が成り立つ。

これを用いてfp(l)p<0のときも定義する。

この記法は便利なので私はよく使うのですが、他の人が使っているのを見たことがないので広めていきたいですね。

平方剰余の相互法則の証明

さて、ポアソン和公式を用いてfp(l)を変形し、実際に平方剰余の相互法則を証明していきます。

fp(l)の変形

ポアソン和公式を用いてfp(l)を変形すると、次のような式を得ることができます。

p,lを整数とする。このとき、次の等式が成り立つ。

fp(l)=plk=0l1exp(πipk22l){1+(1)kp(i)lp}1+i2

lが十分小さい場合は、この式を用いてfp(l)を計算することができます。

しばらくの間、p,lが奇素数であるという条件は設けず、p,lが一般に整数であるとする。p<0またはl<0のときは先ほど定義した和の記号の拡張に注意する。

ポアソンの和公式を用いると、

fp(l)=k=0p1exp(2πilk2p)

=n=x=0pexp(2πilx2p+2πinx)dx
=n=x=0pexp{2πilp(x+np2l)2πipn22l}dx

lpxを改めてxとおくと、

fp(l)=pln=x=0lexp{2πipl(x+n2)2πipn22l}dx

=pln=exp{πipn22l}x=0lexp{2πipl(x+n2)2}dx

ここで、nを改めてnl+kと置く。nはすべての整数を動き、k0からl1まで動く。

fp(l)=pln=k=0l1exp{πip(nl+k)22l}x=0lexp{2πipl(x+nl+k2)2}dx
=plk=0l1n=exp{πip(nl+k)22l}x=n2ln2l+lexp{2πipl(x+k2)2}dx
=plk=0l1n=exp{πip(2nl+k)22l}x=nlnl+lexp{2πipl(x+k2)2}dx
   +plk=0l1n=exp{πip(2nl+l+k)22l}x=nl+12lnl+32lexp{2πipl(x+k2)2}dx

ここで、

exp{πip(2nl+k)22l}=exp{2πip(n2l+nk)πipk22l}
=exp(πipk22l)
exp{πip(2nl+l+k)22l}=exp{2πip(n2l+nk)πip(k+l)22l}
=exp{πipk2+l2+2kl2l}
=(1)kp(i)lpexp(πipk22l)

したがって、

fp(l)=plk=0l1exp(πipk22l)n=x=nlnl+lexp{2πipl(x+k2)2}dx
   +plk=0l1(1)kp(i)lpexp(πipk22l)n=x=nl+12lnl+32lexp{2πipl(x+k2)2}dx
=plk=0l1exp(πipk22l){1+(1)kp(i)lp}x=exp(2πiplx2)dx

ここで、フレネル積分の公式

x=exp(ix2)=iπ=π2(1+i)

を用いると、

x=exp(2πiplx2)=l2pπiπ=1+i2lp

となる。よって、

fp(l)=plk=0l1exp(πipk22l){1+(1)kp(i)lp}1+i2

がなりたつ。

実際にこの式を用いて、l=1,2のときのfp(l)を計算してみると、平方剰余の第二補充法則を得ることができます。

fp(1)の計算と平方剰余の第二補充法則の証明

fp(1)={p(1+i)p0(mod4)pp1(mod4)0p2(mod4)ipp3(mod4)

補題にl=1を代入すると、

fp(1)=p{1+(i)p}1+i2={p(1+i)p0(mod4)pp1(mod4)0p2(mod4)ipp3(mod4)

平方剰余の第二補充法則

pを奇素数とする。このとき、次の等式が成り立つ。

(2p)=(1)p218

fp(2)=p2k=01exp(πipk24){1+(1)kp(i)2p}1+i2
=p2{0+exp(πip4){1+(1)(1)}1+i2}=pexp(πi(1p)4)

である。

(2p)=fp(2)fp(1)

と上の命題を用いると、

p1(mod8)のとき

(2p)=exp(πi(1p)4)=1

p3(mod8)のとき

(2p)=1iexp(πi(1p)4)=ii=1

p5(mod8)のとき

(2p)=exp(πi(1p)4)=1

p7(mod8)のとき

(2p)=1iexp(πi(1p)4)=ii=1

よって、平方剰余の第二補充法則が成り立つ。

fp(l)fl(p)の関係式

さらに計算を進めると、次のようなfp(l)fl(p)の間の関係式を得ることができます。

p,lを整数とする。このとき、次の等式が成り立つ。

{1(1)p(i)pl}fp(l)=12(1+i)(i)pl{1(1)p}plfl(p)

fp(l)=plk=0l1exp(πipk22l){1+(1)kp(i)lp}1+i2

であった。kの偶奇で分けてやると、

fp(l)=plk=0l1exp(2πipk2l){1+(1)kp(i)lp}1+i2
=12plk=0l1exp(2πipk2l){1+(i)lp}1+i2
+12plk=0l1exp(2πip(k+12)2l){1+(1)p(i)lp}1+i2

ここで、

k=0l1exp{2πipl(k+12)2}+k=0l1exp(2πiplk2)=k=02l1exp(2πip4lk2)

k=0l1exp{2πipl(k+12)2}=12f4l(p)fl(p)

であり、和の記号の拡張に注意して、4l,pに対し補題の式を適用すると、

f4l(p)=4lpk=0p1exp(+πi(4l)k22p){1+(1)k(4l)(i)(4l)(p)}1+i2
=2(1i)lpk=0p1exp(+2πilk2p)=2(1i)lpk=p1exp(+2πilk2p)
=2(1i)lpk=0p1exp(+2πilk2p)=2(1i)lpfp(l)

であるから、

k=0l1exp{2πipl(k+12)2}=12f4l(p)fl(p)=(1i)lpfp(l)fl(p)

よって、

fp(l)=12plfl(p){1+(i)lp}1+i2+12pl{(1i)lpfp(l)fl(p)}{1+(1)p(i)lp}1+i2

となる。これを整理すると、

{1(1)p(i)pl}fp(l)=12(1+i)(i)pl{1(1)p}plfl(p)

となる。

平方剰余の相互法則の証明

いよいよ、平方剰余の相互法則を証明します。

平方剰余の相互法則

p,lを奇素数とする。次の等式が成り立つ。

(lp)=(1)p12l12(pl)

補題より、

{1(1)p(i)pl}fp(l)=12(1+i)(i)pl{1(1)p}plfl(p)

であった。p,lが奇素数なので、1+(i)pl0でないから、両辺をこれで割って、

fp(l)=(1+i)(i)pl1+(i)plplfl(p)

を得る。オイラーの規準から、

fl(p)=(pl)fl(1)=(1l)(pl)fl(1)=(1)l12(pl)fl(1)=(1)l12fl(p)

となるから、

fp(l)=(1+i)(i)pl(1)l121+(i)plplfl(p)

が成り立つ。あとは、p,l4で割った余りによって場合分けをして、平方剰余の相互法則を証明する。

pl1(mod4)の場合

fp(1)=p,fl(1)=l,(i)pl=i,(1)l12=1であるから、

p(lp)=(1+i)(i)11+(i)pll(pl)

(lp)=(pl)

pl3(mod4)の場合

fp(1)=ip,fl(1)=il,(i)pl=i,(1)l12=1であるから、

ip(lp)=(1+i)(i)pl(1)l121+(i)plplil(pl)

(lp)=(pl)

pl(mod4)の場合

p1(mod4),l3(mod4)であるとして一般性を失わない。

fp(1)=p,fl(1)=il,(i)pl=i,(1)l12=1であるから、

p(lp)=(1+i)(+i)(1)1+iplil(pl)

(lp)=(pl)

となる。以上の結果をまとめると、次の平方剰余の相互法則を得る。

(lp)=(1)p12l12(pl)

さらなる一般化

ここからは、fp(l)に関して私が研究する中で見つけたことを紹介します。

証明の過程で、fp(l)の式でk12だけずらしたものを用いました。これを一般化すると、次のような式を得ることができます。証明は省略します。

p,lを相異なる奇素数とする。このとき、

k=0p1exp(2πil(k+12)2p)=(1)pl2ifp(l)

が成り立つ。

私は、fp(l)を一般化して、fp(m,l)という関数を定義しました。fp(m,l)は、fp(l)km2lだけずらしたものに対応します。

p,l,mを整数とする。このとき、

fp(l,m):=k=0p1exp(2πi(mk+lk2)p)

と定義する。

これに対してfp(l)と全く同じ計算をすると、次のような主張が成り立つことがわかります。本当に全く同じ計算をするだけなので、時間がある人は試してみてください。

p,lが奇数のとき、

fp(m,l)=Splmplexp(πim22pl)fl(m,p)

ただし、Splmは次のように定義される。

Splm={1pl(mod4), m0(mod2)ipl(mod4), m1(mod2)ipl(mod4), m0(mod2)1pl(mod4), m1(mod2)

詳細は省略しますが、これは次のようなことを意味します。

pが奇数であるとし、p,lの最大公約数をgとする。mgの倍数でないとき、fp(m,l)=0である。mgの倍数であるとき、|fp(m,l)|=pgであり、比較的単純なアルゴリズムでfp(m,l)の偏角も求めることができる。

例えば、p=11,l=5,m=3のとき、fp(m,l)=11exp(7πi22)となることが、次のようにしてわかります。

f11(3,5)を計算する。

f11(3,5)=S11,5,3115exp(πi322115)f5(3,11)
=(1)115exp(9πi110)f5(3,1)
=(1)115exp(9πi110)511S5,1,3exp(9πi251)f1(3,5)
=(1)115exp(9πi110)511(i)exp(9πi25(1))f1(3,5)=i11exp(9πi110+9πi10)f1(0,0)=i11exp(9πi110+9πi10)(1)

=11exp(π2+9πi109πi110)=11exp(7πi22)

したがって、

k=0111exp(2πi(3k+5k2)11)=11exp(7πi22)

これを使えば、expの中身が2次式になっているような周期pの和を、なんでも簡単に計算することができます。テータ関数との類似性を見ることもできます。何かに応用できるかもしれません。

まとめ

いかがでしたでしょうか。思いのほか長い記事になってしまいましたが、楽しんでいただけたら嬉しいです。

参考文献

[1]
栗原将人, ガウスの数論世界をゆく 正多角形の作図から相互法則・数論幾何へ, 数学書房, 2017
投稿日:2024111
更新日:2024112
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

dragoemon
dragoemon
143
31410
大学二年生です

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 平方剰余の相互法則とは
  2. 証明の準備
  3. 二次ガウス和の導入
  4. ポアソン和公式
  5. 総和記号の拡張
  6. 平方剰余の相互法則の証明
  7. fp(l)の変形
  8. fp(1)の計算と平方剰余の第二補充法則の証明
  9. fp(l)fl(p)の関係式
  10. 平方剰余の相互法則の証明
  11. さらなる一般化
  12. まとめ
  13. 参考文献