1の7乗根¶
1の原始7乗根 $\zeta$ は、次の方程式を満たします。
$$ \Phi_7(x)=x^6+x^5+x^4+x^3+x^2+x+1=0. $$
六つの原始7乗根には、$(\mathbb Z/7\mathbb Z)^\times$ が置換として作用します。 まず複素共役による商を取り、三つの実周期を残します。次に、1の3乗根上の 3点フーリエ変換を使います。
三つの共役周期¶
指数 $k$ と $7-k$ を組にすると、$a_{11},a_{12},a_{13}$ が得られます。 自明でない1の7乗根をすべて足した値が $-1$ なので、これらの和も $-1$ です。
def z : MathValue := rtu 7
def a11 : MathValue := z ^ 1 + z ^ 6
def a12 : MathValue := z ^ 2 + z ^ 5
def a13 : MathValue := z ^ 3 + z ^ 4
def b10 : MathValue := a11 + a12 + a13
def cyclotomic7 : MathValue :=
'((rtu 7)^6 + (rtu 7)^5 + (rtu 7)^4
+ (rtu 7)^3 + (rtu 7)^2 + rtu 7 + 1)
def reduce7 (v : MathValue) : MathValue :=
idealNFWith [w] [cyclotomic7] v
def b10' : MathValue := reduce7 b10
b10'
フーリエ・レゾルベント¶
$\omega=(-1+i\sqrt3)/2$ とすると、位数3の巡回置換の二つの非自明な指標から、互いに 共役な二組の三つ組が得られます。それぞれの三つ組の積を取れば、巡回置換による 曖昧さが消えます。それらの積を $\Phi_7(\zeta)$ を法として簡約すると、$\omega$ だけの式が残るため、それぞれのフーリエ成分を一つの立方根から復元できます。
def b11 : MathValue := a11 + w * a12 + w ^ 2 * a13
def b12 : MathValue := a13 + w * a11 + w ^ 2 * a12
def b13 : MathValue := a12 + w * a13 + w ^ 2 * a11
def b14 : MathValue := a11 + w * a13 + w ^ 2 * a12
def b15 : MathValue := a12 + w * a11 + w ^ 2 * a13
def b16 : MathValue := a13 + w * a12 + w ^ 2 * a11
def b11Cube : MathValue := reduce7 (b11 * b12 * b13)
def b14Cube : MathValue := reduce7 (b14 * b15 * b16)
(b11Cube, b14Cube, b11Cube * b14Cube)
変換を逆にたどる¶
表示された二つの被開立方数は互いに共役で、その積は $7^3$ です。積が $7$ となり、 再構成した実周期が正になるよう、互いに共役な立方根の分枝を選びます。それらを 逆変換すると、$a_{11}=\zeta+\zeta^{-1}=2\cos(2\pi/7)$ が得られます。
def b11' : MathValue := rt 3 b11Cube
def b14' : MathValue := rt 3 b14Cube
def a11' : MathValue := (b10' + b11' + b14') / 3
a11' / 2
1の7乗根そのものを復元する¶
$a_{11}'=\zeta+\zeta^{-1}$ が分かれば、$\zeta$ は次の二次方程式の解です。
$$ x^2-a_{11}'x+1=0. $$
選択した冪根の分枝により、共役な対のどちらが先に現れるかが決まります。
def quadraticRoots7
(a : MathValue)
(b : MathValue)
(c : MathValue)
: (MathValue, MathValue) :=
( ((- b) + sqrt (b ^ 2 - 4 * a * c)) / (2 * a)
, ((- b) - sqrt (b ^ 2 - 4 * a * c)) / (2 * a) )
def z1' : MathValue := fst (quadraticRoots7 1 (- a11') 1)
z1'
最後の二次方程式に代入すると0になります。この検算は、入れ子になった平方根が どのような形に整形されているかに依存しません。
z1' ^ 2 - a11' * z1' + 1
まとめ¶
6次の円分方程式を、一つの3点変換、立方根、そして最後の二次方程式へ分解しました。 コードはガロア群の部分群構造に沿っているため、各冪根がどこから生じたのかを 明示できます。