{ "cells": [ { "cell_type": "markdown", "id": "19b8b35a", "metadata": {}, "source": [ "# 1の17乗根\n", "\n", "正$17$角形が作図可能なのは、$17=2^{2^2}+1$ がフェルマー素数だからです。\n", "代数的には、次の円分多項式を考えます。\n", "\n", "$$\n", "\\Phi_{17}(x)=x^{16}+x^{15}+\\cdots+x+1\n", "$$\n", "\n", "この多項式のガロア群の位数は $16$ です。したがって、指数2の部分群からなる列を\n", "たどることで、原始根を平方根だけで表せます。\n" ] }, { "cell_type": "markdown", "id": "19fc5f6d", "metadata": {}, "source": [ "## 八つの実ガウス周期\n", "\n", "$\\zeta=\\exp(2\\pi i/17)$ とおきます。それぞれの冪をその逆元と組にすると、\n", "次の八つの実数が得られます。\n", "\n", "$$\n", "a_k=\\zeta^k+\\zeta^{-k}=2\\cos(2\\pi k/17).\n", "$$\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "e285ff5e", "metadata": {}, "outputs": [], "source": [ "def z : MathValue := rtu 17\n", "\n", "def a1 : MathValue := z ^ 1 + z ^ 16\n", "def a2 : MathValue := z ^ 2 + z ^ 15\n", "def a3 : MathValue := z ^ 3 + z ^ 14\n", "def a4 : MathValue := z ^ 4 + z ^ 13\n", "def a5 : MathValue := z ^ 5 + z ^ 12\n", "def a6 : MathValue := z ^ 6 + z ^ 11\n", "def a7 : MathValue := z ^ 7 + z ^ 10\n", "def a8 : MathValue := z ^ 8 + z ^ 9\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "7316c9f1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$-1$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8\n" ] }, { "cell_type": "markdown", "id": "e9d764e0", "metadata": {}, "source": [ "## 2点変換を繰り返す\n", "\n", "法 $17$ の乗法群は巡回群です。以下の定義では、その部分群列に沿って和と差を\n", "繰り返し記録します。最上位の $d_{10}$ は、自明でない16個の1の17乗根を\n", "すべて足したものなので、$-1$ に等しくなります。\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "71b31950", "metadata": {}, "outputs": [], "source": [ "def b11 : MathValue := a1 + a4\n", "def b12 : MathValue := a1 - a4\n", "def b21 : MathValue := a2 + a8\n", "def b22 : MathValue := a2 - a8\n", "def b31 : MathValue := a3 + a5\n", "def b32 : MathValue := a3 - a5\n", "def b41 : MathValue := a6 + a7\n", "def b42 : MathValue := a6 - a7\n", "\n", "def c11 : MathValue := b11 + b21\n", "def c12 : MathValue := b11 - b21\n", "def c21 : MathValue := b31 + b41\n", "def c22 : MathValue := b31 - b41\n", "\n", "def d10 : MathValue := c11 + c21\n", "def d11 : MathValue := c11 - c21\n", "def d12 : MathValue := c21 - c11\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "911de8f0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$(-1, -2 rtu(17)^{14} - 2 rtu(17)^{12} - 2 rtu(17)^{11} - 2 rtu(17)^{10} - 2 rtu(17)^{7} - 2 rtu(17)^{6} - 2 rtu(17)^{5} - 2 rtu(17)^{3} - 1, 2 rtu(17)^{14} + 2 rtu(17)^{12} + 2 rtu(17)^{11} + 2 rtu(17)^{10} + 2 rtu(17)^{7} + 2 rtu(17)^{6} + 2 rtu(17)^{5} + 2 rtu(17)^{3} + 1)$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(d10, d11, d12)\n" ] }, { "cell_type": "markdown", "id": "bfb93da0", "metadata": {}, "source": [ "## 部分群列を逆にたどる\n", "\n", "各差の二乗は、一つ上の段階ですでに求めた量を使って表せます。互いに整合する\n", "平方根の分枝を選び、次の式を繰り返し適用すると、\n", "\n", "$$\n", "u=\\frac{(u+v)+(u-v)}{2}\n", "$$\n", "\n", "最初の周期 $a_1$ を再構成できます。\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "0effda84", "metadata": {}, "outputs": [], "source": [ "def d10' : MathValue := -1\n", "def d11' : MathValue := sqrt 17\n", "\n", "def c11' : MathValue := (d10' + d11') / 2\n", "def c21' : MathValue := (d10' - d11') / 2\n", "def c12' : MathValue := sqrt (8 + (- c11'))\n", "def c22' : MathValue := sqrt (8 + (- c21'))\n", "\n", "def b11' : MathValue := (c11' + c12') / 2\n", "def b21' : MathValue := (c11' - c12') / 2\n", "def b31' : MathValue := (c21' + c22') / 2\n", "def b41' : MathValue := (c21' - c22') / 2\n", "\n", "def b12' : MathValue := sqrt (4 + b21' + (-2) * b31')\n", "def b22' : MathValue := sqrt (4 + b21' + (-2) * b41')\n", "def b32' : MathValue := sqrt (4 + b41' + (-2) * b21')\n", "def b42' : MathValue := sqrt (4 + b31' + (-2) * b21')\n", "\n", "def a1' : MathValue := (b11' + b12') / 2\n" ] }, { "cell_type": "markdown", "id": "39231b18", "metadata": {}, "source": [ "## ガウスの余弦公式\n", "\n", "$a_1'=2\\cos(2\\pi/17)$ なので、2で割ると、正$17$角形の古典的な作図に対応する\n", "入れ子状の平方根表示が得られます。\n", "\n", "$$\n", "\\cos\\frac{2\\pi}{17}\n", "=\\frac1{16}\\left(\n", " -1+\\sqrt{17}+\\sqrt{34-2\\sqrt{17}}\n", " +2\\sqrt{17+3\\sqrt{17}-\\sqrt{34-2\\sqrt{17}}\n", " -2\\sqrt{34+2\\sqrt{17}}}\n", "\\right).\n", "$$\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "887f336c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\frac{1}{16} \\sqrt{-\\sqrt{17} + 17} \\sqrt{2} + \\frac{1}{16} \\sqrt{17} + \\frac{1}{8} \\sqrt{-\\sqrt{-\\sqrt{17} + 17} \\sqrt{2} - 2 \\sqrt{\\sqrt{17} + 17} \\sqrt{2} + 3 \\sqrt{17} + 17} + \\frac{-1}{16}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a1' / 2\n" ] }, { "cell_type": "markdown", "id": "4ef0a2dd", "metadata": {}, "source": [ "## 1の17乗根であることの検算\n", "\n", "Egisonで表した1の冪根の厳密値は、数値的な丸めを行わず、定義関係をそのまま\n", "保持します。\n" ] }, { "cell_type": "code", "execution_count": 7, "id": "bb7d35f4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$1$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z ^ 17\n" ] }, { "cell_type": "markdown", "id": "21ea4efa", "metadata": {}, "source": [ "## まとめ\n", "\n", "入れ子になった冪根式は、ガロア群において指数2の部分群への還元を4回続けた過程を直接\n", "反映しています。この計算から、余弦の値だけでなく、定規とコンパスによる作図が\n", "可能である理由も分かります。\n" ] } ], "metadata": { "kernelspec": { "display_name": "Egison", "language": "egison", "name": "egison" }, "language_info": { "codemirror_mode": "egison", "file_extension": ".egi", "mimetype": "text/x-egison", "name": "egison" } }, "nbformat": 4, "nbformat_minor": 5 }