2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[数学メモ] 高次方程式の解の公式(一般解法)

Last updated at Posted at 2017-03-28

断り書き

  • メモです
  • 一般的に高次方程式といえば三次以上のことを指すと思いますが、とりあえず二次も。

二次方程式

ax^2 + bx + c = 0 \tag{1}

二次方程式の解の公式

x = \frac{-b \pm \sqrt{ b^2 - 4ac } }{ 2a }

実装上の注意点

二次方程式の解の公式を単純に実装してしまうと、場合によっては解の精度が悪くなってしまう場合があります。

具体的には、実解があるケースで $4ac$ の絶対値が $b$ の絶対値に比べて非常に小さい場合には $b$ と $\sqrt{ b^2 - 4ac }$ の絶対値が非常に近くなり、解の片方で「桁落ち」が発生してしまいます。

桁落ち(けたおち、英: cancellation)とは、値がほぼ等しく丸め誤差を持つ数値同士の減算を行った場合、有効数字が減少すること[5][7]。絶対値がほぼ等しく符号が異なる数値どうしの加算の場合も同様。

そのため、まずは「桁落ち」の起きない解 $x_1$ を求めてから、解の関係式からもう一つの解 $x_2$ を求める方法を使います(それ以外の解法もあります)。

x_1 = \frac{-b - sign(b) \sqrt{ b^2 - 4ac } }{ 2a }

ここで $sign(b)$ は $b$ が正の場合に $1$ で、負の場合に $-1$ となる関数です($b$ がゼロの場合には「桁落ち」が起きないので、通常の解の公式を使います)。

もう一つの解 $x_2$ は、解の関係から、以下のように求めます。

x_2 = \frac{ c }{ ax_1 }

ちなみに、解の関係は以下の通り。

\begin{align}
ax^2 + bx + c &= 0\\
\Leftrightarrow x^2 + \frac{ b }{ a } x + \frac{ c }{ a } &= 0
\end{align}

この時の実数解を $x_1$ , $x_2$ とすると

\begin{align}
(x - x_1)(x - x_2) &= 0\\
x^2 + (- x_1 - x_2) x + x_1 x_2 &= 0
\end{align}

ゆえに

\begin{align}
x_1 + x_2 &= - \frac{ b }{ a }\\
x_1 x_2 &= \frac{ c }{ a }
\end{align}

三次方程式

ax^3 + bx^2 + cx + d = 0

三次方程式の解法

まず三次の係数の無い式に変形します。

\begin{align}
A &= \frac{b}{a}\\
B &= \frac{c}{a}\\
C &= \frac{d}{a}\\
\end{align}
x^3 + Ax^2 + Bx + C = 0 \tag{2}

以下のように定義した場合

\begin{align}
P &= B - \frac{A^2}{3}\\
Q &= \frac{2A^3}{27} - \frac{AB}{3} + C\\
\omega &= \frac{ -1 + i\sqrt{3} }{2}\\
M &= \sqrt[3]{ -\frac{Q}{2} + \sqrt{ \frac{Q^2}{4} + \frac{P^3}{27} } }\\
N &= \sqrt[3]{ -\frac{Q}{2} - \sqrt{ \frac{Q^2}{4} + \frac{P^3}{27} } }\\
\end{align}

3つの解 $x_0, x_1, x_2$ は

\begin{align}
x_0 &= M + N - \frac{A}{3}\\
x_1 &= \omega M + \omega^2N - \frac{A}{3}\\
x_2 &= \omega^2M + \omega N - \frac{A}{3}\\
\end{align}

つまり

x_n = \omega^n M + \omega^{3-n}N - \frac{A}{3}

となる。

三次方程式の解法のポイント

式(2)に $x = y - \frac{A}{3}$ を代入すると

y^3 + Py + Q = 0

と変形できる。
この方程式の解 $y_0, y_1, y_2$ は

\begin{align}
y_0 &= M + N\\
y_1 &= \omega M + \omega^2N\\
y_2 &= \omega^2M + \omega N\\
\end{align}

となる。
また、 $\omega ^3 = 1$ です。

三次方程式の解法の歴史

三次方程式の解の公式は、 1535 年イタリアの科学者タルターリアが発見した。 しかし、自分の発見を秘密にして、誰にも解けない難問を解く事によって 自分の才能を誇示していた(これは、この時代の風潮らしい)。

同じイタリアの数学者カルダーノは、甘言を弄してタルターリアから 三次方程式の解法を聞き出し、それを発表してしまった。
この事件がきっかけで、 「科学の発見は発見者個人に帰属するものではなく、全ての人が共有するもの」という意識、 「科学の発見の栄誉は、発見者ではなく、発表者に与えられる」というルールが つくられた、らしい(参考文献によると)。

上記の解法は、現在でも「カルダーノの解法」として知られている。

四次方程式

x^4 + Ax^3 + Bx^2 + Cx + D = 0 \tag{3}

四次方程式の解法

式(3)を変形する。

(x^2 + \frac{A}{2}x + \lambda)^2 - \Bigl( x^2(\frac{A^2}{4} + 2\lambda - B) + x(A\lambda - C) + \lambda^2 - D \Bigr) = 0  \tag{3-1}

この式は、カッコを展開すると $\lambda$ が消え、先ほどの式と同じになる。
そのため、 $\lambda$ はどんな値であっても問題無い。

そこで

(A\lambda - C)^2 = (\lambda^2 - D)(A^2 + 8\lambda - 4B) \tag{3-2}

を満たす $\lambda$ を選ぶことにする。
この式は $\lambda$ の三次方程式になっているので、三次方程式の解の公式(一般解法)で解く事が出来る。
$\lambda$ が式(3-2) を満たすならば、式(3-1) の後半は完全平方式となり、 $\alpha, \beta$ を以下のようにおけば

\begin{align}
\alpha^2 &= (\frac{A^2}{4} + 2\lambda - B)\\
2\alpha\beta &= (A\lambda - C)\\
\beta^2 &= \lambda^2 - D\\
\end{align}

つまり

(\alpha x + \beta)^2 = \alpha^2 x^2 + 2\alpha\beta x + \beta^2

となり、式(3-1) は

(x^2 + \frac{A}{2}x + \lambda)^2 - (\alpha x + \beta)^2 = 0\\
\Leftrightarrow \quad (x^2 + \frac{A}{2}x + \lambda)^2 = (\alpha x + \beta)^2\\

と変形できる。 これは

\begin{align}
x^2 + \frac{A}{2}x + \lambda &= \alpha x + \beta\\
x^2 + \frac{A}{2}x + \lambda &= - ( \alpha x + \beta)
\end{align}

の、2つの二次方程式と同じ事になる。

四次方程式の解法の歴史

イタリアの数学者カルダーノは 1545 年、4次方程式の一般解法を完成させた。
ちなみに上の解法は、カルダーノの解法では無いようだ。 また、他にも何通りかの解法が存在する。

五次方程式の解法

ノルウェーの数学者アーベルが 1824 年、 五次以上の高次方程式の解の公式は存在しない事を証明した。

参考文献

  • 「共立 数学公式」共立出版
  • 「アイザック・アシモフの科学と発見の年表」丸善株式会社
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?