高次方程式の解の近似計算              戻る

 代数学の基本定理によれば、n次方程式は、n個の解をもつ。特に、3次方程式は、3次
関数のグラフの特徴から、3つの解のうち、少なくとも1つは実数解である。

 その実数解の1つが有理数解であるとき、3次式は容易に因数分解され、2次方程式の
解の公式を用いて3次方程式の3つの解は完全に記述される。

 問題は、実数解が有理数解でないときである。この場合は、方程式の解を完全に記述す
るのは困難で、近似解を求めることになる。

 最近のグラフ描画ソフトを使えば、解の小数第1位ぐらいまでだったら正しく読み取ること
ができる。

 このページでは、その近似解を手計算で求める方法について紹介する。

例 3次方程式 X3+2X−5=0 の実数解を求めよ。

グラフ    F(X)=X3+2X−5 とおくと、

   F(X) は連続で、F(1)=−2<0、F(2)=7>0

    よって、中間値の定理により、方程式 F(X)=0 は、
   1 と 2 の間に実数解をもつ。


    この実数解の近似値を求める方法として、古くから
   次のような Newton の方法が学校教育で教えられ
   ている。


 Newton の方法

  第2次導関数 F”(X) が F(X) と同符号のとき、
  は、X より詳しい近似値を与える。
   この X と真の解 α との差は次のように評価される。

         

  ただし、M、K は、αの近くで、

       0<K≦|F’(X)| 、|F”(X)|≦M

  を満たす定数である。

 上記例において、

    F”(X)=3X2+2>0 、 F(2)=7>0 なので、 X=2 として、X を求めれば、

  X=1.5 である。(この値は、2より解に近い。)

  今度は、 X=1.5 として、この計算を繰り返すと、 X≒1.3428・・・ となり、さ

  らに真の値に近くなる。 (1.3・・・位までは、上図のグラフからも読み取れる。)

  (因みに、この方程式の実数解の正しい値(近似値)は、1.328・・・ 。


 このページのタイトルから外れるかも知れないが、方程式が多項式でない場合について
も、ここで考察しておこう。

例 方程式 e = x2 を解け。(平成18年11月3日・HN「虫さされかゆみ・しっしんに」さんより出題


    グラフ描画ソフトを用いて、グラフを
   書かせてみた。

    交点は1つで、その x 座標は、だい
   たい−0.70くらいであることが読み
   取れる。

    このことを計算で確かめてみよう。





(解) F(x)=e − x2 とおくと、 F(x) は連続で微分可能ある。

   F’(x)=e − 2x で、さらに、 F”(x)=e − 2 、F”’(x)=e  である。

   F”’(x)>0 より、 F”(x) は単調に増加し、 F”(log2)=2 − 2=0

   よって、 x<log2 のとき、 F”(x)<0 より、F’(x) は単調に減少する。

         x>log2 のとき、 F”(x)>0 より、F’(x) は単調に増加する。

   ここで、 F’(log2)=2−2log2=2log(e/2)>0 なので、

   すべての x に対して、 F’(x)>0 となり、F(x) は単調に増加する。

   F(−1)=e-1 − 1<0 、F(0)=1>0 なので、中間値の定理により、

   方程式 F(X)=0 は、 −1 と 0 の間にただひとつの実数解をもつ。

   −1<x<0 において、 F”(x)<0 なので、Newton の方法における X として、

   X=−1 とおく。このとき、Newton の方法により、

    X=−1−F(−1)/F’(−1)=−1+(1−e-1)/(e-1+2)=−(2+e)/(1+2e)

   ここで、 ネイピアの数 e ≒ 2.7182818284 として、 X の値を求めると、

    X = −0.733043605249721

   となる。 また、 −1≦x≦0 において、

         F’(x)≧F’(0)=1 、 |F”(x)|≦|F”(−1)|=2−e-1

   なので、 K=1 、 M=2−e-1 として、誤差を計算すると、次の値より小さい。

      

   まだ、誤差が大きいので、さらなる計算が必要である。

   上記と同様にして、今度は、 X=−0.733043605249721 とする。

   このとき、

    X=X−F(X)/F’(X)=X−(e1 − x12)/(e1 − 2x1)

   に代入して、

        X=−0.703807786328276

   を得る。このときの誤差は、上記と同様に計算して、 0.002 くらいの幅である。

   このようにして得られる X は、限りなく真の解に近づくことが知られているので、真の

  解が、ほぼ「 −0.70 」くらいであることは、ほぼ確実である。 (終)

  (コメント) 上記の小数計算は、表計算ソフト Excel を利用した。当HPがいつもお世話
        になっている、らすかるさんは、精度1200桁の自作電卓で計算されたとのこ
        とで、もっと詳しい値を出力された。
         初期値を、−1 として、
             -1
             -0.7330436052454454101901278
             -0.7038077863241329872803886
             -0.7034674683317975063564335
             -0.7034674224983924833237669
             -0.7034674224983916520498186
             -0.7034674224983916520498186

        ( e の x 乗の計算は、テイラー展開の式を使って求めたそうです。)

        らすかるさんの計算結果を見ると、真の解は、

           −0.7034674224983916520498186・・・

        のようですね!


  (追記) S(H)さんが、考察されました。(平成26年11月1日付け)

   (計算結果) -0.7034674224983916520498186018599021303429284310342236080932
          87692219921221440677421793664607664383138547538613397017723816
          0717063399557728646718168154693644676114444089404

  とのことです。


 このNewton の方法は、いくつか問題点がある。

   問題点1. この計算を何回続ければよいのか?

   問題点2. 小数を含む計算なので、電卓なしでは大変である!

 理論的には優れてはいるものの、このような近似計算を電卓に頼らずに手計算で行うこ
とは、非常に厳しいものがある。

 そこで、次に述べる Horner の方法が手計算の場合有効となる。

いくつか予備知識を確認しよう。

組立除法(Synthetic division)・・・ これは、整式を1次式で割り算したときに、商と余り
                        を簡単に求める方法である。

  説明を簡単にするために、3次式 F(X)=aX3+bX2+cX+d の場合を考える。
 F(X) を、1次式 X−α で割った商を、pX2+qX+r とし、余りを、R とする。
  このとき、
             F(X)=(X−α)(pX2+qX+r)+R

 と書ける。この式を展開して、

             F(X)=pX3+(q-αp)X2+(r−αq)X−αr+R

 なので、もとの式と係数比較して、

             a=p、b=q-αp、c=r−αq、d=−αr+R
 すなわち、
             p=a、q=b+αp、r=c+αq、R=d+αr

 この関係を図式化すれば次のようになる。

            

練習 次の割り算を計算し、商と余りを求めよ。(実際の求め方は、こちらを参照)
 (1) (X3+2X−5)÷(X−1)
 (2) (2X3+3X2+4)÷(2X−1)
                              (答) (1)商は、X2+X+3、余りは、−2
                                  (2)商は、X2+2X+1、余りは、5

方程式の変換・・・ これは、所要の条件を満たすように方程式を書き換える方法である。

定理(解より一定数を減ずる)

   F(X)=0 の解を、α、β、γ とする。このとき、
    α−p、β−p、γ−p を解とする方程式は、F(X+p)=0


(証) Y=F(X) のグラフを、X軸方向に、−p だけ平行移動すればよい。

 3次式 F(X)=aX3+bX2+cX+d に対して、F(X+p)=sX3+tX2+uX+v は次のようにし
て求められる。
 F(X+p) の X に X−p を代入して、F(X)=s(X−p)3+t(X−p)2+u(X−p)+v となる。
この式により、s、t、u、v は、次のように定められる。
   v ・・・ F(X) を X−p で割った余り
   u ・・・ 上記の商を X−p で割った余り
   t  ・・・ 上記の商を X−p で割った余り
   s ・・・ 上記の計算で、 X−p で割った商

例 3次方程式 X3−6X2+11X−6=0 の解から、2 を減じた解をもつ 3次方程式を作れ。

 3次方程式を解けば、X=1、2、3 なので、それらから 2 を減じると、−1、0、1 となる。
よって、求める方程式は、X(X−1)(X+1)=X3−X より、X3−X=0 となる。

 3つの解がわかれば、上記のように簡単に解かれる。しかし、3つの解が具体的にわから
ない場合、上記のような計算は無力となる。そこで、先の定理が日の目をみることになる。

 上記の例の問題は、一般的に次のように解かれる。

組立除法   左図の組立除法の計算から、
  求める方程式は、
    X3−X=0
  となる。

   この解法の優れている点は、計算が解に依存していない所であ
  る。したがって、解が具体的にわからなくても、所要の方程式を確
  実に求めることができる。





上記定理の応用として、次の事実はよく知られている。

3次方程式 aX3+bX2+cX+d=0 は、必ず、aX3+pX+q=0 の形に変換できる。

(証) もとの方程式の解に、b/3a を加えた解をもつ方程式を作ればよい。


   左図の組立除法の計算から、
  求める方程式は、
    aX3+pX+q=0
  となる。

  (→ 参考:「チルンハウス変換」)






例 3次方程式 X3+9X2+33X+52=0 を解け。

 もとの方程式の解に、b/3a=3 を加えた解をもつ方程式は、X3+6X+7=0
 この式は、(X+1)(X2−X+7)=0 と因数分解されるから、直ちに解は求められる。

(参考:Cardano の解法  3次方程式 3+3pX+q=0 において、
                ab=−p、a3+b3=−q を満たす a、b は、
                2次方程式 X2+qX−p3=0 の解の3乗根である。
                この a、b を用いて、3次方程式の解の一つ a+b 
が求めら
                れる。 → 「方程式論」を参照)

 上の定理と同様にして、以下の定理が成り立つ。

定理(解に一定数を乗ずる)

   F(X)=0 の解を、α、β、γ とする。このとき、
    kα、kβ、kγ を解とする方程式は、F(X/k)=0


例 3次方程式 X3−6X2+11X−6=0 の解を 2倍した解をもつ方程式を作れ。

   (X/2)3−6(X/2)2+11(X/2)−6=0 より、X3−12X2+44X−48=0

定理(解の逆数をとる)

   F(X)=0 の解を、α、β、γ とする。このとき、
    1/α、1/β、1/γ を解とする方程式は、F(1/X)=0


例 3次方程式 X3−6X2+11X−6=0 の解の逆数を解にもつ方程式を作れ。

   (1/X)3−6(1/X)2+11(1/X)−6=0 より、6X3−11X2+6X−1=0

定理 
  実数係数の方程式において、虚数 α+βi (β≠0)が解ならば、その共役 α−βi も解


 この定理により、虚数解は必ず偶数個あり、したがって、奇数次の方程式は必ず実数解
をもつことが分かる。

定理 方程式 F(X)=0 において、
    F(a)・F(b)>0 ならば、a<X<b の範囲に、偶数個(0も含む)の実数解をもつ
    F(a)・F(b)<0 ならば、a<X<b の範囲に、奇数個の実数解をもつ


定理 十分大きい|X|に対して、aX3+bX2+cX+d と aX3 は同符号である。

 実数解が存在する区間を定めることを、実数解を分離するという。(→参考:「解の分離」)

例 3次方程式 3X3−6X−1=0 の実数解を分離せよ。

 F(X)=3X3−6X−1とおくと、F(−∞)<0、F(0)<0、F(∞)>0 だから、上記定理により、

負の解は、0 または 2個、正の解は、1 または 3個もつことが直ぐ分かる。

 さらに、F(X)=3X(X2−2)−1 より、

  X≦−2 のとき、F(X)<0 、 X≧2 のとき、F(X)>0

なので、−2 より小、2より大の実数解は存在しない。

 また、 F(−2)<0、F(−1)>0、F(0)<0、F(1)<0、F(2)>0 なので、

したがって、3次方程式は、−2と−1の間、−1と 0 の間、1 と 2 の間に実数解をもつ。


 上記例からも分かるように、解の前後で必ず符号が変化する。これについて、次に述べる
Descartes の符号法則が有名である。

例えば、5次式 5+3X4−2X3+4X2+2X−3 の係数に着目して、

−2 −3

   左の表で、符号の変化は、3箇所ある。このとき、

  符号変化数は3である、という。

明らかに、係数の最初と最後の符号が

  同じ場合、符号変化数は偶数 、 異符号の場合、符号変化数は奇数

である。

 以下において、F(X) は、実数係数の整式とする。このとき、次の法則が成り立つ。

デカルト(Descartes)の符号法則


  方程式 F(X)=0 の正の解の個数は、符号変化数より、偶数個(0も含む)少ない
 (ただし、解の重複がある場合は、重複する回数で数えるものとする)

例 X3+2X+3=0 の符号変化数は、0。よって、正の解はない。
   X4−3X+2=0 の符号変化数は、2。よって、正の解は2個または0個。


 デカルトの符号法則を証明するために、まず次の補題を示そう。

補 題  α>0 とする。このとき、

    (X−α)F(X)の符号変化数は、F(X)の符号変化数より奇数個多い


例 2次式 2+2X−3 の符号変化数は、1 である。このとき、
  (X−1)(X2+2X−3)=
3+X2−5X+3=0 の符号変化数は、2。
  よって、符号変化数が、1個(奇数個)だけ多い。

 (X−α)F(X)の展開式の係数の最初と最後の符号が、α>0 という条件のもとで

  F(X)の展開式の係数の最初と最後の符号が同符号ならば、異符号に
  F(X)の展開式の係数の最初と最後の符号が異符号ならば、同符号に

なるので、符号変化数が奇数個増えることは、ほとんど明らかだろう。

 F(X)が3次式の場合について、上記補題が成り立つことを見ておこう。

(略証)  F(X)=aX3+bX2+cX+d に対して、

  G(X)=(X−α)F(X) (α>0)を考える。 すなわち、

 G(X)=(X−α)(aX3+bX2+cX+d)

    =aX4+(b−aα)X3+(c−bα)X2+(d−cα)X−dα

    =AX4+BX3+CX2+DX+E

 ここで、 A=a 、B=b−aα 、C=c−bα 、D=d−cα 、E=−dα である。

 a > 0 として、 b 、 c 、 d の符号のすべての場合について調べて下表を得る。

  符号変化数 符号変化数
または
または
または

 上記の表の「?」部分にどんな符号が入ろうとも符号変化数は上表の通りで、何れの場

合も奇数個増えていることが分かる。 a <0 の場合も同様である。 (証終)


デカルトの符号法則の証明

  実数係数の n 次の整式 F(X)=aX+bXn−1+・・・+cX+d において、a>0 とし
ても一般性を失わない。

 また、解 0 は符号変化数に影響を与えないので、 d≠0 としても一般性を失わない。

(イ) 方程式 F(X)=0 に正の解がない場合

     d>0 なので、係数の最初と最後の符号が同符号となり、符号変化数は偶数

    よって、命題は成り立つ。

(ロ) 方程式 F(X)=0 が正の解 α、β、・・・、γ を持つ場合

     F(X)=(X−α)(X−β)・・・(X−γ)G(X)

    と因数分解できる。このとき、方程式 G(X)=0 は正の解を持たない。

     解と係数の関係から、正の解を持たない場合、符号変化数は、0

    補題により、 正の解 α に対して、(X−α)G(X)の符号変化数は、G(X)より奇数個

   多い。

    換言すれば、方程式 (X−α)G(X)=0 の正の解の個数(1個!)は、(X−α)G(X)

   の符号変化数より、偶数個少ない。

    同様にして、方程式 (X−α)(X−β)G(X)=0 の正の解の個数(2個!)は、

   (X−α)(X−β)G(X)の符号変化数より、偶数個少ない。

    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    よって、方程式 (X−α)(X−β)・・・(X−γ)G(X)=0 の正の解の個数は、

   (X−α)(X−β)・・・(X−γ)G(X)の符号変化数より、偶数個少ない。

  以上から、命題は成り立つ。 (証終)


  先の例(3次方程式 3X3−6X−1=0)において、符号変化数は、1 である。

 したがって、正の解をただ一つもつことが、係数だけの洞察により判断することができる。

 さらに、Xに−Xを代入して、3X3−6X+1=0 この方程式の符号変化数は、2 なので、

 もとの方程式の負の解は、2個または0個であることが分かる。


 さて、いよいよ Horner の方法(1819年)を説明する準備ができたようだ。

例 3次方程式 X3+2X−5=0 の実数解の近似値を求めよ。

 F(X)=X3+2X−5 とおく。符号変化数は 1 なので、方程式 F(X)=0 は正の解を 1個もつ。

また、F(−X)=−X3−2X−5 の符号変化数は 0 なので、もとの方程式は負の解をもたない。

(ここら辺の議論は、このページの冒頭にあるように、グラフを活用したほうが視覚的に分かるのだが、係数だけの
洞察から、これだけのことが言えることに感動を覚える。符号法則の偉大さがひしひしと伝わってくる!)


 F(1)=−2<0、F(2)=7>0 なので、方程式は、1 と 2 の間にただ一つの実数解をもつ。

したがって、求める実数解は、1+α(0<α<1)の形の小数である。

方程式の解から 1 減じた解をもつ方程式は、先の定理により、

       X3+3X2+5X−2=0 ・・・(*)

この方程式の解の一つが、αである。

 次に、αの小数第1位を求めるために、方程式(*) の解を10倍した解をもつ方程式を作
れば、先の定理により、

         X3+30X2+500X−2000=0 ・・・(**) 
となる。

 いま、G(X)=X3+30X2+500X−2000≒500X−2000≒0 と考えて、X≒4

そこで、G(3)=−203<0、G(4)=544>0 であることを確認して、方程式(**) の解は、
3 と4 の間にあることが分かる。

 よって、αの小数第1位は、3 であることが示された。

方程式(**) の解から 3 減じた解をもつ方程式は、先の定理により、

       X3+39X2+707X−203=0 ・・・(***)

方程式(***) の解を10倍した解をもつ方程式は、

           X3+390X2+70700X−203000=0 ・・・(****)

70700X−203000≒0 より、X≒3 なので、

      H(X)=X3+390X2+70700X−203000

とおいて、H(2)=−60032<0、H(3)=12637>0 がすぐ分かる。

 よって、方程式(****)の解は、2 と 3 の間にあることが分かる。

 ゆえに、αの小数第2位は、2 であることが示された。

このような計算を続けていけば、順次小数第3位以下も求めることができる。

 以上から、3次方程式 X3+2X−5=0 の実数解の近似値は、
                 1.32・・・ 
である。

(注意) 上記のような計算方法が Horner の方法 といわれるものであるが、別な書籍
     によると、多項式の値の計算で、掛け算の回数を減らすような求め方(先の定理
     の s、t、u、v を用いた式変形)のことも、Horner の方法 というらしい。

 上記推論は、組立除法と同様に図式化される。次の練習問題を通して、その美しさを是
非、堪能して欲しいと思う。

練習問題 3次方程式 X3+2X−18=0 の実数解の近似値を小数第2位まで正しく求
       めよ。

(解) H(X)=X3+2X−18 とおく。導関数 H’(X)=3X2+2>0 なので、グラフは単調

に増加する。よって、実数解はただ一つある。

 さらに、H(2)=−6<0、H(3)=15>0 なので、方程式は、2 と 3 の間に解をもつ。

よって、Horner の方法により、

         

したがって、3次方程式 X3+2X−18=0 の実数解の近似値は、

                 2.36・・・ 
である。 (終)

 読者のために、練習問題を一つ提示して、長かったこのページの筆をおくことにしよう。
(正直に告白すると、このページのアップロードまで、2週間を要した!)

練習 4の3乗根の値を、手計算で小数第2位まで正しく求めよ。
(Hint: 4の3乗根は、3次方程式 X3−4=0 の解である。)     (答)1.58・・・


 当HPがいつもお世話になっているHN「攻略法」さんが、上記の問題を解かれた。
                                     (平成22年10月14日付け)

(解) H(X)=X3−4 とおく。導関数 H’(X)=3X2≧0 なので、グラフは単調に増加する。

  よって、実数解はただ一つある。

 さらに、H(1)=−3<0、H(2)=4>0 なので、方程式は、1 と 2 の間に解をもつ。

よって、Horner の方法により、

         

     (徐々に桁数も増加して計算が難しくなっていく...(T_T)。)

 したがって、4の3乗根の値を、小数第2位まで正しく求めると、1.58 である。 (終)

(コメント) 攻略法さんに感謝します。


(参考文献:福井常孝 他著 線形代数学入門(内田老鶴圃新社))