n次方程式の判別式を出す

 一変数のn次関数f=0として、xについての重根の判別式Dを導こう。
二次方程式の判別式Dはご承知のように

  D=b^2-4 a c
となる。このDをn次方程式で出来るところまで出すのが目標だ。
 というのも先ごろ、京大が16次方程式の判別式をコンピュータで出力できたとニュースがあったからだ。膨大な量の項数からなる式であり、ギネスものらしい。
  →http://journal.mycom.co.jp/news/2011/06/28/003/index.html


 方法は代数学の教科書にある通りで、終結式の行列を使うだけだ。
三次方程式fから出発しよう。一階微分f'と並べて重根を想定してやれば良い。a[i]は係数である。
f(x)=a[3] x^3 + a[2] x^2 + a[1] x + a[0]=0
f'(x)= 3 a[3] x^2+ 2 a[2] x +a[1] =0
終結式=判別式は以下の行列式を計算することに等価である。


答えはこうだ。

 -a[1]^2 a[2]^2 + 4 a[1]^3 a[3] - 18 a[0] a[1] a[2] a[3] + a[0] (4 a[2]^3 + 27 a[0] a[3]^2)

これでは、合っているかどうかも分からないままである。

 しかし、よく知られている「x^3 + c x + d == 0」の三次方程式の解を参照しよう。

この平方根の中身と同じことはすぐ証明できる。各自、下記の置換えを試みられよ。
 a[3]=1、 a[2]=0 、a[1]= c、a[0] = d

次は四次方程式である。
終結式の行列から表示する。

この判別式はこうなる。いやあ、複雑でスイマセンねえ。

 -27 a[1]^4 a[4]^2 + a[1]^3 (-4 a[3]^3 + 18 a[2] a[3] a[4]) - 2 a[0] a[1] a[3] (-9 a[2] a[3]^2 + 40 a[2]^2 a[4] + 96 a[0] a[4]^2) + a[1]^2 (a[2]^2 a[3]^2 - 4 a[2]^3 a[4] - 6 a[0] a[3]^2 a[4] + 144 a[0] a[2] a[4]^2) + a[0] (-4 a[2]^3 a[3]^2 + 16 a[2]^4 a[4] + 144 a[0] a[2] a[3]^2 a[4] - 128 a[0] a[2]^2 a[4]^2 + a[0] (-27 a[3]^4 + 256 a[0] a[4]^3) )


お詫びのしるしの、これもよく知られた「x^4 + c x + d == 0」に対応させてみましょう。

  -27 c^4 + 256 d^3



同様に6次方程式である。係数はa[i]からc[i]となる。

8次方程式ではこうなる。

 その判別式は7867項からなる七めんどくさい式である。
このあたりになると計算機も疲労困憊してくるので判別式の陽な姿は出さないでおこう。


代数学講義 改訂新版

代数学講義 改訂新版

 以上はMathematicaで実施した。3時間あれば実装できました。