代数方程式

数学において、代数方程式 (だいすうほうていしき、英: algebraic equation) とは（一般には多変数の）多項式を等号で結んだ形で表される方程式の総称で、式で表せば ∑ a e 1 e 2 … e m x 1 e 1 x 2 e 2 ⋯ x m e m = 0 {\displaystyle \sum a_{e_{1}e_{2}\ldots e_{m}}x_{1}^{e_{1}}x_{2}^{e_{2}}\cdots x_{m}^{e_{m}}=0} の形に表されるもののことである。言い換えれば、代数方程式は多項式の零点を記述する数学的対象である。 代数方程式は、面積を求める幾何学的な問題や、ディオファントス方程式などの算術的な問題として、古来から数学において重要な研究対象となってきた。ピタゴラスの定理 a2 + b2 = c2 を満足する自然数の組 (a, b, c)（ピタゴラス数）を求める問題やその一般化として17世紀にフェルマーが考察した an + bn = cn などが代数方程式とその研究の例として挙げられる。後者の例については、これを満たす自然数の組は自明なもの（abc = 0 の場合）を除いて存在しないという主張がフェルマーの最終定理として知られる。 また、多変数の代数方程式については、デカルトが直交座標系を発明して以後、オイラーらによる二次曲線や二次曲面の分類理論をはじめとして幾何学的な考察がなされてきた。 19世紀以降では、1 変数多項式の根に関する研究はガロアによる群論の発明など抽象代数学の萌芽となったし、20世紀の前半には多変数多項式（あるいは方程式系）の零点を幾何学的に研究する分野として代数幾何学が成立している。前述のフェルマーの最終定理は、問題の提出から300年以上のときを隔てて解決されたが、そのために代数幾何学をはじめとする高度な数学の知見が用いられた。 多変数の場合を代数幾何学の項目に譲ることにして、以下本項においては、主に有理数体などの体の元を係数とする 1 変数の代数方程式について詳述する。1 変数の代数方程式とは、移項して整理すれば ∑ k = 0 n a k x k = a n x n + a n − 1 x n − 1 + ⋯ + a 1 x + a 0 = 0 {\displaystyle \sum _{k=0}^{n}a_{k}x^{k}=a_{n}x^{n}+a_{n-1}x^{n-1}+\cdots +a_{1}x+a_{0}=0} （各 ai は（変数 x に無関係な）定数）のかたちに表される方程式のことである。このとき、左辺の多項式の次数を以ってこの代数方程式の次数とする。すなわち an ≠ 0 のとき n 次方程式であるという。 一次方程式 ax + b = 0 (a ≠ 0) 二次方程式 ax2 + bx + c = 0 (a ≠ 0) 三次方程式 ax3 + bx2 + cx + d = 0 (a ≠ 0) 四次方程式 ax4 + bx3 + cx2 + dx + e = 0 (a ≠ 0) 五次以上の代数方程式は「代数的に解けない」ことが知られている。(アーベル-ルフィニの定理) f(x) を x に関する多項式とする。代数方程式 f(x) = 0 の解を特に根（こん、root）という（「方程式の根」とも「多項式の根」ともいう）。 因数定理により、x = α が多項式 f(x) の根であることと、多項式 f(x) が x − α を因数に持つこととは同値である。さらに多項式 f(x) に対し、正の整数 k と多項式 g(x) で f ( x ) = ( x − α ) k g ( x ) , g ( α ) ≠ 0 {\displaystyle f(x)=(x-\alpha )^{k}g(x),\quad g(\alpha )\neq 0} を満たすものが存在するとき、α を f(x) の k 重根（じゅうこん、multiple root）または k 位の零点といい、k を根 α の重複度（ちょうふくど、multiplicity）または位数という。ただし、k = 1 のときは単根（たんこん、simple root, simple zero）と言う。また、単に重根と呼ぶときは、文脈により単根でない根を総称する場合と、二重根のことのみを指す場合とがある。重複度まで込めれば、代数方程式の根とは a ( x − α 1 ) ( x − α 2 ) ⋯ ( x − α n ) = 0 {\displaystyle a(x-\alpha _{1})(x-\alpha _{2})\cdots (x-\alpha _{n})=0} となるときの α1, α2, ..., αn のことであると言い換えられる。 二項多項式 xn − a の根をとくに冪根という。 左辺の多項式の係数体を K とすると、その代数方程式は、一般には K の中で解けないが、代数方程式が 1 つ与えられたとき、その根を含むような K の拡大体 L の存在が示せる。さらに、K の代数閉包が同型の違いを除いて一意的に存在する。代数閉包 K∧ を一つ固定しておく。K∧ の元 x が、ある K 係数の代数方程式の根となるとき、x は K 上代数的であるという（詳しくは体論に譲る）。特に、複素数 z が有理数体 Q 上代数的ならば、z は代数的数であるという。 環 R を係数の環とするモニック（最高次の係数が 1 ）な多項式の根は R 上で整であるという。R が体ならば整であることと代数的であることとは同値である。 代数方程式の根を論理的に特定する方法としては、「数値的解法（近似アルゴリズム）」によるもの、「代数的解法（四則演算と冪根を付加する操作の有限回の組合せ）」によるもの、「超越的解法（楕円モジュラー関数、超幾何級数への代入、四則演算の有限回の組合せ）」によるものなどが挙げられる。後者 2 つは「解の公式」と呼ばれるものを提示する方法である。また、数値的解法は数値解析とも呼ばれ、代数方程式のみならず、たとえば指数関数や対数関数を含む方程式など、一般の方程式にも広く用いられるものである。 4 次以下の方程式には代数的解法による解の公式があることが知られている。5 次より高次の方程式にも超越的方法による解の公式が存在する。よく誤解されていることであるが、一般に言われる「五次方程式は一般には解けない」というのは、代数的解法による解の公式が存在しないことを指しており、全ての代数的数が、考えている代数方程式の係数から、四則演算と冪乗根を取る操作を有限回繰り返すだけで得られるわけではないということである。これはルフィニやアーベルにより示された事実である。その意味で代数的数全体の集合は広い。代数的数という名前に惑わされがちだが、代数的数は必ずしも代数的方法で得られるものばかりではない。 しかし、ガロアが楕円モジュラー関数を用いる超越的方法では一般的解法が存在することを予言し、その遺書に書き残している。ガロアの死後、エルミートは、楕円モジュラー関数による五次方程式の解の公式を導いた。 なお、アーベルもモジュラー方程式の研究を行っていたことから、彼にも解の公式のアイディアがあったであろうと考えられている。エルミートから現在まで、5 次より高次の方程式の解の公式は様々に提案されている。 工学的見地からは、これらの解の公式に拠る解法は計算量的な実用性があまりないため、3 次より高次の方程式は数値計算による解法が一般的である。中には、固有値問題へ帰着して行列の固有値計算のアルゴリズムが用いられることもある。 以下、解の公式の概要を示す。詳しい内容についてはそれぞれの記事を参照されたい。 一次方程式  一次方程式 は係数体 K に依らず K のなかで常に解ける。 一次方程式 a x + b = 0 {\displaystyle ax+b=0} ( a , b {\displaystyle a,b} は実数, a ≠ 0 {\displaystyle a\neq 0} )の解 x {\displaystyle x} は、 x = − b a {\displaystyle x=-{\frac {b}{a}}} と表せる。 二次方程式 標数が 2 でない体上の二次方程式 ax2 + bx + c = 0 は基礎体 F に係数 a, b, c と判別式 D = b2 − 4ac の正の平方根を添加した体 F(a, b, c, √D) のなかで解けて、その根は (−b ± √D)/2a で与えられることが知られている。 二次方程式 a x 2 + b x + c = 0 {\displaystyle ax^{2}+bx+c=0} ( a , b , c {\displaystyle a,b,c} は実数, a ≠ 0 {\displaystyle a\neq 0} )の解 x {\displaystyle x} は、 x = − b ± D 2 a {\displaystyle x={\frac {-b\pm {\sqrt {D}}}{2a}}} と表せる。但し、 D = b 2 − 4 a c {\displaystyle D=b^{2}-4ac} 三次方程式 三次方程式 ax3 + bx2 + cx + d = 0 の代数的解法はカルダノの公式として知られるように、ω を 1 の虚立方根、D を三次方程式の判別式のこととして、Q(a, b, c, d, ω, √D) から適当な元 ξ1, ξ2 を選べば、Q(3√ξ1, 3√ξ2, ω) の中で解くことができる。 三次方程式 a x 3 + b x 2 + c x + d = 0 {\displaystyle ax^{3}+bx^{2}+cx+d=0} ( a , b , c , d {\displaystyle a,b,c,d} は実数, a ≠ 0 {\displaystyle a\neq 0} )の解 x {\displaystyle x} は、 x = { − q 2 + ( q 2 ) 2 + ( p 3 ) 3 3 + − q 2 − ( q 2 ) 2 + ( p 3 ) 3 3 − b 3 a ω − q 2 + ( q 2 ) 2 + ( p 3 ) 3 3 + ω 2 − q 2 − ( q 2 ) 2 + ( p 3 ) 3 3 − b 3 a ω 2 − q 2 + ( q 2 ) 2 + ( p 3 ) 3 3 + ω − q 2 − ( q 2 ) 2 + ( p 3 ) 3 3 − b 3 a {\displaystyle x={\begin{cases}{\sqrt[{3}]{-{q \over 2}+{\sqrt {\left({q \over 2}\right)^{2}+\left({p \over 3}\right)^{3}}}}}+{\sqrt[{3}]{-{q \over 2}-{\sqrt {\left({q \over 2}\right)^{2}+\left({p \over 3}\right)^{3}}}}}-{b \over 3a}\\\omega {\sqrt[{3}]{-{q \over 2}+{\sqrt {\left({q \over 2}\right)^{2}+\left({p \over 3}\right)^{3}}}}}+\omega ^{2}{\sqrt[{3}]{-{q \over 2}-{\sqrt {\left({q \over 2}\right)^{2}+\left({p \over 3}\right)^{3}}}}}-{b \over 3a}\\\omega ^{2}{\sqrt[{3}]{-{q \over 2}+{\sqrt {\left({q \over 2}\right)^{2}+\left({p \over 3}\right)^{3}}}}}+\omega {\sqrt[{3}]{-{q \over 2}-{\sqrt {\left({q \over 2}\right)^{2}+\left({p \over 3}\right)^{3}}}}}-{b \over 3a}\end{cases}}} と表せる。但し、 { p = − 1 3 ( b a ) 2 + c a q = 2 ( b 3 a ) 3 − b c 3 a 2 + d a ω = − 1 + 3 i 2 {\displaystyle {\begin{cases}p=-{1 \over 3}\left({b \over a}\right)^{2}+{c \over a}\\q=2\left({b \over 3a}\right)^{3}-{bc \over 3a^{2}}+{d \over a}\\\omega ={-1+{\sqrt {3}}i \over 2}\end{cases}}} 四次方程式 四次方程式 ax4 + bx3 + cx2 + dx + e = 0 の代数的解法はフェラリの解法として知られる。この解法は完全平方式を利用するもので、具体的には（2次式）2 = （1次式）2 の形に変形して解くことになるが、この変形の過程で三次方程式を解く操作が必要となる。 五次方程式 楕円モジュラー関数を用いた解の公式は複雑なため、概略にとどめる。チルンハウス変換（英語版）により、五次方程式は x5 − x − A = 0 と変形される（五次方程式の一般形）。一方、楕円関数の 5 次の変換により得られるモジュラスの 4 乗根は、モジュラー方程式と呼ばれる六次方程式となる。この方程式は、チルンハウス変換により　y5 ＋ y − B = 0 の形に変形される（B は楕円関数の種数の 4 乗根の代数的表現となる）。即ち、五次方程式の一般形とモジュラー方程式の係数同士の比較は、四次方程式となる。一方モジュラー方程式の解は、楕円関数の 2 つの周期比の指数関数を用いた無限級数（楕円モジュラー関数）で現されるため、楕円モジュラー関数により 五次方程式の公式が得られる。 超幾何級数を用いた解の公式は、クラインにより示された。概略としては、正二十面体方程式の解が超幾何級数で示されること、及び正二十面体方程式がチルンハウス変換により五次方程式の一般形に変形できることにより、導かれる。 ここでは、数値計算アルゴリズム（基本的には四則演算の無限回の組み合わせ）による解法について述べる。計算機による解法を想定しているが、現在の計算機が本来できる計算としては整数環での演算と論理演算の有限回操作であるため、厳密な意味で計算機では解く事はできない。しかし、浮動小数点数という擬似的な実数表現や複素数の実行列表現なども可能であることより、複素数体が扱えるものと見なす。また与えられた正の値の誤差範囲に収まるまでの反復回数が有限回という保証があるならば、実質無限回の操作も許されると見なす。そういう意味での、近似的な数値解法である。 数値計算アルゴリズムによる解法は、様々な手法が提案され、現在もその進化を続けている。ここでは、ベーシックな手法をいくつか記す。 ニュートン法による解法は、解の候補となる初期値を与え、その解の候補に接する直線を元の代数方程式の近似とみなし、その一次方程式を解くことにより次の解の候補を求める方法である。この操作を、解の候補が予め与えた誤差以内に収まると判定されたならば、解の候補を解の一つとみなし、減次（deflation）を行い次の方程式を求め、再びニュートン法を施す。（収束するならば）二次収束することが解っており、数値解法としては早い。但し、重根に対する収束性の悪さ、初期値によっては収束しない場合も有り得ること、複素数の場合の処理の煩わしさなどがあり、直接ニュートン法で解くという局面は少ない。 複素数の扱いということではベアストウ法という解法がある。これは、二次式の因数分解を行うという操作をコンセプトとする。 代数的数 冪根 1の冪根 求根アルゴリズム