方程式計算機

1〜4次方程式の解き方を途中式付きで表示

該当する項がない場合は、その欄に 0 を入力してください。Enter で次の欄へ移動します。 分数(1/2)、小数(0.5)、負の数(-3)はそのまま正確に、 無理数 √5、2√3、√(2)/2、∛2、π は数値で計算します。

方程式計算機について

このツールが解くのは1次から4次までの多項式方程式です。係数には整数・分数・小数のほか、√・∛・π・e を含む式(2√5、π−1 など)も入れられます。係数が正確な有理数として読めれば、解も √2 や (−3 + √17)/4 のような閉じた形で表示し、そう書けない解は小数6桁の近似値になります。複素数解も省略しないので、n次方程式では重解を含めて必ず n 個の解が並びます。

解法は方程式ごとに選びます。2次で判別式が平方数なら因数分解、そうでなければ解の公式と平方完成。3次は有理根があれば組立除法、有理根がなく3つの実数解を持つなら三角関数による置換、4次は複二次式の置換・組立除法・フェラーリの解法、どれもきれいにいかなければデュラン–ケルナー法で4つの解を同時に近似します。一番上の解法がその方程式に最も合った方法です。

4次で止まる理由:アーベル–ルフィニの定理

2次には解の公式、3次にはカルダノの公式、4次にはフェラーリの解法があり、係数の四則演算と累乗根だけで解を書けます。5次以上ではそのような一般の公式が存在しないことが証明されています。ルフィニが1799年に不完全な証明を出し、アーベルが1824年に完全な証明を発表しました。

「まだ見つかっていない」のではなく「ありえない」という定理です。x⁵ − x − 1 = 0 の実数解(約1.1673)は累乗根では書けず、数値計算で近似するしかありません。このツールは5次以上を受け付けないので、x⁶ − 5x³ + 4 = 0 のように t = x³ と置けば2次になる場合は、先に置換してから入力してください。

コンピュータで解の公式が狂うとき

x² + 100,000,000x + 1 = 0 の解はおよそ −100,000,000 と −0.00000001 です。小さい方を (−b + √(b² − 4ac)) ÷ 2a で計算すると、ほぼ等しい −10⁸ と √(10¹⁶ − 4) の引き算になります。倍精度浮動小数点の有効桁は約16桁なので、引き算で上の桁が消え、丸め誤差だけが残ります。これを桁落ち(catastrophic cancellation)と呼びます。実際に倍精度で計算すると −0.00000001 ではなく約 −0.00000000745 となり、25%もずれます。

対策はよく知られていて、このツールもその方法を使います。符号が打ち消し合わない側で大きい解 x₁ = (−b − √D) ÷ 2a を先に求め(b が負なら +√D の側)、小さい解は解と係数の関係 x₂ = c ÷ (a·x₁) で出すので、ほぼ等しい数どうしの引き算が起きません。1、100000000、1 を入れると小さい解は −1e-8(−1×10⁻⁸)と有効数字16桁まで正しく出ます。小数6桁で丸めると 0 になってしまう小さい解は指数表記で表示します。3次・4次で有理数解により次数を下げた後の2次式や、カルダノの公式の立方根の中身でも、同じ考え方で符号を選んで桁落ちを避けています。

逆に、判別式が0に近い(重解に近い)場合はツール側で対策しています。b² と 4ac の大きさに比例した許容誤差で符号を判定するので、10⁶(x − √5)² のように判別式が 0.0078 と計算されても重解と判定します。

実数解が3つなのに虚数が出てくる3次方程式

x³ − 3x + 1 = 0 の解は3つとも実数(約1.532、0.347、−1.879)ですが、カルダノの公式に入れると立方根の中に負の数の平方根が現れます。16世紀の数学者が「還元不能(casus irreducibilis)」と呼んだ場合で、実数の累乗根だけでは書けないことが証明されています。虚数が真剣に扱われるようになったきっかけがこの問題でした。

この場合、ツールは x = 2cos θ の形の三角関数置換を最初に示します。3倍角の公式 cos 3θ = 4cos³θ − 3cos θ が3次式と同じ形をしているので、虚数を経由せずに3つの実数解が得られます。

解が小数でしか出ないときの確認点

  • 係数は 0.333 ではなく 1/3 と入れる。分数は正確な有理数として読まれ、有理根の定理や閉じた形が使えます。
  • 4次で「デュラン–ケルナー法」が最初に出たら、有理根がなく、複二次式でも相反式でもないという意味です。
  • 最高次の係数を0にすると次数が自動で下がります。すべて0なら恒等式、定数だけ残れば解なしです。
  • グラフで x 軸と交わる点の数が実数解の数、接する点は重解です。

例

因数分解できる2次

入力
1, −5, 6
結果
x = 3, 2(因数分解)

判別式1が平方数なので (x − 2)(x − 3) = 0。

無理数解を閉じた形で

入力
2, 3, −1
結果
x = (−3 ± √17)/4

判別式17が平方数でないため解の公式が最初に出ます。

桁落ち

入力
1, 100000000, 1
結果
x = −1e-8, −100000000

小さい解は c ÷ (a·x₁) = 1 ÷ (−10⁸) で求めるので、桁落ちなしに −1×10⁻⁸ になります。教科書どおりの公式だと約 −7.45×10⁻⁹ です。

還元不能の3次

入力
1, 0, −3, 1
結果
x ≈ 1.532089, −1.879385, 0.347296

三角関数置換が最初、カルダノの公式が別解として付きます。

数値解法が必要な4次

入力
1, 0, 0, 1, −1
結果
x ≈ 0.724492, −1.220744, 0.248126 ± 1.033982i

実数解2つと共役複素数解2つ。デュラン–ケルナー法の近似値です。

使い方

  1. 次数を選び、最高次から定数項まで係数を入れます。ない項は0です。
  2. 1/3 のような分数や √、π を含む式もそのまま入力できます。
  3. 解の一覧、おすすめの解法と別解、グラフが表示されます。

よくある質問

5次方程式はなぜ解けないのですか?

5次以上には累乗根による一般の解の公式がないことが証明されています(アーベル–ルフィニの定理)。数値計算で近似する必要があり、このツールは4次までです。

虚数解も出ますか?

はい。a ± bi の共役複素数解を表示し、実数解と複素数解の個数を分けて示します。

小数ではなく正確な値を知りたい

係数を分数や √ で正確に入れれば、可能な場合は √2/2 のような閉じた形で表示します。

係数の差が大きい方程式の小さい解は信用できますか

はい。解の公式をそのまま使うと桁落ちで小さい解がずれますが、このツールは大きい解を先に求め、小さい解 = c ÷ (a × 大きい解) で計算します。ごく小さい解は −1e-8 のように指数表記で表示します。

出典

基準日:

プライバシーとデータの扱い