RPGツクールと数学のブログ

RPGツクールと数学についてのブログです。

四次方程式の解の公式をシンプルに書く

二次方程式の解の公式は学校で習いますが、世の中には四次方程式まで解の公式があります。不思議なことに、五次以上には解の公式がない*1のですが……

では、なぜ三次方程式と四次方程式にも解の公式があるのに習わないのかといえば、めっちゃ複雑でかつ使えないからです。覚えたところで、それに当てはめて計算するメリットも特になく、ただ単にそう書き表せる、といっただけのものということになります。

複雑なのが問題だと思うので、今回は抽象進数を使ったシンプルな解の公式を記載します。

抽象進数

抽象進数は私が考えた数の表現ですが、多項式環と進数の位取りを混ぜたようなものです。例えば、次のように表します。

 1:2:3

いくつかの数を並べて、間を「:」で繋ぎます。比じゃないですよ! これはベクトルのように、一つの数を表したものです。これに対し、次のような代入計算を定義します。

  (1:2:3)|5=1\times 5^{2}+2\times 5+3=38

これは、次のような多項式 x=5を代入するのと同じです。

 1x^{2}+2x+3=1\times 5^{2}+2\times 5+3=38

このような代入操作を行うだけなら xとか yといった文字がなくても表現できるので、いっそ文字を全部省いて係数のみを羅列したものを数として扱うようにしました。これが抽象進数です。抽象進数は体をなすので、一般的な数と同様な扱いが可能です。

これを使えば、例えば 1x^{2}+2x+3 x=4y+5を代入し、さらにy=6とする、といった操作も、次のようにシンプルに書くことができます。

 (1:2:3)|(4:5)|6=(1:2:3)|(4\times6+5)
 =(1:2:3)|29=1\times29^{2}+2\times29+3=902

 名前に進数と付けたように、10進数などのような進数にも似ています。 (1:2:3)|10とあれば、これは 123を表します。多項式自体がそんなような形になっているわけですけど……

また、通常の進数のように小数部分も考えることができます。

 (1:2:3;4:5:6)|10=1\times10^{2}+2\times10+3+\frac{4}{10}+\frac{5}{10^{2}}+\frac{6}{10^{3}}=123.456

整数部分と小数部分との間は「;」で区切ります。

数として扱うというより、今回はこういった記号によって代入計算の簡潔化をはかります。実際 四次方程式はとても複雑に見えますが、これは代入計算が非常に多いためであって、代入を簡略化して書けばそんなに複雑ではなかったりします。

解の公式

それでは抽象進数を使って各々の解の公式を記載していきます。

n乗根

まず、普通の何か数 pに対する n乗根を、 r_{n}(p, k)と表します。 kは任意の整数とし、 k番目 (0, 1, 2, \cdots)の根が得られる関数です。

例えば、 4平方根 \pm2なので、

 r_{2}(4, 0)=2
 r_{2}(4, 1)=-2

となります。

一次方程式の解の公式

一次方程式 ax+b=0の解は x=-\frac{b}{a}なので、これを抽象進数を使って次のように書きます。

 \displaystyle r(a:b, k)=-\frac{b}{a}

一次方程式は解が一つだけなので、整数 kにはよらない一意な値となりますね。

二次方程式の解の公式

 \displaystyle r(a:b:c, k)=\frac{-b+(-1)^{k} \sqrt{b^{2}-4ac}}{2a}

これも単に二次方程式の解の公式をそのまま書いただけです。

三次方程式の解の公式

 \displaystyle A = \left.\left(1:\frac{b}{a}:\frac{c}{a}:\frac{d}{a}\right)\right|\left(1:-\frac{b}{3a}\right)

 \displaystyle \alpha_n = r\left(1:A_{0}:-\left(\frac{A_{1}}{3}\right)^{3}, n \right)

として、

 \displaystyle r(a:b:c:d, k)=r_{3}(\alpha_{0},k)+r_{3}(\alpha_{1},3-k)-\frac{b}{3a}

となります。カルダノの公式です。途中で二次方程式の解の公式を使っているため、そのまま書けば、そりゃあ長くなります。

四次方程式の解の公式

 \displaystyle A=\left.\left( 1:\frac{b}{a}:\frac{c}{a}:\frac{d}{a}:\frac{e}{a}\right)\right|\left(1:-\frac{b}{4a}\right)

 \displaystyle s=r(1:2A_{2}:A^{2}_{2}-4A_{0}:-A_{1}^2,0)

として、

 \displaystyle r(a:b:c:d:e, k)=r\left( 1:r_{2}(s, k):\frac{A_{2}+s}{2}-\frac{A_{1}}{2r_{2}(s, k)}, \left\lfloor \frac{k}{2} \right\rfloor \right)-\frac{b}{4a}

となります。フェラリの方法です。実はこれでも本物の四次方程式の解の公式と比べれば、ずっとすっきりしてますよたぶん^^;

 

また、なんとなく実は次のような形をしていることがわかります。

一次方程式  \displaystyle r(a:b,k)=-\frac{b}{a}

二次方程式  \displaystyle r(a:b:c,k)=(\cdots)-\frac{b}{2a}

三次方程式  \displaystyle r(a:b:c:d,k)=(\cdots)-\frac{b}{3a}

四次方程式  \displaystyle r(a:b:c:d:e,k)=(\cdots)-\frac{b}{4a}

似た部分があったんですね。あんまり本質と関係ない気もしますが……

*1:厳密には代数的解法(四則演算、ルートを有限回使う方法)の公式がないだけで、おかしな手法を使えば解けますし、近似解ならいくらでも求まります