{ "cells": [ { "cell_type": "markdown", "id": "78f3cb62", "metadata": {}, "source": [ "# The 9th Roots of Unity\n", "\n", "The ninth-root equation factors as\n", "\n", "$$\n", "x^9-1=(x^3-1)(x^6+x^3+1).\n", "$$\n", "\n", "We solve the cyclotomic factor\n", "$\\Phi_9(x)=x^6+x^3+1$. For a primitive root\n", "$\\zeta=\\exp(2\\pi i/9)$, the result implies\n", "\n", "$$\n", "\\cos\\frac{2\\pi}{9}\n", " =\\frac{\\sqrt[3]{\\omega}+\\sqrt[3]{\\omega^2}}{2},\n", "\\qquad \\omega^3=1,\\ \\omega\\ne1.\n", "$$\n" ] }, { "cell_type": "markdown", "id": "cd9c160b", "metadata": {}, "source": [ "## Primitive conjugate pairs\n", "\n", "The primitive exponent classes modulo $9$ are\n", "$1,2,4,5,7,8$. Pairing inverses produces three real periods. Their\n", "sum is zero, in agreement with the vanishing sum of primitive\n", "ninth roots.\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "df96fc45", "metadata": {}, "outputs": [], "source": [ "def z : MathValue := rtu 9\n", "\n", "def a11 : MathValue := z ^ 1 + z ^ 8\n", "def a12 : MathValue := z ^ 2 + z ^ 7\n", "def a13 : MathValue := z ^ 4 + z ^ 5\n", "\n", "def b10 : MathValue := a11 + a12 + a13\n", "\n", "def cyclotomic9 : MathValue :=\n", " '((rtu 9)^6 + (rtu 9)^3 + 1)\n", "\n", "def reduce9 (v : MathValue) : MathValue :=\n", " idealNFWith [w] [cyclotomic9] v\n", "\n", "def b10' : MathValue := reduce9 b10\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "0db5a997", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$0$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "b10'\n" ] }, { "cell_type": "markdown", "id": "c956eaf2", "metadata": {}, "source": [ "## A modern three-point resolvent\n", "\n", "Multiplication of exponents by $2$ cycles the three periods. The\n", "following typed definitions are the two nontrivial Fourier\n", "resolvents for that cycle. This is a fresh translation into the\n", "current Egison syntax.\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "aae373fd", "metadata": {}, "outputs": [], "source": [ "def b11 : MathValue := a11 + w * a12 + w ^ 2 * a13\n", "def b12 : MathValue := a13 + w * a11 + w ^ 2 * a12\n", "def b13 : MathValue := a12 + w * a13 + w ^ 2 * a11\n", "\n", "def b14 : MathValue := a11 + w * a13 + w ^ 2 * a12\n", "def b15 : MathValue := a12 + w * a11 + w ^ 2 * a13\n", "def b16 : MathValue := a13 + w * a12 + w ^ 2 * a11\n", "\n", "def b11Cube : MathValue := reduce9 (b11 * b12 * b13)\n", "def b14Cube : MathValue := reduce9 (b14 * b15 * b16)\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "3a54021d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$(27 w, -27 w - 27, 729)$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(b11Cube, b14Cube, b11Cube * b14Cube)\n" ] }, { "cell_type": "markdown", "id": "29e77360", "metadata": {}, "source": [ "## Choose cube-root branches\n", "\n", "The products simplify to $27\\omega$ and $27\\omega^2$, and their\n", "product is $9^3$. We choose conjugate cube-root branches whose\n", "product is $9$ and for which the reconstructed period satisfies\n", "$a_{11}'>1$. This selects the period $2\\cos(2\\pi/9)$ uniquely.\n", "Taking those roots and applying the inverse Fourier transform gives\n", "\n", "$$\n", "a_{11}'=\\sqrt[3]{\\omega}+\\sqrt[3]{\\omega^2}\n", " =2\\cos(2\\pi/9).\n", "$$\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "cb297e1f", "metadata": {}, "outputs": [], "source": [ "def b11' : MathValue := rt 3 b11Cube\n", "def b14' : MathValue := rt 3 b14Cube\n", "\n", "def a11' : MathValue := (b10' + b11' + b14') / 3\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "2be117a2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\frac{1}{2} \\sqrt[3]{w} + \\frac{1}{2} \\sqrt[3]{-w - 1}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a11' / 2\n" ] }, { "cell_type": "markdown", "id": "8f4605d4", "metadata": {}, "source": [ "## Recover a primitive ninth root\n", "\n", "As before, $\\zeta+\\zeta^{-1}=a_{11}'$ turns the last step into the\n", "quadratic $x^2-a_{11}'x+1=0$.\n" ] }, { "cell_type": "code", "execution_count": 7, "id": "f5c7524b", "metadata": {}, "outputs": [], "source": [ "def quadraticRoots9\n", " (a : MathValue)\n", " (b : MathValue)\n", " (c : MathValue)\n", " : (MathValue, MathValue) :=\n", " ( ((- b) + sqrt (b ^ 2 - 4 * a * c)) / (2 * a)\n", " , ((- b) - sqrt (b ^ 2 - 4 * a * c)) / (2 * a) )\n", "\n", "def z1' : MathValue := fst (quadraticRoots9 1 (- a11') 1)\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "4dfa2a2f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\frac{1}{2} \\sqrt{\\sqrt[3]{w}^{2} + \\sqrt[3]{-w - 1}^{2} + 2 \\sqrt[3]{-w - 1} \\sqrt[3]{w} - 4} + \\frac{1}{2} \\sqrt[3]{w} + \\frac{1}{2} \\sqrt[3]{-w - 1}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z1'\n" ] }, { "cell_type": "markdown", "id": "4c89ec10", "metadata": {}, "source": [ "The constructed radical satisfies its final quadratic exactly.\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "8c565b74", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$0$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z1' ^ 2 - a11' * z1' + 1\n" ] }, { "cell_type": "markdown", "id": "8b663fa9", "metadata": {}, "source": [ "## The cyclotomic check\n", "\n", "The exact root-of-unity object confirms both the ninth-power\n", "relation and its primitive cyclotomic factor.\n" ] }, { "cell_type": "code", "execution_count": 10, "id": "a9694a28", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$(1, 0)$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(z ^ 9, reduce9 (z ^ 6 + z ^ 3 + 1))\n" ] }, { "cell_type": "markdown", "id": "020c52a7", "metadata": {}, "source": [ "## Takeaway\n", "\n", "The factorization of $x^9-1$ isolates a degree-six problem, and the\n", "cyclic action on primitive exponents reduces it to cube roots plus\n", "one quadratic. The notebook uses only the current typed Egison\n", "surface syntax while preserving the original Galois-theoretic idea.\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 }