雑学

3次方程式の解の公式の見付け方


 ax3 + bx2 + cx + d = 0

2乗の項を消すために変形すると、

  x3                                                      + (b/a)x2 + (c/a)x + d/a = 0
 (x + b/(3a))3 -  3x2b/(3a)   -  3xb2/(9a2)   - b3/(27a3) + (b/a)x2 + (c/a)x + d/a = 0
 (x + b/(3a))3 - (   b/  a)x2 - (  b2/(3a2))x - b3/(27a3) + (b/a)x2 + (c/a)x + d/a = 0
 (x + b/(3a))3                - (  b2/(3a2))x - b3/(27a3)           + (c/a)x + d/a = 0
 (x + b/(3a))3 + ((3ac - b2)/(3a2)) x                               + (27a2d - b3)/(27a3) = 0
 (x + b/(3a))3 + ((3ac - b2)/(3a2))(x + b/(3a)) - (3abc - b3)/(9a3) + (27a2d - b3)/(27a3) = 0
 (x + b/(3a))3 + ((3ac - b2)/(3a2))(x + b/(3a)) + (27a2d - 9abc + 2b3)/(27a3) = 0

x + b/(3a) を y とおくと、

 y3 + ((3ac - b2)/(3a2))y + (27a2d - 9abc + 2b3)/(27a3) = 0

2乗の項が消えた。
見やすくするために、(3ac - b2)/(3a2) を p、(27a2d - 9abc + 2b3)/(27a3) を q と記述すると、

 y3 + py + q = 0

y = u + v とおき、以下の式を満たすような u と v の対をすべて求める。

 (u + v)3 + p(u + v) + q = 0

変形すると、

  u3 + 3u2v + 3uv2 + v3 + p(u + v) + q = 0
  u3 + 3uv(u + v)  + v3 + p(u + v) + q = 0
 (u3 + v3 + q)  + (3uv + p)(u + v)     = 0 ‥‥‥ (A)

要するに、(A)を満たすような u と v の対をすべて求める。

そこで、まず、以下の式を満たすような u と v の対をすべて求め、
次に、すべての対について u + v を計算して列挙すると3パターンあることを確かめる。
(以下の式を満たすものをすべて挙げたというだけでは(A)を満たすものがすべて見付かったとは言い切れないので
 (以下の式を満たさなくても(A)を満たすものがあり得るので)、3パターンあることを確かめる必要がある。)
(なぜ3パターンだけでいいかというと、3次方程式の解は3つしかないから。)

 u3 + v3 + q = 0 かつ 3uv + p = 0

整理すると、

 u3 + v3 = - q かつ uv = - p/3  ‥‥‥ (B)

要するに、まず、(B)を満たすような u と v の対をすべて求め、
次に、すべての対について u + v を計算して列挙すると3パターンあることを確かめる。

そのためには、
まず、以下の式を満たすような u と v の対をすべて求めてそれらの中から(B)も満たすものだけを採用し、
次に、採用したすべての対について u + v を計算して列挙すると3パターンあることを確かめればよい。

 v3 + u3 = - q かつ (uv)3 = (- p/3)3

整理すると、

 v3 = - u3 - q かつ u3v3 = - (p/3)3 ‥‥‥ (C)

要するに、
まず、(C)を満たすような u と v の対をすべて求めてそれらの中から(B)も満たすものだけを採用し、
次に、採用したすべての対について u + v を計算して列挙すると3パターンあることを確かめればよい。

そこで、(C)を満たすような u を求め、各 u に対して(B)を満たすような v を求める。

v3 = - u3 - q を u3v3 = - (p/3)3 に代入すると、

  u3(- u3 - q)          =             - (p/3)3
  u3(  u3 + q)          =               (p/3)3
 (u3)2 + q(u3)          =               (p/3)3
 (u3)2 + q(u3) + (q/2)2 =      (q/2)2 + (p/3)3
 (u3 + q/2)2            =      (q/2)2 + (p/3)3
  u3 + q/2              = ±√((q/2)2 + (p/3)3)
 u3 = - q/2 + √((q/2)2 + (p/3)3) または u3 = - q/2 - √((q/2)2 + (p/3)3)

見やすくするために、- q/2 + √((q/2)2 + (p/3)3) を s、- q/2 - √((q/2)2 + (p/3)3) を t と記述すると、

 u3 = s または u3 = t

一般に、z3 = r を満たすような z すなわち r の立方根は3つあり、それらの間には下図の関係が成り立つ。

         ×ω
    立方根 ―――→ 立方根
     ↑        |
     |        |
      ―― 立方根 ←―
     ×ω      ×ω

   ただし、ω = (- 1 + i√3)/2

どれでもいいからどれか1つを z0 と記述すると、立方根は z0, z0ω, z0ω2 の3つである。

s の立方根のどれか1つを f、t の立方根のどれか1つを g と記述すると、
(C)を満たすような u は以下の6つである。

 f, fω, fω2, g, gω, gω2

ここで、以下の点に着目する。

 (fg)3 = f3g3 = st
     = (- q/2 + √((q/2)2 + (p/3)3))(- q/2 - √((q/2)2 + (p/3)3))
     = (q/2)2 - ((q/2)2 + (p/3)3) = - (p/3)3 = (- p/3)3
 fg = (- p/3)ωn
 - p/3 = fgω-n
 ただし、n は 0, 1, 2 の中のどれなのかはわからないが、どれか特定の値。
     n がどの値になるかは、立方根のどれを f や g と記述したのかに依存する。

この点を踏まえて、各 u に対して uv = - p/3 すなわち v = (- p/3)/u を満たすような v を求めると、

 u = f   のとき v = (- p/3)/ f   = fgω-n/ f    = gω-n
 u = fω のとき v = (- p/3)/(fω ) = fgω-n/(fω)  = gω-n/ω
 u = fω2 のとき v = (- p/3)/(fω2) = fgω-n/(fω2) = gω-n2
 u = g   のとき v = (- p/3)/ g   = fgω-n/ g    = fω-n
 u = gω のとき v = (- p/3)/(gω ) = fgω-n/(gω)  = fω-n/ω
 u = gω2 のとき v = (- p/3)/(gω2) = fgω-n/(gω2) = fω-n2

これらの u と v の対は(C)を満たすので、u3 + v3 = - q を満たすのは自明である。
よって、(B)を満たすような u と v の対は、これらの6つである。
よって、(A)を満たすような u と v の対は、最低でも6つある。
この結果から、y3 + py + q = 0 を満たすような y すなわち u + v が、最低でも6パターンある
かのように見える。

ところが、gω-n を h と記述すると、(A)を満たすような u と v の対は、

 u = f     のとき v = gω-n     = h
 u = fω   のとき v = gω-n  = h/ω
 u = fω2   のとき v = gω-n2 = h/ω2
 u = hωn   のとき v = fω-n     = f/ωn   ‥‥ (ア)
 u = hωn+1 のとき v = fω-n  = f/ωn+1 ‥‥ (イ)
 u = hωn+2 のとき v = fω-n2 = f/ωn+2 ‥‥ (ウ)

であるが、n は 0, 1, 2 の中のどれかなので、場合分けして(さらに ω3 = 1 という関係を利用して)、
n = 0 のときは ωn = 1  、ωn+1 = ω  、ωn+2 = ω2 であることに着目して (ア)(イ)(ウ) の順のままにし、
n = 1 のときは ωn = ω  、ωn+1 = ω2 、ωn+2 = 1  であることに着目して (ウ)(ア)(イ) の順に並べ替え、
n = 2 のときは ωn = ω2 、ωn+1 = 1  、ωn+2 = ω  であることに着目して (イ)(ウ)(ア) の順に並べ替えると、

n がどの値であっても、つまり、立方根のどれを f や g と記述したとしても、
結果は同じになり、以下のようになる。

 u = f   のとき v = h      = h
 u = fω のとき v = h/ω   = hω2
 u = fω2 のとき v = h/ω2  = hω
 u = h   のとき v = f      = f
 u = hω のとき v = f/ω   = fω2
 u = hω2 のとき v = f/ω2  = fω

よって、y3 + py + q = 0 を満たすような y すなわち u + v は以下の6つになる。
(立方根のどれを f や g と記述したとしてもそうなる。)

 f + h ,  fω + hω2 ,  fω2 + hω ,  h + f ,  hω + fω2 ,  hω2 + fω

ところが、これらの中の
1つ目と4つ目は同じ値、2つ目と6つ目は同じ値、3つ目と5つ目は同じ値なので、
実際には以下の3パターンしかない。

 f + h ,  fω + hω2 ,  fω2 + hω

- p/3 = fgω-n であり、また gω-n を h と記述したことから、
- p/3 = fh すなわち h = - p/(3f) であることがわかるので、以下のように書ける。

 f - p/(3f) ,  fω - (p/(3f))ω2 ,  fω2 - (p/(3f))ω

3次方程式の解は全部で3つなので、y3 + py + q = 0 を満たすような y は、これですべてである。

x + b/(3a) を y とおいたことから、x = y - b/(3a) であることがわかるので、
ax3 + bx2 + cx + d = 0 の解は、以下の3つである。

 - b/(3a) + f - p/(3f) ,  - b/(3a) + fω - (p/(3f))ω2 ,  - b/(3a) + fω2 - (p/(3f))ω

したがって、ax3 + bx2 + cx + d = 0 の解の公式は、以下のようになる。

 - b/(3a) + f - p/(3f) ,  - b/(3a) + fω - (p/(3f))ω2 ,  - b/(3a) + fω2 - (p/(3f))ω

 だたし、f は - q/2 + √((q/2)2 + (p/3)3) の立方根のどれか1つ
     p = (3ac - b2)/(3a2)
     q = (27a2d - 9abc + 2b3)/(27a3)


仮想世界 - シューティング/レース/電車ゲーム フライトシミュレータ