方程式 zn−1=0 の解を、1のn乗根と呼ぶ。
これは、n次方程式なので、1のn乗根はn個存在する。
1のn乗根は、以下の式で表わされる。
z=cos(2πm/n)+i・sin(2πm/n)
=ei (2πm/n)(m=0, 1, ... , n-1)
1のn乗根には、n乗して初めて1になるものもあれば、n乗する前に1になってしまうものもある。
例えば、1の4乗根は、1、i、−1、−iの4個だが、
1、−1については2乗で1となり、i、−iについては、4乗で初めて1となる。
後者のような場合を1の原始n乗根と呼び、ζで表わす。
1の原始n乗根は、φ(n)個存在する。
(φ(n)は、Euler関数(0<i<nでnと互いに素となるiの個数))
zn−1=(z−1) (zn-1+zn-2+……+z+1)
より、1の原始n乗根は、
zn-1+zn-2+……+z+1=0
の解である。
pを素数とする。
1の原始p乗根と、前章の平方剰余を組み合わせて、以下のような式を考える。
G= p-1
Σ
i=1(i/p)・ζi = (1/p)・ζ+(2/p)・ζ2+……+(p-1/p)・ζp-1
この値を Gauss和(Gauss sum)と呼ぶ。小さいpについて、Gを具体的に書き表わしてみる。
p | G |
---|---|
3 | ζ−ζ2=ζ(1−ζ) |
5 | ζ−ζ2−ζ3+ζ4= ζ(1−ζ)2(1+ζ) |
7 | ζ+ζ2−ζ3+ζ4−ζ5−ζ6= ζ(1−ζ) (1+2ζ+ζ2+2ζ3+ζ4) |
11 |
ζ−ζ2+ζ3+ζ4+ζ5−ζ6−ζ7−ζ8+ζ9−ζ10 =ζ(1−ζ) (1+2ζ+ζ2+2ζ3+3ζ4+2ζ5+ζ6+ζ8) |
13 |
ζ−ζ2+ζ3+ζ4−ζ5−ζ6−ζ7−ζ8+ζ9+ζ10−ζ11+ζ12 =ζ(1−ζ)2(1+ζ) (1+2ζ2+2ζ3+3ζ4+2ζ5+2ζ6+ζ8) |
17 |
ζ+ζ2−ζ3+ζ4−ζ5−ζ6−ζ7+ζ8+ζ9−ζ10−ζ11−ζ12
+ζ13−ζ14+ζ15+ζ16 =ζ(1−ζ)2(1+ζ) (1+2ζ+2ζ2+4ζ3+3ζ4+4ζ5+2ζ6+4ζ7+3ζ8+4ζ9 +2ζ10+2ζ11+ζ12) |
19 |
ζ−ζ2−ζ3+ζ4+ζ5+ζ6+ζ7−ζ8+ζ9−ζ10+ζ11−ζ12−ζ13−ζ14−ζ15+ζ16+ζ17−ζ18 =ζ(1−ζ) (ζ−ζ2+ζ4+2ζ5+3ζ6+2ζ7+3ζ8+2ζ9+3ζ10+2ζ11 +ζ12−ζ14+ζ16) |
念のため因数分解もしてみたが、一見しただけでは、これらの式がどのような値になるのか、
皆目見当がつかない。
しかし、2乗すると状況が一変する。
マクロを組んでみる。
まずpに対し、1、……、p−1が平方剰余かどうかを調べて、a(i) に格納する。
(これは、前章のマクロを使う。)
Gの計算は、Gの係数、a(0),a(1),……,a(p-1) を以下のように2重ループでまわして
w(i) に格納すればよい。
for i=0 to p-1:w(i)=0:next i
for i=1 to p-1
for j=1 to p-1
n = (i+j) mod p
w(n) = w(n) + a(i) * a(j)
next j
next i
ζn=1より、i乗の項とj乗の項の積を格納する場所 w(n) のnの値は、
n=i+jではなく、nを mod p で考えたときの値となる。
マクロは以下のようになる。
Sub Record1() Worksheets("Sheet1").Activate Dim a(18), w(18), p(8) p(2) = 3: p(3) = 5: p(4) = 7: p(5) = 11: p(6) = 13: p(7) = 17: p(8) = 19 ' ヘッダー Cells(1, 1).Value = "p" For i = 0 To 18: Cells(1, i + 2).Value = i: Next i ' メインループ For k = 2 To 8: v = p(k) ' 平方剰余の計算 For i = 0 To v - 1: a(i) = -1: Next i For i = 0 To v - 1 n = i ^ 2 - v * Int(i ^ 2 / v) a(n) = 1 Next i ' 2乗(G^2)の計算 For i = 0 To v - 1: w(i) = 0: Next i For i = 1 To v - 1 For j = 1 To v - 1 n = (i + j) - v * Int((i + j) / v) w(n) = w(n) + a(i) * a(j) Next j Next i ' 値をセルに表示 Cells(k, 1).Value = v For i = 0 To v - 1: Cells(k, i + 2).Value = w(i): Next i Next kEnd Sub
実行結果は以下のとおり。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | p | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
2 | 3 | -2 | 1 | 1 | ||||||||||||||||
3 | 5 | 4 | -1 | -1 | -1 | -1 | ||||||||||||||
4 | 7 | -6 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||||||
5 | 11 | -10 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||
6 | 13 | 12 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||||||
7 | 17 | 16 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | ||
8 | 19 | -18 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
例えば、p=3のときは、G2=−2+ζ+ζ2 となる。
この値は、もっと簡単な値にならないのか?
ここで冒頭の式より、
ζn-1=−(ζn-2+ …… +ζ+1)
となるので、これを2乗計算が終わった後に適用してみる。
マクロの修正は簡単なので特に示さない。実行結果は、以下のとおり。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | p | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
2 | 3 | -3 | 0 | 0 | ||||||||||||||||
3 | 5 | 5 | 0 | 0 | 0 | 0 | ||||||||||||||
4 | 7 | -7 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||
5 | 11 | -11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
6 | 13 | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
7 | 17 | 17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
8 | 19 | -19 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
なんと、定数になってしまった。
3以上の素数について、G2の値は以下のようになる。
前頁 | 目次 |
---|