最終更新:2019/08/26
作成:2011/03/30
更新履歴
     
 
3次方程式の解 の解説
 
         
       
この解説は、技術者が『3次方程式の解を求める手順およびその根拠』を修得する事を、目的としています.また、(数学的な解説では)途中の計算式が省略される様な箇所でも、出来るだけ式の省略をせずに説明しています.さらに、解を求める手順およびその根拠を修得することを目的としていますので、必ずしも数学的に正しい(たとえば、既知の定理・公式から未知の公式を導く)手法で解説している訳ではありません.さらに、必要な証明が不足している可能性があります
 
 
よって、このサイトの利用者は、
 
  ここに記載された解説を鵜呑みにせず、下記の参考文献等で 解説の内容を必ず確認する
 
ようにして下さい
 
 
 
 
   
重 要
 
 
       
 
この解説は、パソコンなどで数値計算することを前提として解説しています
 
 
一般的な数学の図書(公式集・解説書・ハンドブック等)に記載されている、3次方程式の解の公式で基準とする『簡約された形の式』(以下簡約式と記す)は、6種類(※)あります
 
 
  ※ 当方自身が図書を所有(購入)、または、図書館に蔵書されていて確認が出来た簡約式
    国立国会図書館デジタルコレクションの図書館向けデジタル化資料送信サービス [図書館送信参加館 一覧]も含めて確認した
    確認した一覧は以下の通り
 
 
当方自身が図書を所有(購入)、または、図書館に蔵書されていて直接確認が出来た簡約式
 
 

基準とする式 (簡約式)

説明 備考
 (1)  g(X) = X3 + P*X + Q 最も一般的  多数有
 (2)  g(X) = X3 - P*X - Q    現代数学への入門 代数学
 (3)  g(X) = X3 + 3*P*X + Q 式を一部簡潔に出来る  多数有
 (4)  g(X) = X3 + 3*P*X + 2*Q 数値計算に適した簡約式  多数有
 (5)  g(X) = X3 - 3*P*X - 2*Q    数学要項 定理公式証明辞典,
 C言語による 最新 アルゴリズム事典
 (6)  g(X) = X3 + 3*P*X - 2*Q    虚数iの不思議
 
 
国立国会図書館デジタルコレクション
図書館向けデジタル化資料送信サービス [図書館送信参加館 一覧]で
確認した簡約式

 
 

基準とする式 (簡約式)

説明 備考
 (7)  g(X) = X3 - 3*P*X + Q  
タイトル: 高等 三角法
著者: 東京高等工学校 編
出版: 有文閣
発行: 昭和六年四月廿二日
NDLDC: http://dl.ndl.go.jp/info:ndljp/pid/1212290
   P90-92: 第十章 ど・もあぶるノ定理
        5. 三次方程式の解法
 (8)  g(X) = X3 + 3*P*X ± 2*Q
g(X) = X3 - 3*P*X ± 2*Q
 
タイトル: 計算尺詳解 第九分冊
著者: 宮崎治助
出版: (株)逸見製作所
 (現在 ヘンミ計算尺株式会社)
発行: 昭和十二年三月十日
NDLDC: http://dl.ndl.go.jp/info:ndljp/pid/1216790
   P91-92: 第四章 計算法ニ関スル研究
      (5) 三次方程式及ビ四次方程式ノ解法
             (a) 三次方程式
 (9) 

ケース毎に使い分け

タイトル: 例題詳解 計算法
著者: 坂本左馬太
出版: 鐵道圓書局
発行: 昭和14年4月15日
NDLDC: http://dl.ndl.go.jp/info:ndljp/pid/1257811
   P32-38: 第4章 方程式の解法及函数の計算
      §18. 三次方程式
      §19. 三次方程式の根の計算
       §20. 三次方程式解法計算例
g(X) = X3 + P*X ± 2*Q 簡約式の説明
g(X) = X3 - 3*P*X - 2*Q カルダノの解法
g(X) = X3 - 3*P*X ± 2*Q ビエタの解法 [P^(3/2) > Q]
g(X) = X3 + 3*P*X ± 2*Q ビエタの解法 [P^(3/2) < Q]
 
 
ここでの解説は、直接確認した3種類 (小数の確認しか出来なかった3種(※2)を除く) のどの簡約式での解説でも確認出来るように、3つの簡約式で解説や式が異なる箇所は列記してあります
よって、3種類のどの簡約式での3次方程式の解を必要としているか見極めて、以下の解説に進んでください
 
※2 (2) g(X) = X3 - P*X - Q
  (5) g(X) = X3 - 3*P*X - 2*Q
  (6) g(X) = X3 + 3*P*X - 2*Q
 
 
 
どの簡約式での3次方程式の解を必要としているか解らなければ、『基準とする式(簡約式)』別 比較 および 図書一覧にて、
どの簡約式での3次方程式の解を必要としているか見極めて下さい
 
 
 
列記は、左から、簡約式が、「g(X)=X3+P*X+Q=0」「g(X)=X3+3*P*X+Q=0」「g(X)=X3+3*P*X+2*Q=0」の順、および背景色で(水平線に上下にはさまれた状態で)記載しています
下記に、基準とする式 (A-5) の列記例を示しますので、読み間違いに注意してください
 
 
     
  列記例
 
  X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q 
g(X) =   X3+P*X+Q = 0  X3+3*P*X+Q = 0  X3+3*P*X+2*Q =  0 
 
 
 
 
(A-5)
 
         
         
         
         
         
         
   
目 次
 
       
    『基準とする式(簡約式)』別 比較 および 図書一覧   
      元の3次方程式
基準とする式 (簡約式)
判別式 D
判別式 D の四則計算の計算回数
カルダノの解法の公式
特 徴
図 書 (確認した図書の発行(印刷)年順)
  基準とする式(簡約式)が、「g(X)=X3+P*X+Q=0」「g(X)=X3+3*P*X+Q=0」「g(X)=X3+3*P*X+2*Q=0」
  基準とする式(簡約式)が上記3種以外
 
    条件・正規化   
      与式
3次方程式の正規化
   『チルンハウス変換』 について
 
    判別式   
      判別式の定義
3次方程式の判別式の解説
判別式と根の様子
実際の判別に使用する値について
判別式Dとグラフ
 
    3次方程式の解法の解説   
      解説範囲
解法の解説
    カルダノ(Cardano)の解法の解説
        D/27<0 (D<0) の場合
        D/27=0 (D=0) の場合
   ビエタ(ビエト:Viete)の解法の解説
        D/27>=0 (D>=0) の場合
            D/27>=0 (D>=0) かつ P<0, Q<>0 の場合
            D/27>=0 (D>=0) かつ P=0, Q=0 の場合
                X1, X2, X3 の大小の順
   重根の場合
        D/27=0 (D=0) の場合
            [3重根]   D/27=0 (D=0) かつ P=0, Q=0 の場合
                3重根の場合の『チルンハウス変換』について
            [2重根]   D/27=0 (D=0) かつ P<0, Q<>0 の場合
                2重根の場合のグラフ
                P の取りうる範囲
                Q の取りうる範囲
                残りの1根(2重根とは異なる実数根)の求め方
 
    共役な複素数解 について   
      共役な複素数解 の実数項と虚数項について
   簡約式の場合
      実数項
      虚数項
   任意の3次方程式の場合
      実数項
      虚数項
 
    精度(有効桁数)について   
      絶対値が一番小さい解
        注意事項
ニュートン法
近接解
2重根
3重根
3重根時の定理
追加の考察
 
    その他   
      参考文献
その他の図書
インターネットのサイト
インターネットのサイト(PDF)
幾何学的な意味を解説したサイト(PDF)
 
    図書館   
      リンク・図書検索   
    更新履歴   
         
         
 
 
 
 
 
 
         
 
『基準とする式(簡約式)』別 比較 および 図書一覧
 
         
      3次方程式の解の公式を記載している公式集や解説書・ハンドブックなどを、
 『基準とする式(簡約された形の式)』別に分類した比較表と図書一覧表です
 公式の記載のみしかない簡潔な公式集から、充実した解説を載せている図書まで色々あります
 3次方程式の解を修得するときや、プログラムを作成するときなどの参考にしてください
  
 図書一覧は一部、参考文献と重複しています
 
         
元の3次方程式
f(X) = X3 + A*X2 + B*X +C
基準とする式 (簡約式) 
g(X) = X3 + P*X + Q  g(X) = X3 + 3*P*X + Q  g(X) = X3 + 3*P*X + 2*Q 
特 徴
・数学の公式集などで採用されされている数が
 多い、最も一般的な簡約式  
・カルダノの解法で、式(C-5-1)を通分出来る
 ので式を一部簡潔に出来る
 → 計算回数が少なければ、計算誤差が
    累積せず精度良く値を求めることが出来る

・判別式 D 括弧内の四則計算の計算回数を、
 左列の一般的な簡約式よりも少なくできるので、
 数値計算時に精度良く判別式の値を求める
 ことが出来る
 → 解を精度良く求めることが期待出来る
・カルダノの解法の 式(C-5-1)と(C-7)で、
 通分出来るので式を簡潔に出来る
 → 計算回数が少なければ、計算誤差が
    累積せず精度良く値を求めることが出来る

・カルダノの公式を最も簡潔に書き表せる
・判別式 D 括弧内の四則計算の計算回数を
 最も少なくできるので、数値計算時に精度良く
 判別式の値を求めることが出来る
 → 解を精度良く求めることが期待出来る
 
3つの中で、最も精度良く解を演算出来る、
数値計算に適した簡約式
判別式 D 
 D = -(4P3+27Q2)
    ここに
       P = (3*B-A2)/3
       Q = (2*A3-9*A*B+27*C)/27
 D = -27(4P3+Q2)
    ここに
       P = (3*B-A2)/9
       Q = (2*A3-9*A*B+27*C)/27
 D = -108(P3+Q2)
    ここに
       P = (3*B-A2)/9
       Q = (2*A3-9*A*B+27*C)/54
判別式 D の四則計算の計算回数
 
[加, 減, 乗, 除] (符号の変換(-1の乗算)は考慮しない)
 
計算回数が少なければ、計算誤差が累積せず精度良く値を求めることが出来る
 
 
 ”判別式Dの値” と 根の様子との関係は、
 ”-1×(判別式Dの括弧内の値)” と 根の様子との関係でもあてはまる
 実際の各解法の計算では、判別式Dの値でなく、
 判別式Dの括弧内の値が使用される(*1)
 
*1:  カルダノ(Cardano)の解法 式(C-13-1),(C-13-2)
 ビエタ(ビエト:Viete)の解法 式(D-20-1-5)
D Dの括弧内のみ
(-D)
  P : [0, 1, 2, 1]   4
  Q : [1, 1, 6, 1]   9
 D : [1, 0, 5, 0]   6
 計 : [2, 2,13, 2] 19
 P : [0, 1, 2, 1]   4
  Q : [1, 1, 6, 1]   9
  -D : [1, 0, 5, 0]   6
 計 : [2, 2,13, 2] 19
D Dの括弧内のみ
(-D/27)
 P : [0, 1, 2, 1]   4
  Q : [1, 1, 6, 1]   9
  D : [1, 0, 5, 0]   6
 計 : [2, 2,13, 2] 19
P : [0, 1, 2, 1]   4
Q : [1, 1, 6, 1]   9
 - D/27 : [1, 0, 4, 0]   5
計 : [2, 2,12, 2] 18
D Dの括弧内のみ
(-D/108)
 P : [0, 1, 2, 1]   4
 Q : [1, 1, 6, 1]   9
 D : [1, 0, 4, 0]   5
 計 : [2, 2,12, 2] 18
 P : [0, 1, 2, 1]   4
 Q : [1, 1, 6, 1]   9
 -D/108 : [1, 0, 3, 0]   4
 計 : [2, 2,11, 2] 17
カルダノの解法の公式
基準とする式の特徴を得やすくするために解を1つの式で表す公式で表示しています
 
このカルダノの公式の表示方式(3つの解をまとめて1つの式で表す)は、
記憶するには簡潔で、手計算で解を求めるのならば利用しやすいのですが、
パソコンなどで数値計算をさせる場合には、
結局、立方根を場合分けして計算させることになるので、利用勝手が良くありません
     
3*3=9通りの解の候補から正しい解3つを選択する必要があります
よって、組み合わせを勝手に取ると、解にならない組み合わせになることがあります [A] P.88 脚注(訳注)
     
 X = [-(Q/2)+{((P3)/27)+((Q2)/4)}(1/2)](1/3)
        +[-(Q/2)-{((P3)/27)+((Q2)/4)}(1/2)](1/3)
 X = [-(Q/2)+{(P3)+((Q2)/4)}(1/2)](1/3)
         +[-(Q/2)-{(P3)+((Q2)/4)](1/2)}(1/3)
 X = [-Q+{(P3)+(Q2)}(1/2)](1/3)
  +[-Q-{(P3)+(Q2)}(1/2)](1/3)
図 書 (確認した図書の発行(印刷)年順)
 
一部、参考文献と重複しています
  
 (注意)
 ここに記載の NDLDC (国立国会図書館デジタルコレクション※) へのリンクは
 図書館送信参加館 [一覧] からでないと閲覧出来ない図書のみしかありませんが、
 目次情報などは、インターネット公開されていますので、概要を把握できます
 ※国立国会図書館デジタルコレクションについて
  
    参考までに…たとえば 『代数学』で検索 すると 閲覧可能な図書も見つかります
    ただし、インターネットから自由に閲覧出来る「図書」は、旧仮名遣いのものが大半です…
    残念ながら、現代仮名遣いの図書は、図書館送信参加館からでないと閲覧出来ない図書が大半です
基準とする式(簡約式)が
g(X) = X3+P*X+Q
基準とする式(簡約式)が
g(X) = X3+3*P*X+Q
基準とする式(簡約式)が
g(X) = X3+3*P*X+2*Q
公式と数表 一般編
  P.25-26 1・3・3 3次方程式
  著者:尾本義一、小郷寛
発行:1965年 第1版
    (昭和40年9月1日 第2刷)
出版:(株)電気書院
NDLDC2494703 [出版1961(S36)版]
   
数学要項公式集 
  P.78-79 第3章 代数学 II. 低次方程式
      2. 三次方程式
  著者:小松勇作
発行:昭和44年1月15日 初版
出版:(株)廣川書店
   
[6] 代数学講義 改訂新版
  P.171-180 第6章 三次および四次方程式
 §33. 三次方程式の解法, Caranoの公式
 §34. 実三次方程式,三角函数による解法
  著者:高木貞治
発行:昭和40年11月25日 改訂新版
    (昭和46年2月15日 9刷)
出版:共立出版(株)
Info:http://www.kyoritsu-pub.co.jp/bookdetail/9784320010000
   
応用数学便覧 新版
  P.14 1・7 高次方程式 1・7・1 解の公式
  編者:吉田耕作ほか
出版:丸善(株)
    →[分社(H23)] 丸善出版(株)
発行:昭和50年6月10日
ISBN:3041-1905-7924
NDLDC2422227 [出版1967(S42)版]
   
スミルノフ 高等数学教程 2 I巻[第二分冊]
 原典名:Курс высшей математики
  P.432-439 [上/原書6冊での頁付]
 (P.158-165 [下/日本語版])
 第6章 複素数,高等代数学の初歩と
  函数の積分
 第18節 有理整函数(多項式)の基本性質と
  その零点の計算
  191.三次方程式
  192.三角函数による三次方程式の解法
  著者:ウラジミル・イワノビッチ・スミルノフ
翻訳監修:彌永昌吉、菅原正夫、三村征雄、
      河田敬義、福原満洲雄、吉田耕作
発行:1958年7月1日 初版
    (1986年7月10日 54刷)
出版:共立出版(株)
ISBN:978-4-320-01016-1
Info(全12巻):http://www.kyoritsu-pub.co.jp/series/3/
Info(2-I巻[第二分冊]):http://www.kyoritsu-pub.co.jp/bookdetail/9784320010161
   
共立 数学公式 附函数表 改訂増補
  P.11 代数学 B.方程式 4.3次方程式
  編集者:泉真一、近藤基吉、穂刈四三二、
     永倉俊充
出版:共立出版(株)
発行:1969年12月15日 改増
    (1987年4月5日 26刷)
ISBN:4-320-01009-4
Info:http://www.kyoritsu-pub.co.jp/
bookdetail/9784320010093
   
数学ハンドブック
  旧版名:基礎数学ハンドブック
    (ISBN:4-627-05070-4)
  P.154 3次方程式
  著者:イ・エヌ・ブロンシュテイン、
    カ・ア・セメンジャ-エフ
原著の改編者:G.グロッシェ、V.ツィ-グラ- D.
監修:矢野健太郎
訳者:宮本敏雄
出版:森北出版(株)
発行:1985 第1版
発行:1988/1/30 第1版 第3刷
ISBN:4-627-05080-1
   
数値計算 方程式の解法
 [理工系 基礎の数学 12]
  P.127-129
  3. 代数方程式
  §12. 代数方程式とその解法の概要
  (v) 三角関数,
双曲線関数を用いた3次方程式の解法
  著者:伊藤正夫
発行:1981年12月15日 初版
    (1988年9月20日 第3刷)
出版:(株)朝倉書店
ISBN:4-254-11362-5
   
図説 数学の事典
 
原典名:Kleine Enzyklopadie Mathematik
  P.127-128 4.4 3次方程式と4次方程式
  著者:Gellert W.
訳者:藤田宏
出版:(株)朝倉書店
発行:1992/12/10 初版 第1刷
ISBN:4-254-11051-0
   
数学辞典
 
原典名:Mathematics dictionary
 
(原著第5版の翻訳)
  P.63 カルダノの解法、P.73-74 簡約3次方程式
  著者:James Glenn、James Robert C.
訳者:一松信、伊藤雄二
出版:(株)朝倉書店
発行:1993/6/25 初版
ISBN:4-254-11057-X
   
[1] 数学が育っていく物語 第5週 方程式
  P.25-37 火曜日
      3次方程式と4次方程式
      [数学が育っていく物語 5]
  著者:志賀浩二
発行:1994年8月8日 第1版
出版:(株)岩波書店
ISBN:4-00-007915-8
Info:http://www.iwanami.co.jp/
.BOOKS/00/8/0079150.html
   
[A] ラマヌジャンの遺した関数
 [本格数学練習帳1]
  P.85-94 第4講 3次と4次の方程式
       (4.1はじめに 〜
       4.9 まとめ:3次方程式の解き方)
   注)F(X)=X3+3pX+2q=0 についての
     記述あり
  著者:D.フックス、S.タバチニコフ
訳者:蟹江幸博
発行:2012年7月27日 第1版
出版:(株)岩波書店
ISBN:978-4-00-006735-5
Info:http://www.iwanami.co.jp/
moreinfo/0067350/top.html

 
 訳者HP:http://kanielabo.org
  著訳書の部屋:./mybook/
  『本格数学練習帳』のページ:
     ./mybook/fuks/
  正誤表:./mybook/fuks/err_cor.htm
 
要諦解説 数学公式辞典 
  P.293-294 第2編 第15章 方程式の理論
        §3. カルダン(Cardano)の解法
注)P.294-295 第2編 第15章 方程式の理論
  §4. カルダンの別解 では、
  簡約式に X3+pX+q を採用している
  著者:笹部貞市郎
発行:昭和41年3月1日 初版
出版:(株)聖文新社 (旧・聖文社)
Info:http://www.seibunshinsha.co.jp/
books/ISBN4-7922-0027-X.html
      http://www.seibunshinsha.co.jp/
books/ISBN978-4-7922-0027-5.html
   
[9] 代数学と幾何学 
  P.43-45 §8. 3次方程式
  著者:矢野健太郎
発行:昭和33年3月5日 第1版
    (昭和47年10月15日 第24刷)
出版:(株)裳華房
ISBN:4-7853-1010-3
        (復刊 978-4-7853-1010-3) 
Info【復刊】:http://www.shokabo.co.jp/mybooks/
ISBN978-4-7853-1010-3.htm
 
Infoコラム:裳華房の“古書”探訪(1)
 矢野健太郎 著『代数学と幾何学』
   
[2] 数値計算における誤差
 (bit臨時増刊号を単行本に改装発行したもの)
  P94-108 代数方程式の誤差 平野菅保
  著者:山内二郎、戸川隼人、
   山下真一郎、宇野利雄、室谷義昭、
   柴垣和三雄、下地貞夫、川面恵司、
   三輪順子、永坂秀子、高橋俊秀、
   平野菅保、田辺國士、清水辰次郎、
   小林光夫、吉澤正、森口繁一、
   武田洋、牛島和夫
発行:昭和50年12月10日 初版
    (昭和55年6月15日 3刷)
出版:共立出版(株)
ISBN:3041-119201-1371
   
理工学のための 数学ハンドブック 
  P.12-13 1.8.3 3次方程式
  著者:数学ハンドブック編集委員会
発行:昭和49年9月20日 第4版
    (昭和58年4月15日 第7刷)
    注)○c (コピーライト)表記は、1960 (S35)
出版:丸善(株)
    →[分社(H23)] 丸善出版(株)
ISBN:3041-2592-7924
Info:http://pub.maruzen.co.jp/book_magazine/
book_data/search/4621034235.html

NDLDC2427605 [出版:1960(S35)版]
   
新数学事典 改訂増補
  P.164 §5.4 代数方程式各論
         C. 特殊な方程式
  編者:一松信、竹之内脩
著者:一松信執筆代表
出版:大阪書籍(株)
発売:丸善(株)
    →[分社(H23)] 丸善出版(株)
発行:1991/11/20 改訂増補版
ISBN:4-7548-4006-2
Info:http://www.bookservice.jp/
ItemDetail?cmId=3437469
   
代数学入門 
  P.189-194 12 3次・4次の代数方程式の代数的解法
        §12.1 カルダノによる3次方程式の解法
  著者:永田雅宜、吉田憲一
発行:1996年5月8日 初版
出版:(株)培風館
ISBN:4-563-00239-9
Info:http://www.washin.co.jp/honya/
outline/4-563-00239-9.htm
   
岩波数学入門辞典 
  P.233 3次方程式の根の公式
  編集:青本和彦、上野健爾、加藤和也、
    神保道夫、砂田利一、高橋陽一郎、
    深谷賢治、俣野博、室田一雄
発行:2005/9/28
出版:(株)岩波書店
ISBN:4-00-080209-7
Info:http://www.iwanami.co.jp/
.BOOKS/08/7/0802090.html
   
数学小辞典 第2版
  P.231 3次方程式の解法
  編著:矢野健太郎
    注)初版編著者:茂木勇、石原繁
著者:東京理科大学数学教育研究所 第2版編集委員会
発行:2010/4/15 第2版 1刷
出版:共立出版(株)
ISBN:978-4-320-01931-7
Info:http://www.kyoritsu-pub.co.jp/
bookdetail/9784320019317

NDLDC2422312 [出版:1968(S43)版]
   
数学公式事典 (改訂版)
  P.70-71 II 代数 3 方程式
  編著:黒田孝郎
著者:黒田孝郎、須田貞之
出版:文研出版
 注)奥付がない為、発行日、版、ISBNなどは不明
Info:数学公式集を柱として、数学辞典・数学解法事典の3つの要素を相互に関連づけてコンパクト板に編集したもの
    (文研コンパックシリーズで、版は昭和56年改訂版のものとおもわれる)
   
 
応用数学 (上巻) [機械工学講座 III-7]
  P.20-22 2・5・3 三次方程式
  著者:鬼頭史城
発行:昭和30年4月1日 初版
出版:(社)日本機械学会
NDLDC2425204 [出版:1955(S30)版]
   
基礎数学ハンドブック
 原典名:Справочник по математике для инженеров и учащихся втузов
  P.127-128 7・3 3次方程式
  著者:イ・エヌ・ブロンシュテイン、
    カ・ア・セメンジャーエフ
監修:小倉金之助、矢野健太郎
訳編:宮本敏夫、松田信行
発行:1964年10月10日 第1版
    (1983年8月15日 17刷)
出版:森北出版(株)
ISBN:4-627-05070-4
NDLDC2422111 [出版:1964(S39)版]
   
[7] 複素数と複素数平面 
  P.110-122 第7章 3次と4次代数方程式 (7.1-7.4)
  著者:一松信
発行:1993年8月28日 第1版
出版:森北出版(株)
ISBN:4-627-03530-6
   
NUMERICAL RECIPES in C [日本語版] 
  P.158-159 5.5 2次方程式,3次方程式
   注)簡約式の表記はないが、
     式(5.5.7)より判別した
  著者:William H. Press, Brian P. Flannery,
    Saul A. Teukolsky, William T. Vatterling
訳編:丹慶勝市、奥村晴彦、
    佐藤俊郎、小林誠
発行:平成5年6月25日 第1版
    (平成13年11月1日 10刷)
出版:(株)技術評論社
ISBN:4-87408-560-1
Info:http://gihyo.jp/book/1993/4-87408-560-1 
コメント:C言語のプログラム集
   
現代数学百科 (ブルーバックス B-129) 
 原著:The Universal Encylopedia of Mathematics
 
  First Published in England in 1964
  Second Impression 1965
  English version (c) George Allen & Unwin Lid, 1964
    Translated and dapted from MEYERS RECHENDUDEN
  Published by Bibliographisches Institut in Mannheim, 1960
  P.493-495 数学公式
  II.代数
  1.1つの未知数をもった方程式
  (3)3次方程式

   注)判別式の値によって、それぞれの解法を示している
  著者:English version (c) George Allen & Unwin Lid, 1964
訳補:矢野健太郎
発行:1968年11月30日 第1版
    (1989年4月5日 第30刷)
出版:(株)講談社
ISBN:4-06-117729-X
コメント:高等学校と大学の学生のために
    つくられたドイツ語の辞書(の米英版)を、
    翻訳したもの。
    50音順項目別百科と数学公式・
    数表からなる。
   
 
基準とする式(簡約式)が
g(X) = X3+P*X+Q
基準とする式(簡約式)が
g(X) = X3+3*P*X+Q
基準とする式(簡約式)が
g(X) = X3+3*P*X+2*Q
 
基準とする式(簡約式)が上記3種以外
 
                              
 現代数学への入門 代数学     
       
  簡約式: g(X) = X3 - P*X - Q  
       
      著者: 上野健爾  
  発行: 2004年5月7日 第1版  
  出版: (株)岩波書店  
  ISBN: 4-00-006877-6  
  Info: http://www.iwanami.co.jp/.BOOKS/00/6/0068770.html
目次 http://www.iwanami.co.jp/moreinfo/0068770/top.html
現代数学への入門[全16巻]  http://www.iwanami.co.jp/hensyu/science/ent_mmath/top.html
 
         
    P.203-210 第6章 方程式と体
  §6.1 3次方程式
    (a) カルダノの公式
    (b) 一般の3次方程式
 
  コメント: 1995〜1996年(1次)と1999〜2000年(2次)に予約出版で刊行された
岩波講座『現代数学への入門』(全10巻・20分冊)を、
1冊ずつ装いを新たにして単行本とした、
”現代”代数学への入門書「代数入門」の『体』の解説部分
 
         
 数学要項 定理公式証明辞典     
       
  簡約式: g(X) = X3 - 3*P*X - 2*Q  
       
      編者: 笹部貞市郎  
  発行: 昭和51年2月1日 初版 第3刷
  (昭和45年5月1日 初版 第1刷)
 
  出版: (株)聖文新社 (旧・聖文社)  
  Info: http://www.seibunshinsha.co.jp/books/ISBN4-7922-0015-6.html
http://www.seibunshinsha.co.jp/books/ISBN978-4-7922-0015-2.html    
 
         
    P.49  §4 方程式の一般理論
   4.1 3次・4次方程式の解法
    [定義]1. 判別式   (注)
    《定理》3. 判別式と根の関係
 
         
    (注)  簡約式を
   g(X) = X3 - 3*P*X - 2*Q
 として、判別式を
   Q2 - P3   (注2)
 と定義している
 
 ただし、P48 《定理》1. では、簡約式を
   g(X) = X3 + P*X + Q
 と定義している
 
         
    (注2)  当方が確認した 昭和51年2月1日 初版 第3刷 では、
 『判別式 P2 - Q3』 となっている(注3)が、
 直後にある”《定理》3. 判別式と根の関係”では、
 根の様子を 『Q2 - P3』 と比較して判別しているので
 『Q2 - P3』 の誤植と判断した
 
 → 出版社の(株)聖文新社(旧・聖文社)に問い合わせしたところ、
   [定義]1. 判別式『p2−q3』は誤りで、
   《定理》3. と同じ『q2−p3』であることを
   確認しました (2014/12/15)
 
   また、《定理》3.の証明部分にも、
   (ここでは記しませんが)誤植があるとのことですので 
   数式に疑問がある場合には、
   出版社に正誤表の確認をされることをオススメします
 
   なお、最新版(2014/12/15現在)でも未訂正とのことですのでご注意下さい
 
 さらに、簡約式を g(X) = X3 - 3*P*X - 2*Q とするとき、
 この判別式 [Q2 - P3] では正確な解差の自乗とはならない
 
 g(X) = X3 - 3*P*X - 2*Q の(定義に基づく)正確な判別式は、
  108(P3−Q2) (注4)であり、
 根の様子の関係で比較に使用する値を 『Q2 - P3』 とするならば、
 一般的な 『判別式Dの値と根の様子の関係』 と比べ
 不等号の向きが逆となるので注意
 
         
    (注3) 数学要項 定理公式証明辞典 (昭和51年2月1日 初版 第3刷)より
[定義]1. の 『p2 - q3』 は 『q2 - p3』 の誤植(出版社に確認済 2014/12/15)
《定理》3. は、一般的な 『判別式Dの値と根の様子の関係』 と比べ不等号の向きが逆なので注意
         
   
(注4)
X3-3PX-2Q = 0 の判別式
三根を α,β,γ とすれば,
  α+β+γ = 0
βγ+γα+αβ = -3P
αβγ = -2Q
第二式を βγ+α(γ+β) = -3P と書き直して α = -(β+γ) を代入すれば
  βγ+(-(β+γ))(γ+β) = - 3P
βγ-(β+γ)(γ+β) = - 3P
βγ-(β2+2βγ+γ2) = - 3P
2+2βγ+γ2)-βγ = 3P
β2+βγ+γ2 = 3P
よって
  2−2βγ+γ2)+3βγ= 3P
(β−γ)2 = 3P−3βγ
同様に
  (γ−α)2 = 3P−3γα
(α−β)2 = 3P−3αβ
よって
= (β−γ)2(γ−α)2(α−β)2
= (3P−3βγ)(3P−3γα)(3P−3αβ)
= (9P2−9Pγα−9Pβγ+9αβγ2)(3p−3αβ)
= (27P3−27P2αβ−27P2γα+27Pα2βγ−27P2βγ+27Pαβ2γ+27Pαβγ2−27α2β2γ2)
= 27(P3−P2αβ−P2γα−p2βγ+pα2βγ+pαβ2γ+pαβγ2−α2β2γ2)
= 27[P3−(βγ+γα+αβ)P2+αβγ(α+β+γ)P−α2β2γ2]
= 27[P3−(βγ+γα+αβ)P2+αβγ(α+β+γ)P−((αβγ)2)]
= 27[P3−(-3P)P2+(-Q)(0)P−((-2Q)2)]
= 27(P3+3P3+0−4Q2)
= 27(4P3−4Q2)
= 108(P3−Q2) 
 
         
      (注意)当方は、[昭和51年2月1日 初版 第3刷] 以外の印刷を確認していませんので、他の印刷版や最新版では異なる可能性があります  
         
         
 C言語による 最新 アルゴリズム事典     
       
  簡約式: g(X) = X3 - 3*P*X - 2*Q  
       
      著者: 奥村晴彦  
  発行: 平成7年12月1日 初版 第13刷
  (平成3年2月25日 初版 第1刷)
 
  出版: (株)技術評論社  
  ISBN: 4-87408-414-1  
  Info: http://gihyo.jp/book/1991/4-87408-414-1      
  Support: サポートページ    
 サンプルファイルのダウンロードや正誤表など
 ※正誤表はサポートページからリンクしている著者のサイトに掲載されている
 ※著者(奥村晴彦さん)の『C言語による最新アルゴリズム事典』のサイト
   http://oku.edu.mie-u.ac.jp/~okumura/algo/
 
         
    P.90-91  3次方程式 cubic equation   
       C言語のソース有  
         
         
 虚数iの不思議 数の生い立ちから複素数まで (ブルーバックス B-833)    
       
  簡約式: g(X) = X3 + 3*P*X - 2*Q  
       
      著者: 堀場芳数  
  発行: 1991年3月13日 初版 第3刷
  (1990年3月20日 第1刷)
 
  出版: (株)講談社  
  ISBN: 4-06-132833-6  
  Info: http://bookclub.kodansha.co.jp/product?isbn=9784061328334      
         
    P.91-100  2・5 3次方程式の一般的解法とは 
        [P95 式3]
 
         
 
 
 
         
         
         
 
条件・正規化
 
         
 

与式 

 
  3次方程式 f(X)  
    f(X) = K3*X3+K2*X2+K1*X+K0  (A-0)
      係数 K3, K2, K1, K0 は実数とする
ただし、K3 ≠ 0 とする
 
       
  3次方程式の正規化   
  式(A-0) の両辺をK3で割る  
    f(X)/K3  = X3+(K2/K3)*X2+(K1/K3)*X+(K0/K3) (A-0-1)
       
  左辺の f(X)/K3ff(X) に置き換えて  
    ff(X) = X3+(K2/K3)*X2+(K1/K3)*X+(K0/K3) (A-1)
       
  係数の置き換え  
    fff(X) = X3+A*X2+B*X +C (A-2)
      ここに、
  A = K2/K3
  B = K1/K3
  C = K0/K3 
 
     
  X = Y-A/3 とおき、2次の係数がない式に変形(チルンハウス変換/下記参照)する  
    ffff(Y) = (Y-A/3)3+A*(Y-A/3)2+B*(Y-A/3) +C (A-3)
      = {Y3-3*(A/3)*Y2+3*Y*(A/3)2-(A/3)3}
  +A*{Y2-2*(A/3)*Y+(A/3)2)}
  +B*{Y-(A/3)}
  +C
= {Y3-A*Y2+((A2)/3)*Y-(A3)/27}
  +{A*Y2-A*2*(A/3)*Y+A*(A2)/9}
  +B*Y-B*(A/3)
  +C
= {Y3}
  +{-A*Y2+A*Y2}
  +{((A2)/3)*Y-((2/3)*A2)*Y+B*Y}
  +{-(A3)/27+A*(A2)/9-B*(A/3)+C}
= Y3
  +{-A+A}*Y2
  +{(A2-2*A2)/3+B}*Y
  +{-(A3)/27+(A3)/9-(A*B/3)+C}
= Y3
  +{0}*Y2
  +{-(A2)/3+B}*Y
  +{-(A3)+3*(A2)-9*A*B+27*C}/27
= Y3
  +{0}*Y2
  +(1/3)*{3*B-A2}*Y
  +(1/27)*{2*A3-9*A*B+27*C}
= Y3
  +(1/3)*{3*B-A2}*Y
  +(1/27)*{2*A3-9*A*B+27*C}
 
       
   
   『チルンハウス変換』 について
    式(A-2)で、X = Y-A/3 とおき、
3次方程式で、2次の係数がない式 (式(A-3)) に変形することを『チルンハウス変換』(※)という
 ※チルンハウス変換は3次方程式に限らないので、一般にn次方程式で定義(変換)できる

この場合(3次方程式)に限れば、
平行移動 (X軸に平行に A/3 だけ移動) することである
グラフで示せば、以下の通りで

変曲点M(方程式が点対称になる点=曲線の曲がる方向が変わる点=極大極小の中点)が
Y軸に重なるように平行移動 したことになる

 
 
 
    簡約式 (2次の係数がない式)    
式(A-3) のグラフ       
ffff(X) = (X-A/3)3+A*(X-A/3)2+B*(X-A/3) +C

ffff(X) = (X-A/3)3+A*(X-A/3)2+B*(X-A/3) +C
        = X3+(1/3)*{3*B-A2}*X+(1/27)*{2*A3-9*A*B+27*C}
ここで、
ffff(X) = X3+P*X+Q
          ここに、
              P = (3*B-A2)/3
              Q = (2*A3-9*A*B+27*C)/27
とおくと、
変曲点Mは、 関数 ffff(X) のY接片なので座標は、
    M=ffff(0)=(0,Q) である
ffff(X)の導関数は、
   ffff'(X) = 3*X2+P
なので、導関数の変曲点Nは、
関数 ffff'(X) のY接片なので座標は、
    N=ffff'(0)=(0,P) である
 
 
 
 
 
 
 
 
 
 
 
 
チルンハウス変換
 
 ←
 
 変曲点Mが
Y軸に重なるように
平行移動
任意の3次方程式
式(A-2) のグラフ
fff(X) = X3+A*X2+B*X +C

 
     
    【2次の係数がない3次方程式(簡約式) 『g(X) = X3 + P*X + Q』の 変曲点Mの位置について 解説】
     簡約式を、g(X) = X3 + P*X + Q とすると、
 g(X)は、X3 と P*X と Q を加算したものである
 
 X3 と P*X は、原点(0,0)で点対称であるので、
 この2つを加算したものも原点(0,0)で点対称である
   h(X) = A(X)+B(X)
     ここに
       A(X) = X3
       B(X) = P*X
 とする
 
 ここで
    A(X) = -A(-X)
    B(X) = -B(-X)
 であるので、
 A(X)、B(X)はそれぞれ、原点(0,0)で点対称あることがわかる
 
 さらに
    h(X) = A(X)+B(X)
         = -A(-X)-B(-X)
         = -{A(-X)+B(-X)}
         = -h(-X)
 ゆえに、h(X)も原点(0,0)で点対称となる
 
 定数項の Q は、関数 h(X) 全体を Y軸に平行に平行移動させるだけで、
 Y接片が 原点(0,0)から(0,Q) になるが、点対称には影響を与えない
 よって、関数 g(X) の 変曲点M (方程式が点対称になる点=曲線の曲がる方向が変わる点=極大極小の中点)は、
 Y軸上の(0,Q)にあることが解る
 
 
    【2次の係数がない3次方程式(簡約式) 『g(X) = X3 + P*X + Q』の 変曲点Mの位置について 解説】(その2)
     2次の係数がない式
    g(X) = X3 + P*X + Q
 の導関数は、
    g'(X) = 3*X2 + P
 である
 
 g'(X) の導関数 (g(X)の2階の導関数) は、
    g''(X) = 2*3*X = 6*X
 である
 g(X) の導関数 g'(X) の極小点Nは、
 6X=0 より X=0 であるので
     g'(0) = 3*02 + P = P
 となり、Y軸上の N(0,P) である
 よって、
 2次の係数がない式 g(X) の変曲点Mが
 Y軸上にあることが解る
 
 
 
 
 
 
       
  係数の置き換え (および 変数の置き換え X←Y)  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
    g(X) = X3+P*X+Q = X3+3*P*X+Q = X3+3*P*X+2*Q (A-4)
      ここに、
      P = (3*B-A2)/3                     
             
      Q = (2*A3-9*A*B+27*C)/27
             
  ここに、
      P = (3*B-A2)/9                     
             3*P=(1/3)*{3*B-A2} より
      Q = (2*A3-9*A*B+27*C)/27
 
  ここに、
      P = (3*B-A2)/9                     
             3*P=(1/3)*{3*B-A2} より
      Q = (2*A3-9*A*B+27*C)/54
              ← 2*Q=(2*A3-9*A*B+27*C)/27 より
 
(A-4-1)
  
(A-4-2)
          ※ 3*Pとする ([9] §8.3 3次方程式 参照) のは、
   カルダノの解法で、式(C-5-1)を通分して
   以降の式を簡潔に出来る為
    →精度向上が望める
  ※ 3*P や 2*Qとするのは、
   ・カルダノの解法で、式(C-5-1)を
    通分して以降の式を簡潔に出来る為
    →精度向上が望める
   ・判別式Dの括弧内の式(※)を簡潔に
    出来る為
    →精度向上が望める
  ※実際の各解法の計算では、判別式D
    の値でなく、判別式Dの括弧内の値が
    使用される
    ・カルダノ(Cardano)の解法
      式(C-13-1),(C-13-2)
    ・ビエタ(ビエト:Viete)の解法
      式(D-20-1-5)
 
     
※ Pの幾何(図形)的な意味 
        式(A-2)の導関数は、
    fff ' (X) = 3*X2+2*A*X+B
  変曲点(方程式が点対称になる点=曲線の曲がる方向が変わる点=極大極小の中点)のXは、
  2階の導関数の解なので、
    fff '' (X) = 3*2*X+2*A = 0
  より、
    X = -A/3
  である
  よって、変曲点の接線の傾きをmとすると、
 
          m
     = fff ' (X)
     = fff ' (-A/3)
     = 3*(-A/3)2+2*A*(-A/3)+B
     = (1/3)*A2-(2/3)*A2+B
     =-(1/3)*A2+B
     = (3*B-A2)/3
     = P
  である
    
    ∴ P = m
    
  結論:Pは、変曲点の傾きmの値と同値
    m
     = fff ' (X)
     = fff ' (-A/3)
     = 3*(-A/3)2+2*A*(-A/3)+B
     = (1/3)*A2-(2/3)*A2+B
     =-(1/3)*A2+B
     = (3*B-A2)/3
     = 3*{(3*B-A2)/9}
     = 3*P
  である
    
    ∴ P = m/3
    
  結論:Pは、変曲点の傾きmの1/3の値と同値
    m
     = fff ' (X)
     = fff ' (-A/3)
     = 3*(-A/3)2+2*A*(-A/3)+B
     = (1/3)*A2-(2/3)*A2+B
     =-(1/3)*A2+B
     = (3*B-A2)/3
     = 3*{(3*B-A2)/9}
     = 3*P
  である
    
    ∴ P = m/3
    
  結論:Pは、変曲点の傾きmの1/3の値と同値
 
       
   → P と 変曲点の接線の傾き m は、同符号
 
 
      ※ Qの幾何(図形)的な意味
  変曲点MのY値の1/2と同値
   (式(F-9)〜(F-11)を参照)
※ Qの幾何(図形)的な意味
  変曲点MのY値の1/2と同値
   (式(F-9)〜(F-11)を参照)
※ Qの幾何(図形)的な意味
  変曲点MのY値の1/4と同値
   (式(F-9)〜(F-11)を参照)
 
   
すべての3次方程式は、式(A-4) の形で表すことが可能なので、
以降の『3次方程式の判別式の解説』と『3次方程式の解法の解説』は、
以下に示す、簡約された形の式(以下簡約式と記す) (A-5) を基準に解説する  
 
 
     g(X)  = X3 + P*X + Q = 0  = X3 + 3*P*X + Q = 0  = X3 + 3*P*X + 2*Q = 0  (A-5)
     
 
     
     
     
 
 
 
       
 
判別式
 
         
  判別式の定義  
  n次方程式   
      xn+ a1xn-1+ a2xn-2+ … … + an-2x + an-1x + an=0  (B-00) 
  の解を、α1, α2, α3,… …, αn-2, αn-1, αn とするとき  
     D = (α12)213)214)2…(α1n)2 
  + (α23)224)225)2…(α2n)2 
  + (α34)235)236)2…(α3n)2 
 …
  + (αn-1n)2 
(B-0-1) 
      = Π(1<=i<=j<=n) [(αi - αj)2 (B-0-2) 
  このDを、n次方程式の判別式とする  
         
  3次方程式の判別式の解説  
  式(A-5) g(X) = 0 の解を u, v, w とすると  
    g(X) = (X-u)(X-v)(X-w) (B-1-1)
      = X3-(u+v+w)*X2+(u*v+v*w+w*u)*X-u*v*w (B-1-2)
  これと、式(A-5) と比較して  
    0 = u+v+w (B-2-1)
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
      P= u*v+v*w+w*u
Q= -u*v*w
3*P= u*v+v*w+w*u
Q= -u*v*w
3*P= u*v+v*w+w*u
2*Q= -u*v*w
(B-2-2)
(B-2-3)
     
 
  を得る
判別式は、定義(B-0-2) より
 
    D = {(u-v)2}{(v-w)2}{(w-u)2} (B-3)
      = {(u-v)(w-u)}{(u-v)(v-w)}{(v-w)(w-u)}  
      = {α}{β}{γ} (B-4-0)
      ここに  
         α = (u-v)(w-u) (B-4-1)
         β = (u-v)(v-w) (B-4-2)
         γ = (v-w)(w-u) (B-4-3)
  ここで最初の {α}内 のみを取り出して計算すると
(以下Δの計算中は演算子 * 一部省略)
 
    α
= (u-v)(w-u)

= -(u-v)(u-w)

= -(uu-(v+w)u+vw)
 
    ここで、(B-2-1)より  
   

u 

= -(v+w)  (B-5-1)
    (B-2-2)より  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
    vw  = P-(uv+wu)
= P-(v+w)u
= 3P-(uv+wu)
= 3P-(v+w)u
= 3P-(uv+wu)
= 3P-(v+w)u
 
    (B-5-1)より  
      = P-(-u)u
= P+uu
= 3P-(-u)u
= 3P+uu
= 3P-(-u)u
= 3P+uu
 
    よって  
    α = -(uu+uu+P+uu)
= -(3*uu+P) 
= -(uu+uu+3P+uu)
= -(3*uu+3P) 
= -(uu+uu+3P+uu)
= -(3*uu+3P) 
 
(B-5-2)
     
 
  同様次の {β} は、  
    β = (U-v)(D-w)
= -(D-w)(D-u)
= -(vv-(u+w)v+uw)
 
    ここで、(B-2-1)より  
    v   = -(u+w)  (B-5-3)
    (B-2-2)より  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
    uw  = P-(uv+vw)
= P-(u+w)v
= 3P-(uv+vw)
= 3P-(u+w)v
= 3P-(uv+vw)
= 3P-(u+w)v
 
    (B-5-3)より  
      = P-(-v)v
= P+vv
= 3P-(-v)v
= 3P+vv
= 3P-(-v)v
= 3P+vv
 
    よって、  
    β = -(vv+vv+P+vv)
= -(3*vv+P)
= -(vv+vv+3P+vv)
= -(3*vv+3P)
= -(vv+vv+3P+vv)
= -(3*vv+3P)
 
(B-5-4)
     
 
  同様次の {γ} は、  
    γ = (D-w)(w-u)
= -(w-u)(w-v)
= -(ww-(u+v)v+uv)
 
    ここで、(B-2-1)より  
    w  = -(u+v)  (B-5-5)
    (B-2-2)より  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
    uv  = P-(vw+wu)
= P-(u+v)w
= 3P-(vw+wu)
= 3P-(u+v)w
= 3P-(vw+wu)
= 3P-(u+v)w
 
    (B-5-5)より  
      = P-(-w)w
= P+ww
= 3P-(-w)w
= 3P+ww
= 3P-(-w)w
= 3P+ww
 
    よって、  
    γ = -(ww+ww+P+ww)
= -(3*ww+P)
= -(ww+ww+3P+ww)
= -(3*ww+3P)
= -(ww+ww+3P+ww)
= -(3*ww+3P)
 
(B-5-6)
  これら (B-5-2) (B-5-4) (B-5-6) を元の式に戻して、  
    Δ = {-(3uu+P)}{-(3vv+P)}{-(3ww+P)}
= -{(9uuvv+3uuP+3vvP+PP)(3ww+P)}
= -{3ww(9uuvv+3uuP+3vvP+PP)
     +P(9uuvv+3uuP+3vvP+PP)}
= -{(27uuvvww+9uuwwP+9vvwwP+3wwPP)
     +(9uuvvP+3uuPP+3vvPP+PPP)}
= -{PPP+(3wwPP+3uuPP+3vvPP)
     +(9uuwwP+9vvwwP+9uuvvP)
     +27uuvvww)}
= -{PPP+3(ww+uu+vv)PP
     +9(uuww+vvww+uuvv)P
     +27*uuvvww)}
= {-(3uu+3P)}{-(3vv+3P)}{-(3ww+3P)}
= -{(9uuvv+3uu3P+3vv3P+3P3P)(3ww+3P)}
= -{3ww(9uuvv+3uu3P+3vv3P+3P3P)
     +3P(9uuvv+3uu3P+3vv3P+3P3P)}
= -{(27uuvvww+9uuww3P+9vvww3P+3ww3P3P)
     +(9uuvv3P+3uu3P3P+3vv3P3P+3P3P3P)}
= -{3P3P3P+(3ww3P3P+3uu3P3P+3vv3P3P)
     +(9uuww3P+9vvww3P+9uuvv3P)
     +27uuvvww)}
= -{3P3P3P+3(ww+uu+vv)3P3P
     +9(uuww+vvww+uuvv)3P
     +27*uuvvww)}
= {-(3uu+3P)}{-(3vv+3P)}{-(3ww+3P)}
= -{(9uuvv+3uu3P+3vv3P+3P3P)(3ww+3P)}
= -{3ww(9uuvv+3uu3P+3vv3P+3P3P)
     +3P(9uuvv+3uu3P+3vv3P+3P3P)}
= -{(27uuvvww+9uuww3P+9vvww3P+3ww3P3P)
     +(9uuvv3P+3uu3P3P+3vv3P3P+3P3P3P)}
= -{3P3P3P+(3ww3P3P+3uu3P3P+3vv3P3P)
     +(9uuww3P+9vvww3P+9uuvv3P)
     +27uuvvww)}
= -{3P3P3P+3(ww+uu+vv)3P3P
     +9(uuww+vvww+uuvv)3P
     +27*uuvvww)}
 
      = -{PPP+3(ww+uu+vv)PP
     +9(uuww+vvww+uuvv)P
     +27*(uvw)2}
= -{3P3P3P+3(ww+uu+vv)3P3P
     +9(uuww+vvww+uuvv)3P
     +27*(uvw)2}
= -{3P3P3P+3(ww+uu+vv)3P3P
     +9(uuww+vvww+uuvv)3P
     +27*(uvw)2}
(B-6)
  となる  
  ここで、(u+v+w)2 = uu+vv+ww+2(uv+vw+wu) および、(B-2-1) (B-2-2) より  
      uu+vv+ww
  = (u+v+w)2-2(uv+vw+wu)
  = (0)2-2(uv+vw+wu)
  = -2(uv+vw+wu)
  = -2*P
uu+vv+ww
  = (u+v+w)2-2(uv+vw+wu)
  = (0)2-2(uv+vw+wu)
  = -2(uv+vw+wu)
  = -2*3P
uu+vv+ww
  = (u+v+w)2-2(uv+vw+wu)
  = (0)2-2(uv+vw+wu)
  = -2(uv+vw+wu)
  = -2*3P
 
        = -2P   = -6P   = -6P (B-7)
  さらに、(uv+vw+wu)2 = uuvv+vvww+wwuu+2(uvvw+vwwu+wuuv) および、(B-2-1) (B-2-2) より  
      uuww+vvww+uuvv
  = (uv+vw+wu)2-2(uvvw+vwwu+wuuv)
  = (uv+vw+wu)2-2(u+v+w)uvw
  = PP-2(0)uvw
uuww+vvww+uuvv
  = (uv+vw+wu)2-2(uvvw+vwwu+wuuv)
  = (uv+vw+wu)2-2(u+v+w)uvw
  = 3P3P-2(0)uvw
  = 3P3P
uuww+vvww+uuvv
  = (uv+vw+wu)2-2(uvvw+vwwu+wuuv)
  = (uv+vw+wu)2-2(u+v+w)uvw
  = 3P3P-2(0)uvw
  = 3P3P
 
        = PP   = 9PP   = 9PP (B-8)
  最後に、(B-2-3) より  
      uvw
  = -Q
uvw
  = -Q
uvw
  = -2Q
 
(B-9)
  なので、  
    Δ = -{PPP+3(-2P)PP+9(PP)P+27*QQ)}
= -(PPP-6PPP+9PPP+27QQ)
= -(4PPP+27QQ)
= -{3P3P3P+3(-6P)3P3P+9(9PP)3P+27*QQ)}
= -(27PPP-162PPP+243PPP+27QQ)
= -(108PPP+27QQ)
= -{3P3P3P+3(-6P)3P3P+9(9PP)3P+27*4QQ)}
= -(27PPP-162PPP+243PPP+108QQ)
= -(108PPP+108QQ)
 
      = -(4*P3+27*Q2) = -27*(4*P3+Q2) = -108*(P3+Q2) (B-10)
  となる
(以上Δの計算中は演算子 * 一部省略)
 
  よって、判別式  
    D = -{4*P3+27*Q2}  = -27*{4*P3+Q2}  = -108*{P3+Q2}  (B-11)
      ここに ここに ここに  
            P = (3*B-A2)/3       P = (3*B-A2)/9       P = (3*B-A2)/9 (B-11-1)
            Q = (2*A3-9*A*B+27*C)/27       Q = (2*A3-9*A*B+27*C)/27       Q = (2*A3-9*A*B+27*C)/54 (B-11-2)
  を得る  
       
判別式 (B-11) と 式(C-13-1-0)、(C-13-1)、(C-13-2-0)、(C-13-2)、(D-20-1-5) を見比べて、
実際に計算に使用するのは、判別式 (B-11) の括弧{}内の式であることを確認して下さい
(ただし、式(C-13-1-0)、(C-13-1)、(C-13-2-0)、(C-13-2)は、符号が逆です)
 
これに基づき、
(判別式 D の括弧{}内の式の符号変換した値と)根の様子との関係が変わらないことと、
計算回数(符号の変換(-1の乗算)は考慮しない)を減らして、
解を精度良く求めることが期待出来ることにより、
下記の『実際の判別に使用する値について』 を採用しています
 
 
     
 
     
 
もっと簡潔な方法
[g(X)=X3+3*P*X+Q=0 の場合]
(代数学と幾何学 [9] P.43 より引用)
 
  例14. X3+3pX+q = 0 の判別式を求む.  
  (解答)三根を α,β,γ とすれば,  
     α+β+γ = 0
βγ+γα+αβ = 3p
αβγ = -q
(B-11-3)
(B-11-4)
(B-11-5)
  第二式を βγ+α(γ+β) = 3p と書き直して α = -(β+γ) を代入すれば  
    β2+βγ+γ2 = -3p (B-11-6)
  よって  
    (β−γ)2 = -3p−3βγ (B-11-7)
  同様に  
    (γ−α)2 = -3p−3γα
(α−β)2 = -3p−3αβ
(B-11-8)
(B-11-9)
  よって  
  = (β−γ)2(γ−α)2(α−β)2
= -27[p3+(βγ+γα+αβ)p2+αβγ(α+β+γ)p+α2β2γ2]
= -27[p3+3p3+q2]
 
    = -27(4p3+q2)  (B-11-10)
 
     
     
     
  判別式と根の様子  
  定義より D=0 の時、同じ根をもつことは明らか(2重根または3重根)
また、すべての解が実数ならば、各根の差も実数で、その自乗の計がDなので常に正となる
よって、 D<0 の時、解には共役な虚数解が奇数組(3次方程式ならば1組)含まれているということになる
以上より、3次方程式の判別式Dの値と根の様子の関係は、以下の表で表すことが出来る
 
       
   
判別式Dの値と根の様子の関係  備考 
D < 0 1つの実根と2つの互いに共役な複素数  
D = 0 重根(2重根または3重根)  
D > 0 異なる3つの実根 還元不能の場合
 
       
       
  実際の判別に使用する値について  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
      判別式Dの値をそのまま使用する これより以降に説明する解法では、
各解法にて、D/27 の値が使用される(*)
ことを考慮して、
  *:カルダノ(Cardano)の解法 式(C-13-1),(C-13-2)
    ビエタ(ビエト:Viete)の解法 式(D-20-1-5)
これより以降に説明する解法では、
各解法にて、D/108 の値が使用される(*)
ことを考慮して、
  *:カルダノ(Cardano)の解法 式(C-13-1),(C-13-2)
    ビエタ(ビエト:Viete)の解法 式(D-20-1-5)
 
        D/27 = -27*{4*P3+Q2}/27 D/108 = -108*{P3+Q2}/108  
                = -(4*P3+Q2)           = -(P3+Q2) (B-12)
        ここに ここに  
              P = (3*B-A2)/9       P = (3*B-A2)/9 (B-12-1)
              Q = (2*A3-9*A*B+27*C)/27       Q = (2*A3-9*A*B+27*C)/54 (B-12-2)
        も、求めているので、判別式Dの値の代わりに
判別に D/27 の値を使用することとする
 
D/27 を判別値としても
根の様子との関係は変わらず、
判別式Dの値に比べて乗算が1つ減り、
判別精度の向上が期待できる
も、求めているので、判別式Dの値の代わりに
判別に D/108 の値を使用することとする
 
D/108 を判別値としても
根の様子との関係は変わらず、
判別式Dの値に比べて乗算が1つ減り、
判別精度の向上が期待できる
 
             
       
D/27の値と根の様子の関係  備考 
D/27 < 0 1つの実根と
2つの互いに共役な複素数
 
D/27 = 0 重根(2重根または3重根)  
D/27 > 0 異なる3つの実根 還元不能
の場合
D/108の値と根の様子の関係  備考 
D/108 < 0 1つの実根と
2つの互いに共役な複素数
 
D/108 = 0 重根(2重根または3重根)  
D/108 > 0 異なる3つの実根 還元不能
の場合
 
     
 
       
       
  判別式Dとグラフ  
  3次方程式を、グラフの形状から分類すると、
以下の3つに分類できる
 
    (A) 極大〜極小区間が無い(極大=極小)
   さらに、変曲点(曲線の曲がる方向が変わる点=極大極小の中点:[極大=極小])の傾きで2つの形状に分類できる
     (A-1) 変曲点の傾きが、0
     (A-2) 変曲点の傾きが、0より大
 
    (B) 極大極小が有る
     変曲点(=曲線の曲がる方向が変わる点=極大極小の中点)の傾きが0より小さい
 
         
    変曲点Mは、方程式が点対称になる点(=曲線の曲がる方向が変わる点=極大極小の中点)  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
   
 
Pは、変曲点Mの傾きmの値と同値
  (式(A-4)※欄参照)
Qは、変曲点MのY値と同値
  (式(F-9)〜(F-11)を参照)
Pは、変曲点Mの傾きmの1/3の値と同値
  (式(A-4)※欄参照)
Qは、変曲点MのY値と同値
  (式(F-9)〜(F-11)を参照)
Pは、変曲点Mの傾きmの1/3の値と同値
 (式(A-4)※欄参照)
Qは、変曲点MのY値の1/2と同値
 (式(F-9)〜(F-11)を参照)
 
     
 
    
グラフの形状から分類
 項目  極大〜極小区間が無い(極大=極小)  極大極小が有る 
(A-1)  (A-2)  (B) 
 グラフの形状

変曲点
(極大極小の中点)
の接線の傾きm
 
     
P (=m or m/3)  = 0 > 0 < 0
P(グラフの形状)と根の様子の関係 
3重根  × ×
2重根と
それとは異なる
実数根1つ
 
× ×
異なる
3つの実根
 
× ×
1つの実根と
2つの互いに
共役な複素数
 
 
3次方程式  f(X) = X3+1 f(X) = X3-3*X2+6*X-1 f(X) = X3-6*X2+11*X-6
P  (3*0-02)/9 = 0 (3*6-(-3)2)/9 = 1 > 0 (3*11-(-6)2)/9 = -1/3 < 0
導関数  f'(X) = 3*X2  f'(X) = 3*X2-6*X+6 f'(X) = 3*X2-12*X+11
導関数の
判別値
D' = -4*3
    = -12  <= 0 
D' = (-6)2-4*3*6
    = -36  <= 0
D' = (-12)2-4*3*11
    = 12  > 0
備考  ・f(X)=X3 を任意方向に
  平方移動したもの
・f'(X)=0の解は虚数
 ・f'(X)=0の解は虚数  ・f'(X)=0の解は実数
 
 
  また、
判別値Dの値(と符号)は、X軸(Y=0)の位置と関連がある
以下に、判別値Dと、グラフの形状で分類した表を示す
 
   
3次方程式の判別式Dの値 と X軸(Y=0)の関係
X軸

位置
(A) 極大極小が無い (B) 極大極小が有る
判別
式D
の値
P
(=m   
or
   m/3)
 
Q  グラフ  根の様子 判別
式D
の値
P
(=m/3 
or
   m/3)
 
Q  グラフ  根の様子
極大
より
< 0  >= 0 < 0
 
変曲点(極大極小の中点)の傾き m >= 0
1つの実根と
2つの互いに
共役な複素数
< 0  < 0 < 0   1つの実根と
2つの互いに
共役な複素数
極大

一致
= 0
 



 
< 0
 
= 0
 



 
> 0
 
= 0
(A-1) 形状 (A-2)
= 0  D < 0 
= 0  P > 0 
= 0 Q = 0
  グラフ  
= 0 対称点
(極大
極小の
中点)
の接線
の傾き

 
> 0
3重根 根の
様子
1つの実根と
2つの互いに
共役な複素数
F(X)=X3
X軸と平行に
移動したもの
 
(E-7), (E-8)参照
備考  
解の実数項の
値が等しい 
 

X3-6X2+13X-10=0
解[2, 2+i, 2-i]
 
= 0  < 0 < 0   2重根と
それとは異なる
実数根1つ
極大

極小
> 0  < 0
  異なる
3つの実根
極小

一致
= 0  < 0 > 0   2重根と
それとは異なる
実数根1つ
極小
より
< 0  >= 0 > 0
 
変曲点(極大極小の中点)の傾き m >= 0
1つの実根と
2つの互いに
共役な複素数
< 0  < 0 > 0   1つの実根と
2つの互いに
共役な複素数
備考   
 
 
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
      Qは、変曲点(極大極小の中点)のY値
 (式(F-9)〜(F-11)を参照)
Qは、変曲点(極大極小の中点)のY値の1/2
 (式(F-9)〜(F-11)を参照)
Qは、変曲点(極大極小の中点)のY値の1/2
 (式(F-9)〜(F-11)を参照)
 
     
 
     
  詳細は、当方が配布中のフリーソフト、3次方程式の解 ワークシート版 の シート『入力例(根の様子別)』を参照してください  
     
 
 
 
 
                        
 
3次方程式の解法の解説
 
         
   
解説範囲 
 
  以降の解説は、下記表の範囲で解説しています  
         
   
判別に使用する値で範囲分け  根の様子  カルダノ
の解法
ビエタ
の解法
判別式・
導関数より
求める解法
備考 
簡約形 
X3+P*X+Q  X3+3PY+Q  X3+3PY+2Q 
D < 0 D/27 < 0 D/108 < 0 1つの実根と
2つの互いに共役な複素数
× ×  
D = 0 D/27 = 0 D/108 = 0 重根
(2重根または3重根)
 
D > 0 D/27 > 0 D/108 > 0 異なる3つの実根 ×
[注]
× 還元不能の場合
 
  注:還元不能の場合でも、カルダノの解法で解を求めることは可能(*)であるが、
     実数解を複素数の計算で求める事になり、解を精度よく求めることが難しい.
     計算機(PC)で解を求めるならば、三角関数を使用するビエタの解法の方が
     精度よく求めることができて、実務向きなので、ここでは解説から除外する.
     
     もしも、すべて手計算で求めるならば、
     (三角関数を手計算や表で求めるのは大変なので)
     ビエタの解法よりカルダノの解法の方が、
     労少なく解を求めることが出来る.
     *:[1] P33-34
 
         
         
  解法の解説  
         
  カルダノ(Cardano)の解法の解説   
         
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
      D<0 の場合  D/27<0 (D<0) の場合  D/108<0 (D<0) の場合   
  式(A-5) より  
    g(X) = X3+P*X+Q = 0 = X3+3*P*X+Q = 0 = X3+3*P*X+2*Q = 0 (C-1)
      ここに、
    P = (3*B-A2)/3
    Q = (2*A3-9*A*B+27*C)/27
ここに、
    P = (3*B-A2)/9
    Q = (2*A3-9*A*B+27*C)/27
ここに、
    P = (3*B-A2)/9
    Q = (2*A3-9*A*B+27*C)/54
 
  判別式は、式(B-11) より、  
    D = -(4*P3+27*Q2) = -27*(4*P3+Q2) = -108*(P3+Q2) (C-2)
  ここで、  
    Y ← X = u+v (C-3)
  とおくと (C-1) は、  
    h(Y) = (u+v)3+P*(u+v)+Q
= (u3)+3*(u2)*v+3*u*(v2)+(v3)
   +P*(u+v)+Q
= (u3)+(v3)+3*(u2)*v+3*u*(v2)
   +P*(u+v)+Q
= (u3)+(v3)+3*u*v*(u+v)
   +P*(u+v)+Q
= (u3)+(v3)+(3*u*v+P)(u+v)+Q
= (3*u*v+P)(u+v) +u3+v3+Q
= (u+v)3+3*P*(u+v)+Q
= (u3)+3*(u2)*v+3*u*(v2)+(v3)
   +3*P*(u+v)+Q
= (u3)+(v3)+3*(u2)*v+3*u*(v2)
   +3*P*(u+v)+Q
= (u3)+(v3)+3*u*v*(u+v)
   +3*P*(u+v)+Q
= (u3)+(v3)+(3*u*v+3*P)(u+v)+2*Q
= (3*u*v+3*P)(u+v) +u3+v3+Q
= (u+v)3+3*P*(u+v)+2*Q
= (u3)+3*(u2)*v+3*u*(v2)+(v3)
   +3*P*(u+v)+2*Q
= (u3)+(v3)+3*(u2)*v+3*u*(v2)
   +3*P*(u+v)+2*Q
= (u3)+(v3)+3*u*v*(u+v)
   +3*P*(u+v)+2*Q
= (u3)+(v3)+(3*u*v+3*P)(u+v) +2*Q
= (3*u*v+3*P)(u+v) +u3+v3+2*Q
 
  となる  
  よって、  
      3*u*v+P = 0 3*u*v+3*P = 0 3*u*v+3*P = 0 (C-4-1)
      u3+v3+Q = 0 u3+v3+Q = 0 u3+v3+2*Q = 0 (C-4-2)
  を満たす uとvを選べれば、uとvは、h(Y) = 0 を満たし
Y = u+v は、(C-1) [g(X) = 0] の解となる
(C-4-1)(C-4-2)を変型して、
 
      (u3)*(v3) = {(-P)/3}3 
                = -P3/27
(u3)*(v3) = {(-3*P)/3}3 
                = -P3 
(u3)*(v3) = {(-3*P)/3}3 
                = -P3 
(C-5-1)
      u3+v3 = -Q u3+v3 = -Q u3+v3 = -2*Q (C-5-2)
  を得られる  
  ここで、2次方程式の解と係数の関係に注目すると  
      2次方程式 Z2+a*Z+b = 0 の解 をα,βとすると
    (Z-α)(Z-β) = Z2-(α+β)*Z+α*β
なので、
    a = -(α+β)
    b = α*β
が得られ
    (α-β)2
    = {(α+β)2}-4*α*β
    = a2-4*b
したがって
   α-β = √{a2-4*b}
 
  u3, v3 は、2次方程式  
      t2+Q*t-P3/27 = 0 t2+Q*t-P3 = 0 t2+2*Q*t-P3 = 0 (C-6)
  の解として与えられることがわかる
この方程式を解いて、
 
    (u3, v3) = [-Q±√{Q2-4*((-P3)/27)}]/2
= [-Q±√{4*(Q2)/4-4*((-P3)/27)}]/2
= [-Q±2*√{(Q2)/4+(P3)/27}]/2
= [-Q±√{Q2-4*(-P3)}]/2
= [-Q±√{4*(Q2)/4+4*P3}]/2
= [-Q±2*√{(Q2)/4+P3}]/2
= [-2*Q±√{4*Q2-4*(-P3)}]/2
= [-2*Q±√{4*Q2+4*P3}]/2
= [-2*Q±2*√{Q2+P3}]/2
 
      = -Q/2±√{(Q2)/4+(P3)/27} = -Q/2±√{(Q2)/4+P3} = -Q±√{Q2+P3} (C-7)
  となる
ゆえに、復号をそれぞれ u,v に割り当てて
 
    u3  = -Q/2+√{(Q2)/4+(P3)/27} = -Q/2+√{(Q2)/4+P3} = -Q+√{Q2+P3}  
      = α (C-8-1)
    v3  = -Q/2−√{(Q2)/4+(P3)/27} = -Q/2−√{(Q2)/4+P3} = -Q−√{Q2+P3}  
      = β (C-8-2)
  とおいて立方根をとると  
    u = α(1/3), (ω3)*(α(1/3)), (ω2)*(α(1/3)) (C-9-1)
    v = β(1/3), (ω3)*(β(1/3)), (ω2)*(β(1/3)) (C-9-2)
  となる  
  ここで、ωは1の3乗根 (C-10)
    ω = {-1+(√(3))i}/2  
  である  
  (C-4-1)から  
    u*v = -(P)/3
= -P/3
= -(3*P)/3
= -P
= -(3*P)/3
= -P
 
(C-11)
  が成り立つので、
(C-11)を満たすように u,v の組み合わせをとり
u+v をつくると、(C-1)の解
 
      X1 = α(1/3)(1/3)
X2 = (ω3)*(α(1/3))+(ω2)*(β(1/3))
X3 = (ω2)*(α(1/3))+(ω3)*(β(1/3))
|
| (C-12)
|
  が得られる  
  よって、  
    U = α(1/3)
= [-Q/2+√{(Q2)/4+(P3)/27}](1/3)
= [-Q/2+√{(108*((Q2)/4+(P3)/27))/108}](1/3)
= [-Q/2+√{(27*Q2+4*P3)/108}](1/3)
= [-Q/2+√{(27*Q2+4*P3)/(4*27)}](1/3)
= [-Q/2+(1/2)*√{(27*Q2+4*P3)/27}](1/3)
= α(1/3)
= [-Q/2+√{(Q2)/4+P3}](1/3)
= [-Q/2+√{(4*((Q2)/4+P3))/4}](1/3)
= [-Q/2+√{(Q2+4*P3)/4}](1/3)
= [-Q/2+(1/2)*{√(Q2+4*P3)}](1/3)
= α(1/3)
 
      = [{-Q+√{(27*Q2+4*P3)/27}}/2](1/3) = [-Q+√(Q2+4*P3)}/2](1/3) = [-Q+√{Q2+P3}](1/3)  (C-13-1-0) 
      = [ {-Q+√(-D/27)}/2](1/3)  = [{-Q+√(-D/27)}/2](1/3)  = {-Q+√(-D/108)}(1/3)  (C-13-1)
    V = β(1/3)
= [-Q/2−√{(Q2)/4+(P3)/27}](1/3)
= [-Q/2−√{(108*((Q2)/4+(P3)/27))/108}](1/3)
= [-Q/2−√{(27*Q2+4*P3)/108}](1/3)
= [-Q/2−√{(27*Q2+4*P3)/(4*27)}](1/3)
= [-Q/2−(1/2)*√{(27*Q2+4*P3)/27}](1/3)
= β(1/3)
= [-Q/2−√{(Q2)/4+P3}](1/3)
= [-Q/2−√{(4*((Q2)/4+P3))/4}](1/3)
= [-Q/2−√{(Q2+4*P3)/4}](1/3)
= [-Q/2−(1/2)*{√(Q2+4*P3)}](1/3)
= β(1/3)  
      = [{-Q−√{(27*Q2+4*P3)/27}}/2](1/3) = [-Q−√(Q2+4*P3)}/2](1/3) = [-Q−√{Q2+P3}](1/3) (C-13-2-0) 
      = [ {-Q−√(-D/27)}/2](1/3)  = [ {-Q−√(-D/27)}/2](1/3)  = {-Q−√(-D/108)}(1/3)  (C-13-2)
     
 
  と置き直すと、
式 (C-1) g(X) = 0 のとき3つの根は以下になる
 
    X1  = U+V (C-14-1)
    X2 = ωU+(ω2)V
= U*{-1+i*3(1/2)}/2+V*{-1-i*3(1/2)}/2
 
      = -(U+V)/2+{(U-V)*3(1/2)}i/2 (C-14-2)
    X3 = (ω2)U+ωV
= U*{-1-i*3(1/2)}/2+V*{-1+i*3(1/2)}/2
 
      = -(U+V)/2+{-(U-V)*3(1/2)}i/2 (C-14-3)
        ここに
    ω  = {-1+i*3(1/2)}/2
    ω2 = {-1-i*3(1/2)}/2
  ※(ω, ω2, 1) は、1の立方根
 
     
  よって、
式(A-3) の変数変換 X=Y-(A/3) を復元 (さらに、変数変換X←Y)して、
式(A-2) の求める解は、
 
    X1 = (U+V)-(A/3)  
      = Alpha-Gamma (C-15-1)
    X2 = [-(U+V)/2+{(U-V)*3(1/2)}i/2]-(A/3)
= [-Alpha/2-(A/3)] + [(1/2){Beta*3(1/2)}]i
 
      = (-Alpha/2-Gamma) + [(1/2){Beta*3(1/2)}]i  (C-15-2)
    X3 = [-(U+V)/2+{-(U-V)*3(1/2)}i/2]-(A/3)
= [-Alpha/2-(A/3)] + [(1/2){-Beta*3(1/2)}]i
 
      = (-Alpha/2-Gamma) + [-(1/2){Beta*3(1/2)}]i  (C-15-3)
        ここに
    Alpha = U+V
    Beta  = U-V
    Gamma = A/3
  赤字は虚部
 
         
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
 

 

  D=0 の場合  D/27=0 (D=0) の場合  D/108=0 (D=0) の場合   
  D=0 の場合、式(C-12)までは、同様に説明できるので、
式(C-13-1)(C-13-2)以降を考慮する
条件は D=0 なので、式(C-13-1)(C-13-2)に適用すると
 
    U = [{-Q+√(-D/27)}/2](1/3)
= [{-Q+√(0)}/2](1/3)
= [{-Q+√(-D/27)}/2](1/3)
= [{-Q+√(0)}/2](1/3)
= {-Q+√(-D/108)}(1/3)
= {-Q+√(0)}(1/3)
 
      = (-Q/2)(1/3) = (-Q/2)(1/3) = (-Q)(1/3) (C-16-1)
    V = [{-Q-√(-D/27)}/2]}(1/3)
= [{-Q-√(0)}/2](1/3)
= [{-Q-√(-D/27)}/2]}(1/3)
= [{-Q-√(0)}/2](1/3)
= {-Q-√(-D/108)}(1/3)
= {-Q-√(0)}(1/3)
 
      = (-Q/2)(1/3)  = (-Q/2)(1/3) = (-Q)(1/3) (C-16-2)
  で、U = V となる
よって、
 
    Alpha = U+V  
      = 2*{(-Q/2)(1/3)} = 2*{(-Q/2)(1/3)} = 2*{(-Q)(1/3)} (C-17-1)
    Beta = U-V = 0 (C-17-2)
     
 
  となるので、
X2, X3 の虚部の項が0で実数になり、2重根 (X2=X3) となる
 
  よって、
式(A-3) の変数変換 X=Y-(A/3) を復元 (さらに、変数変換X←Y) して、
式(A-2) の求める解は、
 
      X1 = Alpha-Gamma
X2 = -Alpha/2-Gamma
X3 = -Alpha/2-Gamma
 
(C-18)
        ここに
    Alpha = U+V
    Beta  = U-V
    Gamma = A/3
 
  となる
更に、Q=0 の時、Alpha=0 となり 3重根
 
      X1 = X2 = X3 = -Gamma (=-A/3) (C-19)
  となる  
         
         
  ビエタ(ビエト:Viete)の解法の解説   
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
      D>=0 の場合  D/27>=0 (D>=0) の場合  D/108>=0 (D>=0) の場合   
  式(A-5) より  
    g(X) = X3+P*X+Q = 0 = X3+3*P*X+Q = 0 = X3+3*P*X+2*Q = 0  (D-1)
        ここに、
    P = (3*B-A2)/3
    Q = (2*A3-9*A*B+27*C)/27
  ここに、
    P = (3*B-A2)/9
    Q = (2*A3-9*A*B+27*C)/27
  ここに、
    P = (3*B-A2)/9
    Q = (2*A3-9*A*B+27*C)/54
 
  判別式は、式 (B-11) より、  
    D = -(4*P3+27*Q2)  = -27*(4*P3+Q2) = -108*(P3+Q2) (D-2)
  ここで、 式 (D-2) は、条件 (D>=0) より以下の不等式で表される  
      -(4*P3+27*Q2) >= 0  -27*(4*P3+Q2) >= 0 -108*(P3+Q2) >= 0 (D-3)
  さらに変形して  
      4*P3+27*Q2 <= 0
P3+(27/4)*Q2 <= 0
4*P3+Q2 <= 0
P3+(1/4)*Q2 <= 0
P3+Q2 <= 0 (D-4)
  この不等式 (D-4) から以下が導ける  
      (27/4)*Q2 >= 0 より P3 <= 0 である (1/4)*Q2 >= 0 より P3 <= 0 である Q2 >= 0 より P3 <= 0 である  
     
 
      ∴ P <= 0 (D-5-1)
      P < 0 のとき Q <> 0
P = 0 のとき Q = 0
(D-5-2-1)
(D-5-2-2)
  以下、(D-5-2-1) のみを考慮し、(D-5-2-2)は最後に別途考慮する  
     
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
 

 

  (D-5-2-1)
D>=0かつ P<0, Q<>0  の場合 
(D-5-2-1)
D/27>=0 (D>=0) かつ P<0, Q<>0 の場合 
(D-5-2-1)
D/108>=0 (D>=0) かつ P<0, Q<>0 の場合
 
  さらに、不等式 (D-4) を変形して  
      (Q/2)2 <= -((P/3)3)
|Q|/2 <= √(-((P/3)3))
  ※ P<0より 右辺平方根内は >0
(Q/2)2 <= -(P3)
|Q|/2 <= √(-(P3))
  ※ P<0より 右辺平方根内は >0
Q2 <= -(P3)
|Q| <= √(-(P3))
  ※ P<0より 右辺平方根内は >0
 
(D-6)
  両辺を右辺の値 (√(-(P3)) で除して
(>0より不等号の向きは変わらない)
 
      (|Q|/2)/√(-((P/3)3)) <= 1 (|Q|/2)/√(-(P3)) <= 1 (|Q|)/√(-(P3)) <= 1 (D-7)
  |Q| = |-Q|なので、  
      (|-Q|/2)/√(-((P/3)3)) <= 1 (|-Q|/2)/√(-(P3)) <= 1 (|-Q|)/√(-(P3)) <= 1 (D-8)
  √(-(P3)) >= 0なので、全体を絶対値でくくり直せる  
      ∴ |-(Q/2)/√(-((P/3)3))| <= 1 ∴ |-(Q/2)/√(-(P3))| <= 1 ∴ |-Q/√(-(P3))| <= 1 (D-9)
     
 
  ここで、不等式 (D-5-1) と (D-9) は、3次方程式の解法に、Cos の3倍角の公式  
      Cos3θ = 4 * (Cosθ)3 - 3*Cosθ  (D-10)
  を利用することを可能にする [6], [7]   
  (D-10) を Y=Cosθ とおくと  
      Y3 - (3/4)*Y - (1/4)*Cos3θ = 0  (D-11)
  (D-11)を、Cos3θが既知として、Yの3次方程式として解くと  
  解は、  
      Y1 = Cosθ
Y2 = Cos(θ+2π/3)
Y3 = Cos(θ+4π/3) 
|
| (D-12)
|
  となる  
  したがって、3次方程式 (D-1) を (D-11) に変型できれば、
解は、Cosの形で求めることが出来る
そこで、
 
      Y = λz  (D-13)
  とおき、λを求める  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
  (D-1)と(D-13)から  
      λ3*z3 + P*λ*z + Q = 0
∴z3 + (P/λ2)*z + (Q/λ3) = 0
λ3*z3 + 3*P*λ*z + Q = 0
∴z3 + (3*P/λ2)*z + (Q/λ3) = 0
λ3*z3 + 3*P*λ*z + 2*Q = 0
∴z3 + (3*P/λ2)*z + (2*Q/λ3) = 0
 
(D-14)
  となる  
  これと、(D-11)を比較して  
      P/λ2 = -3/4
Q/λ3 = -(1/4)*Cos3θ
3*P/λ2 = -3/4
Q/λ3 = -(1/4)*Cos3θ
3*P/λ2 = -3/4
2*Q/λ3 = -(1/4)*Cos3θ
(D-15-1)
(D-15-2)
  を満たすλを選べばよい  
  (D-5-1)と(D-15-1)より  
      λ = √(-(4/3)*P) > 0 λ = √(-4*P) > 0 λ = √(-4*P) > 0 (D-16)
  (D-16)を(D-15-2)に代入して  
      -4*Q / {√(-(4/3)*P)}3 = Cos3θ -4*Q / {√(-4*P)}3 = Cos3θ -8*Q / {√(-4*P)}3 = Cos3θ (D-17)
  (D-17)の左辺は  
      (-Q/2) / √(-((P/3)3)) (-Q/2) / √(-(P3)) (-Q) / √(-(P3)) (D-18)
  に変型でき、(D-9) と(D-18)より  
      (-Q/2) / √(-((P/3)3)) = Cos3θ  (-Q/2) / √(-(P3)) = Cos3θ  -Q / √(-(P3)) = Cos3θ  (D-19)
  とするような
3θが、0<3θ<π の範囲にただ1つ決まる
 
  具体的には、  
    P<0 のとき  
      Cos3θ = (-Q/2)/√(-((P/3)3)) Cos3θ = (-Q/2)/√(-(P3)) Cos3θ = -Q/√(-(P3)) (D-20-1)
       ここで、 Arccos(X)=Atn[-X/Sqr(-X*X+1)]+π/2 より  
        3θ
  = Arccos(Cos(3θ))
  = Arccos((-Q/2)/√(-((P/3)3)))
  = Atn[-{(-Q/2)/√(-((P/3)3)}
     / √{-{(-Q/2)/√(-((P/3)3)}
    *{(-Q/2)/√(-((P/3)3)}+1}]+π/2
  = Atn[{(Q/2)/√(-((P/3)3)}
     / √{-{(-Q/2)2/(-((P/3)3)}+1} ] +π/2
  = Atn[{(Q/2)/√(-((P/3)3)}
     / √{-((Q2/4)/(-((P/3)3))+1}] +π/2
  = Atn[{(Q/2)/√(-((P/3)3)}
     / √{((Q2)/(4*((P/3)3)))+1}]+π/2
  = Atn[{(Q/2)/√(-((P/3)3)}
     / √{(4*((P/3)3)+(Q2))/(4*((P/3)3))}]+π/2
  = Atn[√{(Q/2)2/(-((P/3)3))}
     / √{(4*((P/3)3)+(Q2))/(4*((P/3)3))}]+π/2
  = Atn[√{(Q2/4)/(-((P/3)3))}
     / √{(4*((P/3)3)+(Q2))/(4*((P/3)3))}]+π/2
  = Atn[√{-(Q2)/(4*((P/3)3))}
     / √{(4*((P/3)3)+(Q2))/(4*((P/3)3))}]+π/2
  = Atn[√{{-(Q2)/(4*((P/3)3))}
     / {((4*((P/3)3)+(Q2))/(4*((P/3)3)))}}]+π/2
  = Atn[√{{-(Q2)/(4*((P/3)3))}
    * {(4*((P/3)3))/(4*((P/3)3)+(Q2))}}]+π/2
  = Atn[√{{-(Q2)/1} * {1/(4*((P/3)3)+(Q2))}}]
    +π/2
  = Atn[√{-(Q2)/(4*((P/3)3)+(Q2))}]+π/2
  = Atn[Q*{√(-1/(4*((P/3)3)+(Q2)))}]+π/2
  = Atn[Q*{√(1/-(4*((P/3)3)+(Q2)))}]+π/2
  = Atn[Q/√{-(4*((P/3)3)+(Q2))}]+π/2
  = Atn[Q/√{-(4*((P3)/27+(Q2))}]+π/2
  = Atn[Q/√{-(4*P3+27*Q2)/27}]+π/2

  = Arccos(Cos(3θ))
  = Arccos((-Q/2)/√(-(P3)))
  = Atn[-{(-Q/2)/√(-(P3)}
     / √{-{(-Q/2)/√(-(P3)}
    *{(-Q/2)/√(-(P3)}+1}]+π/2
  = Atn[{(Q/2)/√(-(P3)}
     / √{-{(-Q/2)2/(-(P3)}+1} ]+π/2
  = Atn[{(Q/2)/√(-(P3)}
     / √{-((Q2/4)/(-(P3))+1}]+π/2
  = Atn[{(Q/2)/√(-(P3)}
     / √{((Q2)/(4*(P3)))+1}]+π/2
  = Atn[{(Q/2)/√(-(P3)}
     / √{(4*(P3)+(Q2))/(4*(P3))}]+π/2
  = Atn[√{(Q/2)2/(-(P3))}
     / √{(4*(P3)+(Q2))/(4*(P3))}]+π/2
  = Atn[√{(Q2/4)/(-(P3))}
     / √{(4*(P3)+(Q2))/(4*(P3))}]+π/2
  = Atn[√{-(Q2)/(4*(P3))}
     / √{(4*(P3)+(Q2))/(4*(P3))}]+π/2
  = Atn[√{{-(Q2)/(4*(P3))}
     / {((4*(P3)+(Q2))/(4*(P3)))}}]+π/2
  = Atn[√{{-(Q2)/(4*(P3))}
    * {(4*(P3))/(4*(P3)+(Q2))}}]+π/2
  = Atn[√{{-(Q2)/1} * {1/(4*(P3)+(Q2))}}]
    +π/2
  = Atn[√{-(Q2)/(4*(P3)+(Q2))}]+π/2
  = Atn[Q*{√(-1/(4*(P3)+(Q2)))}]+π/2
  = Atn[Q*{√(1/-(4*(P3)+(Q2)))}]+π/2
  = Atn[Q/√{-(4*(P3)+(Q2))}]+π/2
  = Atn[Q/√{-27*(4*(P3)+(Q2))/27}]
    +π/2

  = Arccos(Cos(3θ))
  = Arccos(-Q)/√(-(P3)))
  = Atn[-{-Q/√(-(P3))}
     / √{-{-Q/√(-(P3)}
    *{-Q/√(-(P3)}+1}]+π/2
  = Atn[{Q/√(-(P3))}
     / √{-{(-Q)2/(-(P3)}+1} ]+π/2
  = Atn[{Q/√(-(P3))}
     / √{-{Q2/(-(P3))}+1}]+π/2
  = Atn[{Q/√(-(P3))} / √{(Q2/P3)+1}]
     +π/2
  = Atn[{Q/√(-(P3))} / √{(P3+Q2)/P3}]
     +π/2
  = Atn[√{Q2/(-(P3))} / √{(P3+Q2)/P3}]
     +π/2
  = Atn[√{{Q2/(-(P3))} / {(P3+Q2)/P3}}]
     +π/2
  = Atn[√{{Q2/(-(P3))} * {P3/(P3+Q2)}}]
     +π/2
  = Atn[√{{Q2/(-1)} * {1/(P3+Q2)}}]
     +π/2
  = Atn[√{-(Q2)/(P3+Q2)}]+π/2
  = Atn[Q/√{-(P3+Q2)}]+π/2
  = Atn[Q/√{-108(P3+Q2)/108}]+π/2
 
      式 (B-11) より  
        = Atn(Q/√(D/27))+π/2   = Atn(Q/√(D/27))+π/2   = Atn(Q/√(D/108))+π/2 (D-20-1-1)
      となる
さらに計算精度を上げる為に、
  公式 Atn(X)=-Atn(1/X)+π/2
を適用して
 
        = (-Atn[√(D/27)/Q]+π/2)+π/2   = (-Atn[√(D/27)/Q]+π/2)+π/2   = (-Atn[√(D/108)/Q]+π/2)+π/2  
        = -Atn[√(D/27)/Q]+π   = -Atn[√(D/27)/Q]+π   = -Atn[√(D/108)/Q]+π (D-20-1-2)
          ↓主値に置換え (Atn(θ)≡Atn(θ)+nπ)  
        ≡ -Atn[√(D/27)/Q]   ≡ -Atn[√(D/27)/Q]   ≡ -Atn[√(D/108)/Q] (D-20-1-3)
      さらに、
  公式 (-Atn(X)=Atn(-X))
を適用して
 
        3θ = Atn[√(D/27)/(-Q)]   3θ = Atn[√(D/27)/(-Q)]   3θ = Atn[√(D/108)/(-Q)] (D-20-1-4)
      を得る  
        ∴θ = (Atn[√(D/27)/(-Q)])/3   ∴θ = (Atn[√(D/27)/(-Q)])/3   ∴θ = (Atn[√(D/108)/(-Q)])/3 (D-20-1-5)
       ※Pの3乗の平方根や、+π/2の計算が削除出来た分、精度向上が期待できる   
     
 
  となる
これによりλ、θの値が決まるので、
(D-14)の解が(D-12)で与えられ、したがって(D-1)の解が、
 
      X1 = λ*Cosθ
X2 = λ*Cos(θ+2π/3)
X3 = λ*Cos(θ+4π/3)
|
| (D-21)
|
  で与えられる  
  よって、
式(A-3) の変数変換 X=Y-(A/3) を復元 (さらに、変数変換X←Y)して、
式(A-2) の求める解は、
 
      X1 = λ*Cosθ - Gamma
X2 = λ*Cos(θ+2π/3) - Gamma
X3 = λ*Cos(θ+4π/3) - Gamma
|
| (D-22)
|
      ここに Gamma = A/3  
  となる  
 
X1, X2, X3 の大小の順
    
式 (D-22)  X1, X2, X3  の大小の順は、
Gamma は定数、式 (D-16)より λ>0 なので、
 
Cosθ, Cos(θ+2π/3), Cos(θ+4π/3)
 
の大小の順と同じである
θの範囲 [0<θ<π/3]  (← 0<3θ<π  式(D-19) の条件)  と
下記グラフより、
 
Cos(θ+2π/3) < Cos(θ+4π/3) < Cosθ   [0<θ<π/3]
 
であるのは明らか
よって、大小の順は、
 
X2 < X3 < X1
 
となる
   
 
     
     
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
 

 

  (D-5-2-2)
D>=0かつ P=0, Q=0  の場合 
(D-5-2-2)
D/27>=0 (D>=0) かつ P=0, Q=0 の場合 
(D-5-2-2)
D/108>=0 (D>=0) かつ P=0, Q=0 の場合
 
  (D-5-2-2) のときは、D=0, P=0, Q=0 で、式(A-5) は、  
    g(X) = X3+*P*X+Q = X3+3*P*X+Q = X3+3*P*X+2*Q  
      = X3  (D-23)
  となるので、g(X)=0 より解は、明らかに 3重根 の X=0 のみである
式(D-15-1)とP=0より
 
    λ  = √(-(4/3)*P)  = √(-4*P)  = √(-4*P)  
       = 0 (D-24)
     
 
  となる
ゆえに、式(D-21) は、X1, X2, X3 共に、θの値に関係なく常に0となる
 (数値計算上は、式(D-20-1) に関わらず、任意の3θを与えて計算をすればよい)
 
  よって、式(D-22) より、
式(A-3) の変数変換 X=Y-(A/3) を復元 (さらに、変数変換X←Y)して、
式(A-2) の求める解は、3重根
 
      X1 = X2 = X3 = -Gamma (D-25)
  を得ることが出来る  
     
     
  重根の場合  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
      D=0 の場合  D/27=0 (D=0) の場合  D/108=0 (D=0) の場合   
  式 (A-4) より  
    g(X) = X3+P*X+Q = X3+3*P*X+Q = X3+3*P*X+2*Q (E-1)
        ここに、
    P = (3*B-A2)/3
    Q = (2*A3-9*A*B+27*C)/27
  ここに、
    P = (3*B-A2)/9
    Q = (2*A3-9*A*B+27*C)/27
  ここに、
    P = (3*B-A2)/9
    Q = (2*A3-9*A*B+27*C)/54
 
  判別式は、式 (B-11) より、  
    D = -(4*P3+27*Q2)  = -27*(4*P3+Q2) = -108*(P3+Q2) (E-2)
  D=0 なので、  
      P = 0, Q = 0  (E-3)
      または、
-(4*P3+27*Q2) = 0
4*P3+27*Q2 = 0
または、
-27*(4*P3+Q2) = 0
4*P3+Q2 = 0
または、
-108*(P3+Q2) = 0
P3+Q2 = 0
 
      -((P/3)3) = (Q/2)2
 ※ Qは実数, Q<>0, (Q/2)2>0 より P<0
-(P3) = (Q/2)2
 ※ Qは実数, Q<>0, (Q/2)2>0 より P<0
-(P3) = Q2
 ※ Qは実数, Q<>0, Q2>0 より P<0
(E-4)
  の、2とおりがある
以下、(E-3) (E-4) の2つのケースに分けて考慮する
 
     
      [3重根]
(E-3)
D=0
 かつ P=0, Q=0 の場合
 
[3重根]
(E-3)
D/27=0 (D=0)
 かつ P=0, Q=0 の場合
 
[3重根]
(E-3)
D/108=0 (D=0)
 かつ P=0, Q=0 の場合
 
 
  式(E-1) および、条件 P=0, Q=0 より  
    g(X) = X3  (E-5)
  となるので、g(X)=0 より解は、明らかに 3重根 の X=0 のみである  
  よって、
式(A-3) の変数変換 X=Y-(A/3) を復元 (さらに、変数変換X←Y)して、
式(A-2) の求める解は、
 
      X1 = X2 = X3 = -(A/3) (E-6)
  となる  
         
   3重根の場合の『チルンハウス変換』について
     任意の3次方程式が3重根の場合の『チルンハウス変換』について            
               
  3重根の解を u とすると、3次方程式は            
  f(X)  = (X-u)3
= X3-3*u*X2+3*u2*Y-u3
= X3+A*X2+B*Y+C
 
 
(E-7)
    ここに
   A = -3*u
   B = 3*u2
   C = -u3
  と書き表すことが出来る  
  ここで、式(A-4-1) (A-4-2) より  
  P  = (3*B-A2)/3
= (3*(3*u2)-(-3*u)2)/3
= (9*u2-9*u2)/3
= (0)/3
= (3*B-A2)/9
= (3*(3*u2)-(-3*u)2)/9
= (9*u2-9*u2)/9
= (0)/9
= (3*B-A2)/9
= (3*(3*u2)-(-3*u)2)/9
= (9*u2-9*u2)/9
= (0)/9
 
    = 0  (E-8)
  Q  = (2*A3-9*A*B+27*C)/27
= (2*(-3*u)3-9*(-3*u)*(3*u2)+27*(-u3))/27
= (-54*u3+81*u3-27*u3)/27
= (-81*u3+81*u3)/27
= (0)/27
= (2*A3-9*A*B+27*C)/27
= (2*(-3*u)3-9*(-3*u)*(3*u2)+27*(-u3))/27
= (-54*u3+81*u3-27*u3)/27
= (-81*u3+81*u3)/27
= (0)/27
= (2*A3-9*A*B+27*C)/54
= (2*(-3*u)3-9*(-3*u)*(3*u2)+27*(-u3))/54
= (-54*u3+81*u3-27*u3)/54
= (-81*u3+81*u3)/54
= (0)/54
 
    = 0  (E-9)
  となるので、
『チルンハウス変換』(変数変換 X=Y-(A/3) (さらに、変数変換X←Y)して、2次の係数がない式に変形)すると、
式(A-5)は、必ず以下の 式(E-10) の形になる
 
 
   g(X)  = X3+P*X+Q  = X3+3*P*X+Q  = X3+3*P*X+2*Q   
    = X3+(0)*X+(0)  = X3+3*(0)*X+(0)  = X3+3*(0)*X+2*(0)   
    = X3  (E-10)
        
  任意の3次方程式が3重根の解を持つとき、
変曲点M (=方程式が点対称になる点=曲線の曲がる方向が変わる点=極大極小の中点) は、
必ずX軸上にあり、
(3次方程式の)2次の係数がない式に変形する『チルンハウス変換』が、
(3次方程式の)変曲点MがY軸上になるように (X軸に平行に)平行移動することと合わせて考えれば、
式(E-10)は、当然の結果といえる
 
 
     
 
     
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
      [2重根]
(E-4)
D=0
 かつ P<0, Q<>0 の場合
 
[2重根]
(E-4)
D/27=0 (D=0)
 かつ P<0, Q<>0 の場合
 
[2重根]
(E-4)
D/108=0 (D=0)
 かつ P<0, Q<>0 の場合
 
 
     
 
  判別式の定義より、D=0 の時は重根で、
3重根は上記(E-3)のケースに限定されるので、
D=0, P<0, Q<>0 は 2重根 となることがわかる
 
     
  式(A-5) より簡約式を、  
    F(X) = X3+P*X+Q (F-1)
  とすると、
簡約式の導関数(2次方程式)は、
 
    F'(X) = 3*X2+P (F-2)
  である  
  ここで、
簡約式をグラフから考慮すると、
2重根は、以下の2ケースがあることがわかる
 
その2ケースを、以下に概略図にて示す
  ※ 点M は、簡約式 F(X) の 変曲点(極大極小の中点)
  ※ 点N は、簡約式の導関数 F'(X) の 変曲点(極大極小の中点)
 
     
     2重根の場合のグラフ  
     簡約式の根の様子が 2重根と(それとは異なる)実数根1つ の場合のグラフ  
          
     (1) 2重根と(それとは異なる)実数根1つの間のYが+(変曲点MのY座標値 My(Q または 2Q) が正)  
      
 
       X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
            
      
 
       D=0, P<0
2重根は、導関数 F'(X)=0 の解の大きい方 (x2)
 
       さらに、
簡約式 F(X) の変曲点M(方程式が点対称になる点=曲線の曲がる方向が変わる点=極大極小の中点)は、
かならず、Y軸上にあり(※)、ゆえにY接片で、
そのX座標値は、
   Mx = 0
 
※上記 チルンハウス変換』 について を参照
※※簡約式の導関数 F'(X) はY軸で対称なので、x1=-x2
※※※2重根とは異なる実数根を x0 とすれば、根と係数の関係式より x0=-2*x2
 
 
       変曲点MのY座標値は、F(X) のY接片で、
 
      
 
       X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
         F(Mx) = F(0) = Q   F(Mx) = F(0) = Q   F(Mx) = F(0) = 2Q  
      
 
       また、上記グラフより
  F(Mx) > 0
が明らかなので、
 
       Q > 0 (F-3)
          
          
     (2) 2重根と(それとは異なる)実数根1つの間のYが−(点MのY座標値 My が負)  
      
 
       X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
            
      
 
       D=0, P<0
2重根は、導関数 F'(X)=0の解の小さい方 (x1)
 
       さらに、
簡約式 F(X) の変曲点M(方程式が点対称になる点=曲線の曲がる方向が変わる点=極大極小の中点)は、
かならず、Y軸上にあり(※)、ゆえにY接片で、
そのX座標値は、
   Mx = 0
 
※上記 チルンハウス変換』 について を参照
※※簡約式の導関数 F'(X) はY軸で対称なので、x1=-x2
※※※2重根とは異なる実数根を x0 とすれば、根と係数の関係式より x0=-2*x1
 
 
       変曲点MのY座標値は、F(X) のY接片で、
 
      
 
       X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
         F(Mx) = F(0) = Q   F(Mx) = F(0) = Q   F(Mx) = F(0) = 2Q  
      
 
       上記グラフより
   F(Mx) < 0
が明らかなので、
 
       Q < 0 (F-4)
          
        
         
         
  P の取りうる範囲  
    簡約式が2重根と(それとは異なる)実数根1つ の場合の P の取りうる範囲について  
       
    任意の3次方程式 [式(A-2)]  
    fff(X) = X3+A*X2+B*X+C  
    の導関数を、  
    fff'(X) = 3*X2+2*A*X+B  
    である  
    この導関数 fff'(X)=0 を解いて、2次方程式の解の公式(注1)より  
    X = {-2*A±√((2*A)2-4*3*B)}/(2*3) (F-5)
    (注1)  2次方程式の解は、解の公式とおりに求めると
桁落ち誤差にて精度良く求めることが出来ない
よって実際の計算は、以下のように場合分けして求める
g(X)=AX2+BX+C
B>=0 のとき
  X1=-2*C/(B+√(B2-4*A*C))
  X2={-B-√(B2-4*A*C)}/(2*A)
B<0 のとき
  X1={-B+√(B2-4*A*C)}/(2*A)
  X2=-2*C/(B-√(B2-4*A*C))
参考文献[3] P4,第1章 数値表現と丸め誤差
 
    を得る
よって、求める解は
 
    X1 = {-2*A + √(4*(A2)-12*B)}/6
= {-2*A + 2*√((A2)-3*B)}/6
= {-A + √((A2)-3*B)}/3
 
 
(F-6-1)
    X2 = {-2*A - √(4*(A2)-12*B)}/6
= {-2*A - 2*√((A2)-3*B)}/6
= {-A - √((A2)-3*B)}/3
 
 
(F-6-2)
    となる
 
さてここで、簡約式 F(X) について考える
簡約式 F(X) が2重根を持つ(かつ3重根でない)ならば、
2重根の場合のグラフ
2ケースのどちらかであり、そうであるならば、
簡約式の導関数 F'(X) の解 X1, X22つの異なる実数根である
 
これを、任意の3次方程式で求めた上記の結果にあてはめて考察すると、
2次方程式の解の公式 の平方根の中 (赤字の斜字部) が、
正 (0より大きい実数) である必要がある
よって、
 
      (A2)-3*B > 0 (F-7)
    であることがわかる
 
       
    この式(F-7)の左辺を変形すると、  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
      左辺
  = (A2)-3*B
  = -(-A2+3*B)
  = -(3*B-A2)
  = (-(3*B-A2)/3)*3
  = (-P)*3
  = -P*3
左辺
  = (A2)-3*B
  = -(-A2+3*B)
  = -(3*B-A2)
  = (-(3*B-A2)/9)*9
  = (-P)*9
  = -P*9
左辺
  = (A2)-3*B
  = -(-A2+3*B)
  = -(3*B-A2)
  = (-(3*B-A2)/9)*9
  = (-P)*9
  = -P*9
 
    となる
よって、
 
        -3*P > 0   -9*P > 0   -9*P > 0 (F-7-1)
     
 
    ゆえに  
      P < 0 (F-8)
    を得る  
       
         
         
  Q の取りうる範囲  
    簡約式が2重根と(それとは異なる)実数根1つ の場合の 簡約式のY接片(変曲点MのY座標値) Q の取りうる範囲について  
       
    簡約式 F(X) の 変曲点(極大極小の中点) M のX座標値 は、
簡約式の導関数 F'(X)=0 の解の中点に等しいことに注目して求めると、
式(F-6-1)、式(F-6-2) より
 
    Mx = (x1+x2)/2
= {(-A+√((A2)-3*B))/3 + (-A-√((A2)-3*B))/3}/2
= {(-A+√((A2)-3*B)) + (-A-√((A2)-3*B))}/2/3
= {-A+√((A2)-3*B)) -A-√((A2)-3*B))}/6
= {-2*A + 0}/6
 
      = -A/3 (F-9)
         
      簡約式の変曲点 M のX座標値 は、2階の導関数の解に等しいことに注目すれば、
さらに簡単に以下の式にて求めることが出来る
F''(X) = 6*X+2*A = 0 より
  6*Mx = -2*A
  Mx = -2*A/6
 
        ∴ Mx = -A/3  (F-9-2)
         
    を得る
 
       
    Mx=-A/3 を元の簡約式に代入して  
     
 
      X3+P*X+Q  X3+3*P*X+Q  X3+3*P*X+2*Q   
    F(Mx) = (Mx)3+A*(Mx)2+B*(Mx)+C
= (-A/3)3+A*(-A/3)2+B*(-A/3)+C
= -A3/(33)+A3/(32)-A*B/3+C
= -A3/27+A3/9-A*B/3+C
= (-A3+3*A3)/27-A*B/3+C
= {2*(A3)-9*A*B+27*C}/27
= (Mx)3+A*(Mx)2+B*(Mx)+C
= (-A/3)3+A*(-A/3)2+B*(-A/3)+C
= -A3/(33)+A3/(32)-A*B/3+C
= -A3/27+A3/9-A*B/3+C
= (-A3+3*A3)/27-A*B/3+C
= {2*(A3)-9*A*B+27*C}/27
= (Mx)3+A*(Mx)2+B*(Mx)+C
= (-A/3)3+A*(-A/3)2+B*(-A/3)+C
= -A3/(33)+A3/(32)-A*B/3+C
= -A3/27+A3/9-A*B/3+C
= (-A3+3*A3)/27-A*B/3+C
= {2*(A3)-9*A*B+27*C}/27
= 2*[{2*(A3)-9*A*B+27*C}/54]
 
      = Q = Q = 2*Q (F-10)
     
 
    を得る
 
    Mxは、簡約式の導関数 F'(X) の2つの解の中点である
さらに、Q=0 (D=0なので、P=0) は、簡約式 F(X) が3重根の場合で除外できる
ゆえに、根の様子が 2重根とそれとは異なる実数根1つの場合は、
 
      Q <> 0 (F-11)
    である  
    (参考) 他に3つの異なる実数根で、根が等間隔の場合も F(Mx) = 0 (Q=0の場合) となり得るが
重根ではない(D>0:還元不能のケース)ので考慮から除外できる
 
       
         
         
  2重根の場合のグラフ より、
簡約式の算出時に求めた Q 、
もしくは、
式(F-9)、または、式(F-9-2)で求めたMxを、
簡約式に代入し F(Mx) を求めれば、
x1,x2のどちらの値が2重根か判別できる
 
    F(Mx)=Q (または2Q) > 0 のとき  (簡約式g(X)の変曲点MのY座標値は正なので)ケース(1)で
求める2重根を Z とすると、
  Z = Max(x1,x2) = x2
 
 
(F-12-1)
    F(Mx)=Q (または2Q) < 0  のとき  (簡約式g(X)の変曲点MのY座標値は負なので)ケース(2)で
求める2重根を Z とすると、
  Z = Min(x1,x2) = x1
 
 
(F-12-2)
     
     
  最後に、
求めた2重根 Z 、
および、未知の残りの1根を X とすると、
根と係数の関係式 Q=-X*Z*Z より、残りの1根は以下より求まる
 
      X = -Q/(Z2) (F-13)
         
         
     
     
   
   残りの1根(2重根とは異なる実数根)の求め方  
   簡約式を
 
   g(X) = X3 + P*X + Q
 
 とする
 
 ここに、
 簡約式 g(X) の根の状態が 2重根 で、
 (既知の)2重根がX2、(未知の)それとは異なる実数根がX1 であるならば、
 根と係数の関係式より
 
   X1+2*X2 = 0
 
 なので、残りの1根は、
 
   X1 = -2*X2
 
 であり、式(F-13) に代わり残りの1根を求めることが可能である
 
 
 【注意】
 簡約式 [g(Y)=Y3+PY+Q] の根の様子が、
   ・2重根 (β) と、それとは異なる実数根 (α) 1つ
 ならば、
 簡約式(3次方程式)は、
   g(Y)=(Y-α)(Y-β)(Y-β)
       =Y3-(α+2β)*Y2+(2αβ+β2)*Y-αβ2
 となり、
 根と係数の関係式
   (1) -(α+2β) = 0
   (2) 2αβ+β2 = P
   (3) -αβ2 = Q
 を得る
 
 2重根 または、それとは異なる実数根のどちらかが解れば、
 他方の根を、(1)(2)(3) のどの関係式のからでも
 求めることが出来るが、一般的には、
 (3)の式で求める方が、精度(有効桁数)は良い
 
 ただし、いくつかの条件が整えば、コストの面から
 (3)の式で求めるより、
 (1)や(2)の式で求める事の方がが良い(コストがかからない※)場合もある(と思われる)
 ※多倍長の計算などの場合
 
 【具体例1】
 探索中
 
 
   
 
 
         
 
共役な複素数解 について
 
         
  共役な複素数解 の実数項と虚数項について  
     
 3次方程式の根の様子でもっとも一般的な、
 『1つの実根と2つの互いに共役な複素数』の場合の、
 共役な複素数解 を、グラフ上から考察する
 
         
  簡約式の場合  
   
 まず初めに、
 簡約式 式(A-5)の(最も一般的な)
   
    F(X) = X3 + P*X + Q
(G-1)
   の、根の様子が『1つの実根と共役な複素数解』の場合の
 共役な複素数解の実数項について考察する
 
   
    
 簡約式の根の様子が 『1つの実根と共役な複素数解』の場合のグラフの例を以下に示す
  ※各点のXY座標値をそれぞれの添え字付で表す 
       (例 点E のX座標値 Ex、Y座標値 Ey) 
  
変曲点MのY座標値が+の場合
 (Q > 0 の場合)

 
 各点の座標値 
 Hx = √(-P/3) = -Gx  [導関数の解より]
 Fx = 2*Gx = -2*Hx  [2重根(By=0)の場合より]
 Fx - Ex = 2*(Ix - Hx)  [曲線B-I-S〜 の定義より]
 Kx - Jx = 2*(Sx - Rx)  [曲線B-I-S〜 の定義より]
 
    判 例 
O : 原点 (0,0)
F(X) : 簡約式 X3 + P*X + Q
F'(X) : 簡約式の導関数 3X2 + P
曲線B-I-S〜
        : 曲線C-E-J〜 を 直線C-K で反転し幅を半分にしたもの
          (S-R点間距離はJ-K点間距離の半分)
 
A : 簡約式 F(X) の極大点
B : −−〃−− の極小点
C : 点Bと同じY座標値を持つ点  (曲線A-E と 直線B-D の交点)
D : 点B から Y軸 に下ろした 垂線の点
M : 簡約式 F(X) の変曲点 (Y接片なので (Mx,My)=(0,Q) [Q>0])
N : 導関数 F'(X) の極小点 (Y接片なので (Nx,Ny)=(0,P)) [P<0])
E : 簡約式 F(X) と X軸の交点
     (Exは、簡約式の実数解
F : 点C から X軸 に下ろした 垂線の点
G : 点A から X軸 に下ろした 垂線の点 (導関数 F'(X) とX軸の交点)
H : 点B から X軸 に下ろした 垂線の点 (導関数 F'(X) とX軸の交点)
I : 曲線B-S〜 と X軸 の交点
      (Ixは、簡約式の共役な複素数解の実数項
L : Y座標値がマイナス値のY軸上の任意点
J : 簡約式 F(X) と 直線 Y=Lx の交点
K : 点C から 直線 Y=Lx に下ろした垂線の点
R : 点B から 直線 Y=Lx に下ろした垂線の点
S : 曲線B-I-S〜 と 直線 Y=Lx の交点
      
変曲点MのY座標値が−の場合
 (Q < 0 の場合)

 
 各点の座標値 
 Hx = √(-P/3) = -Gx  [導関数の解より]
 Fx = 2*Gx = -2*Hx  [2重根(By=0)の場合より]
 Fx - Ex = 2*(Ix - Hx)  [曲線B-I-S〜 の定義より]
 Kx - Jx = 2*(Sx - Rx)  [曲線B-I-S〜 の定義より]
 
    判 例 
O : 原点 (0,0)
F(X) : 簡約式 X3 + P*X + Q
F'(X) : 簡約式の導関数 3X2 + P
曲線B-I-S〜
        : 曲線C-E-J〜 を 直線C-K で反転し幅を半分にしたもの
          (S-R点間距離はJ-K点間距離の半分)
 
A : 簡約式 F(X) の極大点
B : −−〃−− の極小点
C : 点Bと同じY座標値を持つ点  (曲線A-E と 直線B-D の交点)
D : 点B から Y軸 に下ろした 垂線の点
M : 簡約式 F(X) の変曲点 (Y接片なので (Mx,My)=(0,Q) [Q<0])
N : 導関数 F'(X) の極小点 (Y接片なので (Nx,Ny)=(0,P)) [P<0])
E : 簡約式 F(X) と X軸の交点
     (Exは、簡約式の実数解
F : 点C から X軸 に下ろした 垂線の点
G : 点A から X軸 に下ろした 垂線の点 (導関数 F'(X) とX軸の交点)
H : 点B から X軸 に下ろした 垂線の点 (導関数 F'(X) とX軸の交点)
I : 曲線B-S〜 と X軸 の交点
      (Ixは、簡約式の共役な複素数解の実数項
L : Y座標値がプラス値のY軸上の任意点
J : 簡約式 F(X) と 直線 Y=Lx の交点
K : 点C から 直線 Y=Lx に下ろした垂線の点
R : 点B から 直線 Y=Lx に下ろした垂線の点
S : 曲線B-I-S〜 と 直線 Y=Lx の交点
 
 
グラフの解説
     簡約式 F(X) は、根の様子が『1つの実根と共役な複素数解』で
     変曲点MのY座標値が+(または−)の場合
 
     簡約式 F(X) の極大点を 点A、極小点を 点Bとして、
     点Bを通る水平線と 簡約式 F(X) [<0(または>0)] との交点を 点C、
     点Bを通る水平線と Y軸の交点との交点を 点Dとする
 
     さらに、
     簡約式 F(X) と X軸の交点を 点E (簡約式 F(X) の実数根)、
     点Cから X軸に下ろした垂線の交点を 点F、
     同様に、点A・点Bのそれぞれから X軸に下ろした垂線交点を 点G、点Hとする
     さらに、点G・点Hは、導関数 F'(X) と X軸の交点でもあるので
     導関数 の解より求めることも出来る
 
     つぎに、
     曲線B-I-S〜(下記参照) を作図して X軸の交点を 点Iとする
 
 
 
 
 
  曲線B-I-S〜 について
 
     簡約式 F(X) の曲線C-E-J〜の部分を、直線C-K を基準にして幅を半分にし反転したものを
     点Cを基準点にして、点Bへ複写したもの
     
     簡約式 F(X) と曲線B-I-S〜をまとめて、
     変曲点MをY軸上を上下に移動させたとき
     曲線B-I-S〜 とX軸の交点I'のX座標値は、
     移動させた 簡約式 FF(X) の共役な複素数解の実数項の値となる
 
   
   
   
       
       
   実数項    
   
上図 簡約式のグラフの 極小(大)点B と、
極小(大)点Bをとおる水平線との 交点C からそれぞれX軸に下ろした垂線のX座標値は、
簡約式の導関数の解より
   
    Hx = -Gx (G-2)
  である
 
さらに、
X軸が B-C上にある場合(根の様子が2重根とそれとは異なる実数根1つ)を考慮すれば、
根と係数の関係式(※)より
   
    Cx = -2*Bx (G-3)
    Fx = -2*Hx (G-4)
  も、あきらかである
 
   
     簡約式 [g(Y)=Y3+PY+Q] の根の様子が、
 『2重根 (β) と、それとは異なる実数根 (α) 1つ』のとき
 簡約式(2次の係数を消した3次方程式)を
   g(Y) = (Y-α)(Y-β)(Y-β)
         = Y3-(α+2β)*Y2+(2αβ+β2)*Y-αβ2
         = Y3-(α+2β)*Y2+P*Y+Q
 とすると、根と係数の関係式は
      (1) -(α+2β) = 0
      (2) 2αβ+β2 = P
      (3) -αβ2 = Q
 
∴(1)より α = -2β
   
   
上図 簡約式のグラフの 曲線B-I-S〜 は、
   『簡約式 F(X) の曲線C-E-J〜の部分を、
    直線C-K を基準にして幅を半分にし反転したものを、
    点Cを基準点にして、点Bへ複写したもの』
なので、
   
    Ex - Fx = -2*(Ix - Hx) (G-5)
  となり、
   
    Fx = -2*(Ix - Hx) (G-6)
  となる
また、式(G-4) より
   
    Fx = -2*Hx (G-7)
  となるので、両式の両辺をそれぞれ足して
   
    (Ex - Fx) + (Fx) = -2*(Ix - Hx) + (-2*Hx)    
    Ex + (-Fx + Fx) = -2*Ix + (2*Hx - 2*Hx)    
    Ex + (0) = -2*Ix + (0)    
    Ex = -2*Ix (G-8-1)
    Ix = -Ex/2 (G-8-2)
  となる
   
       
    上記の式 (G-8-2) は、
簡約式の 根の様子が『1つの実根と共役な複素数解』の場合、
実根と 共役な複素数根の実数項の、絶対値の比は常に、2:1
になるということである(※)
 
 ※2次の係数がないので、根と係数の関係式より当然の結果である
   
       
  ゆえに、
根の様子が『1つの実根と共役な複素数解』の場合、
グラフを書きさえすれば、(曲線B-I-S〜を追加しなくとも)
すべての実数項を、グラフより求めることが出来る
 
 
実際に、簡約式の共役な複素数解の実数項をグラフから求める手順は、
原点Oを中心とする、直径 D=Ex (半径 d=Ex/2)の円と、
X軸との交点2つのうち、点E(実根)から遠い方が共役な複素数解の実数項となる
 
   
   
   
   虚数項    
   
 前述で、共役な複素数解の実数項が求まったので、
 次に、共役な複素数解の虚数項を考える
 
 3次方程式の根の様子が『1つの実根と共役な複素数解』の場合の各根を、
   
   
1つの実数根 α
共役な複素数根 β ± γi
   
   とすると、3次方程式は、
   
    F(X)  = (X-α)(X-(β+γi))(X-(β-γi))
 = X3 - (α+(β+γi)+(β-γi))*X2 + (α(β+γi)+(β+γi)(β-γi)+(β-γi)α)*X - α(β+γi)(β-γi)
 = X3 - (α+(β+β+γi-γi))*X2 + ((αβ+αγi)+(β*β-β*γi+γi*β-γi*γi)+(αβ-αγi))*X - α(β*β+β*γi-γi*β-γi*γi)
 = X3 - (α+(2β+0))*X2 + (αβ+αβ+β*β+(αγi-αγi)+(γi*β-β*γi)-(γi*γi))*X - α(β*β+(β*γi-γi*β)-(γi*γi))
 = X3 - (α+2β)*X2 + (2αβ+β2+(0)+(0)-(-γ2))*X - α(β2+(0)-(-γ2))
 = X3 - (α+2β)*X2 + (2αβ+β22)*X - α(β22)
   
       = X3 - (α+2β)*X2 + (2αβ+β22)*X - (αβ2+αγ2)
(G-9)
   ここで、
 簡約式(2次の係数がない式)を
   
    g(X)  = X3 + P*X + Q (G-10)
   とすると、
 簡約式の根の様子が『1つの実根と共役な複素数解』の場合の
 根と係数の関係式
   
    (1)   α+2β = 0
(G-11-1)
    (2)   2αβ+β22 = P (G-11-2)
    (3)   - (αβ2+αγ2) = Q (G-11-3)
   を得る
 
 よって、1つの実数根 α が解れば
 式(G-11-1) より、共役な複素数根の実数項 β を求めることができる
   
    β = - α/2 (G-12)
   さらに、
 1つの実根 α と求めた β および 式(G-11-2) より
 共役な複素数解の虚数項 γ を求めることができる
   
    γ = √{P - 2αβ - β2}
= √{P - 2α(-α/2) - (-α/2)2}
= √{P + α2 - α2/4}
   
      = √{P + 3α2/4}
(G-13)
  または 式(G-11-3) より
   
    γ = √{(-Q - αβ2)/α}
= √{(-Q - α(-α/2)2)/α}
= √{(-Q - α3/4)/α}
   
      = √{-Q/α - α2/4}
(G-14)
  この関係式にて、
両式のどちらからでも、虚数項を求めることが出来る
 
 
さらに、
両式は等しいので
   
     
√{P + 3α2/4} = √{-Q/α - α2/4}
P + 3α2/4 = -Q/α - α2/4
4Pα + 3α3 = -4Q - α3
4Pα + 3α3 + α3  = -4Q
4Pα + 4α3  = -4Q
Pα + α3 = -Q
α3 + Pα + Q = 0 = F(α)
(G-14)
   
元の簡約式に帰着した
 
当然の結果ではあるが、
簡約式の 1つの実根 α と 点M(のY座標値My=Q)、点N(のY座標値Ny=P)には関連があり、
簡約式の P を小さくすれば、
導関数とX軸の交点の 点E の位置(導関数の根)が 原点O から遠くなり、
簡約式の極大極小点の 点A・点B の位置も Y軸 から離れ、
1つの実根の 点E と共役な複素数根の実数項の 点I も、原点O から遠くなることが、
上記のグラフの例からも理解出来る
 
逆に、簡約式の Q (簡約式のY接片)を小さくしても、
Y軸からの簡約式の極大極小点の位置(距離)は移動しないが、
簡約式のグラフが下方へ移動すれば、当然の結果として、
1つの実根の 点E と共役な複素数根の実数項の 点I は、原点O へ近づくことも、
同様に、上記のグラフの例から理解出来る
 
 
   
         
  任意の3次方程式の場合  
   
上記は、簡約式に限って解説したが、
任意の3次方程式の 根の様子が『1つの実根と共役な複素数解』の場合でも、
基本的な幾何(図形)的な関係は 変わらない
 
上記『簡約式の場合』(根の様子が『1つの実根と共役な複素数解』)の簡約式 F(X) を、
X軸と平行に平行移動させれば、
根の様子が『1つの実根と共役な複素数解』の任意の3次方程式となる
 
たとえば、前述『簡約式の場合』の簡約式 F(X) を
X軸の+方向に z (>0) だけ移動(※)させれば、以下のグラフとなる
※X=X-z で置き換えたこととなる
   
    H(X)  = (X-z)3 + P*(X-z) + Q
 = {(X-z)(X-z)(X-z)} + P*(X-z) + Q
 = {(X2-2*zX+z2)(X-z)} + P*X - P*z + Q
 = {(X2-2*zX+z2)X - z(X2-2*zX+z2)} + P*X - P*z + Q
 = X3-2*z*X2+(z2)X - z*X2 + 2*z2X - z3 + P*X - P*z + Q
 = X3 + (-2*z*X2 - z*X2) + ((z2)X + 2*z2X + P*X) - z3 - P*z + Q
 = X3 - 3*z*X2 + (P+3z2)X - z3 - P*z + Q
 = X3 - 3*z*X2 + (P + 3z2)X + (Q - P*z - z3)
   
       = X3 - 3zX2 + (P+3z2)X + (Q-Pz-z3)
(H-1)
     
   
   
 式(H-1) 【3次方程式 H(X)根の様子が『1つの実根と共役な複素数解』】 の場合の
 グラフの例(※)を以下に示す
  ※前述『簡約式の場合』(根の様子が『1つの実根と共役な複素数解』)の
     簡約式 F(X) をX軸の+方向に z (>0) だけ移動させたもの
  ※※各点のXY座標値をそれぞれの添え字付で表す 
       (例 点E のX座標値 Ex、Y座標値 Ey) 
 
変曲点MのY座標値が+の場合
 (Q > 0 の場合)

   
 各点の座標値 
 Hx-z = √(-P/3) = -(Gx-z)  [導関数の解より]
 Fx-z = 2*(Gx-z) = -2*(Hx-z)  [2重根(By=0)の場合より]
 Fx - Ex = 2*(Ix - Hx)  [曲線B-I-S〜 の定義より]
 Kx - Jx = 2*(Qx - Px)  [曲線B-I-S〜 の定義より]
 
    判 例 
O : (z,0)
H(X) : 3次方程式 X3 - zX2 + (P+z2-2z)X - (Pz-Q-2z2+z3)
H'(X) : 導関数 3X2 - 2zX + (P+z2-2z)
曲線B-I-S〜
        : 曲線C-E-J〜 を 直線C-K で反転し幅を半分にしたもの
          (R-S点間距離はJ-K点間距離の半分)
 
A : 3次方程式 H(X) の極大点
B : −−〃−− の極小点
C : 点Bと同じY座標値を持つ点  (曲線A-E と 直線B-D の交点)
D : 点B から Y軸 に下ろした 垂線の点
M : 3次方程式 H(X) の変曲点 ((Mx,My)=(z,Q) [Q>0])
N : 導関数 H'(X) の極小点 ((Nx,Ny)=(z,P)) [P<0])
E : 3次方程式 H(X) と X軸の交点
     (Exは、3次方程式の実数解
F : 点C から X軸 に下ろした 垂線の点
G : 点A から X軸 に下ろした 垂線の点 (導関数 H'(X) とX軸の交点)
H : 点B から X軸 に下ろした 垂線の点 (導関数 H'(X) とX軸の交点)
I : 曲線B-S〜 と X軸 の交点
      (Ixは、3次方程式の共役な複素数解の実数項
L : Y座標値がマイナス値のY軸上の任意点
J : 3次方程式 H(X) と 直線 Y=Lx の交点
K : 点C から 直線 Y=Lx に下ろした垂線の点
P : 点B から 直線 Y=Lx に下ろした垂線の点
Q : 曲線B-I-S〜 と 直線 Y=Lx の交点
      
変曲点MのY座標値が−の場合
 (Q < 0 の場合)

   
 各点の座標値 
 Hx-z = √(-P/3) = -(Gx-z)  [導関数の解より]
 Fx-z = 2*(Gx-z) = -2*(Hx-z)  [2重根(By=0)の場合より]
 Fx - Ex = 2*(Ix - Hx)  [曲線B-I-S〜 の定義より]
 Kx - Jx = 2*(Qx - Px)  [曲線B-I-S〜 の定義より]
 
    判 例 
O : (z,0)
H(X) : 3次方程式 X3 - zX2 + (P+z2-2z)X - (Pz-Q-2z2+z3)
H'(X) : 導関数 3X2 - 2zX + (P+z2-2z)
曲線B-I-S〜
        : 曲線C-E-J〜 を 直線C-K で反転し幅を半分にしたもの
          (R-S点間距離はJ-K点間距離の半分)
 
A : 3次方程式 H(X) の極大点
B : −−〃−− の極小点
C : 点Bと同じY座標値を持つ点  (曲線A-E と 直線B-D の交点)
D : 点B から Y軸 に下ろした 垂線の点
M : 3次方程式 H(X) の変曲点 ((Mx,My)=(z,Q) [Q<0])
N : 導関数 H'(X) の極小点 ((Nx,Ny)=(z,P)) [P<0])
E : 3次方程式 H(X) と X軸の交点
     (Exは、3次方程式の実数解
F : 点C から X軸 に下ろした 垂線の点
G : 点A から X軸 に下ろした 垂線の点 (導関数 H'(X) とX軸の交点)
H : 点B から X軸 に下ろした 垂線の点 (導関数 H'(X) とX軸の交点)
I : 曲線B-S〜 と X軸 の交点
      (Ixは、3次方程式の共役な複素数解の実数項
L : Y座標値がマイナス値のY軸上の任意点
J : 3次方程式 H(X) と 直線 Y=Lx の交点
K : 点C から 直線 Y=Lx に下ろした垂線の点
P : 点B から 直線 Y=Lx に下ろした垂線の点
Q : 曲線B-I-S〜 と 直線 Y=Lx の交点
 
 
   
         
   実数項    
   
上図 任意の3次方程式のグラフの 極小(大)点B と、
極小(大)点Bをとおる水平線との 交点C からそれぞれX軸に下ろした垂線のX座標値は、
簡約式をX軸の+方向に z (>0) だけ移動したことと、簡約式の導関数の解より
   
    Hx - z = -(Gx - z) (H-2)
    Hx - z = -Gx + z    
    -z - z = -Gx - Hx    
    z + z = Gx + Hx    
    2z = Gx + Hx (H-2-1)
  である
 
さらに、
X軸が B-C上にある場合(根の様子が2重根とそれとは異なる実数根1つ)を考慮すれば、
簡約式をX軸の+方向に z (>0) だけ移動したことより、
(または、根と係数の関係式(※下記式(H-5-1))より)
   
    Cx - z = -2*(Bx - z) (H-3)
    Cx - z = -2Bx + 2z    
    -z - 2z = -2Bx - Cx    
    -3z = -(Cx + 2Bx) (H-3-1)
    3z = Cx + 2Bx (H-3-2)
           
    Fx- z = -2*(Hx - z) (H-4)
    Fx- z = -2Hx + 2z    
    -z - 2z = -2Hx - Fx    
    -3z = -(Fx + 2Hx) (H-4-1)
    3z = Fx + 2Hx (H-4-2)
  も、あきらかである
 
   
     3次方程式 [g(Y)=Y3+AY2+BY+C] の根の様子が、
 『2重根 (β) と、それとは異なる実数根 (α) 1つ』のとき
 3次方程式を
   g(Y) = (Y-α)(Y-β)(Y-β)
         = Y3-(α+2β)*Y2+(2αβ+β2)*Y-αβ2
         = Y3+A*Y2+B*Y+C
 とすると、根と係数の関係式は、
      (1) -(α+2β) = A
      (2) 2αβ+β2 = B
      (3) -αβ2 = C
 式(H-1) より、
   
            (1') -(α+2β) = - 3z (H-5-1)
            (2') 2αβ+β2 = P+3z2 (H-5-2)
            (3') -αβ2 = Q-Pz-z3 (H-5-3)
   
上図 簡約式のグラフの 曲線B-I-S〜 は、
   『簡約式 F(X) の曲線C-E-J〜の部分を、
    直線C-K を基準にして幅を半分にし反転したものを、
    点Cを基準点にして、点Bへ複写したもの』
なので、
   
    Ex - Fx = -2*(Ix - Hx) (H-5)
  となり、
   
    Fx = -2*(Ix - Hx) (H-6)
  となる
また、式(H-4-2) より
   
    Fx = 3z - 2*Hx (H-7)
  となるので、両式の両辺をそれぞれ足して
   
    (Ex - Fx) + (Fx) = 3z - 2*(Ix - Hx) + (-2*Hx)    
    Ex + (-Fx + Fx) = -2*Ix + (2*Hx - 2*Hx) + 3z    
    Ex + (0) = -2*Ix + (0) + 3z    
    Ex = -2*Ix + 3z (H-8-1)
    -3z = -(Ex + 2*Ix) (H-8-2)
    Ix = -(Ex + 3z)/2 (H-8-3)
  となる
 
 
 
ゆえに、
根の様子が『1つの実根と共役な複素数解』の場合、
簡約式のグラフを書きさえすれば、(曲線B-I-S〜を追加しなくとも)
すべての実数項を、グラフより求めることが出来る
 
 
実際にグラフから求める手順は、
点Hを中心とする、直径 D=|Ex - Fx| の円と、
X軸の交点2つのうち、点E(実根)から遠い方が共役な複素数解の実数項となる
 
   
         
   虚数項    
   
 前述で、共役な複素数解の実数項が求まったので、
 次に、共役な複素数解の虚数項を考える
 
 3次方程式の根の様子が『1つの実根と共役な複素数解』の場合の各根を、
   
   
1つの実数根 α
共役な複素数根 β ± γi
   
   とすると、3次方程式は、
   
    F(X)  = (X-α)(X-(β+γi))(X-(β-γi))
 = X3 - (α+(β+γi)+(β-γi))*X2 + (α(β+γi)+(β+γi)(β-γi)+(β-γi)α)*X - α(β+γi)(β-γi)
 = X3 - (α+(β+β+γi-γi))*X2 + ((αβ+αγi)+(β*β-β*γi+γi*β-γi*γi)+(αβ-αγi))*X - α(β*β+β*γi-γi*β-γi*γi)
 = X3 - (α+(2β+0))*X2 + (αβ+αβ+β*β+(αγi-αγi)+(γi*β-β*γi)-(γi*γi))*X - α(β*β+(β*γi-γi*β)-(γi*γi))
 = X3 - (α+2β)*X2 + (2αβ+β2+(0)+(0)-(-γ2))*X - α(β2+(0)-(-γ2))
 = X3 - (α+2β)*X2 + (2αβ+β22)*X - α(β22)
   
       = X3 - (α+2β)*X2 + (2αβ+β22)*X - (αβ2+αγ2)
(H-9)
   ここで、
 3次方程式を
   
    g(X)  = X3 + A*X2 + B*X + C (H-10)
   とすると、
 3次方程式の根の様子が『1つの実根と共役な複素数解』の場合の
 根と係数の関係式
   
    (1)   -(α+2β) = A
(H-11-1)
    (2)   2αβ+β22 = B (H-11-2)
    (3)   - (αβ2+αγ2) = C (H-11-3)
   を得る
 
 よって、1つの実数根 α が解れば
 式(H-11-1) より、共役な複素数根の実数項 β を求めることができる
   
    β = -(α+A)/2 (H-12)
   さらに、
 1つの実根 α と求めた β および 式(H-11-2) より
 共役な複素数解の虚数項 γ を求めることができる
   
    γ = √{B - 2αβ - β2}
= √{B - 2α(-(α+A)/2) - (-(α+A)/2)2}
= √{B + 2α((α+A)/2) - ((α+A)2/4)}
= √{B + α(α+A) - ((α2+2Aα+A2)/4)}
= √{B + α2 + Aα - α2/4 - 2Aα/4 - A2/4}
= √{B + (α2 - α2/4) + (Aα - Aα/2) - A2/4}
= √{B + 3α2/4 + Aα/2 - A2/4}
   
      = √{B + 3α2/4 + Aα/2 - A2/4}
(H-13)
  または 式(H-11-3) より
   
    γ = √{(-C - αβ2)/α}
= √{(-C - α(-(α+A)/2)2)/α}
= √{(-C/α - (-(α+A)/2)2)}
= √{(-C/α - (α+A)2/4)}
   
      = √{-(C/α + (α+A)2/4)}
(H-14)
  この関係式にて、
両式のどちらからでも、虚数項を求めることが出来る
 
 
さらに、
両式は等しいので
   
     
√{B + 3α2/4 + Aα/2 - A2/4} = √{-(C/α + (α+A)2/4)}
B + 3α2/4 + Aα/2 - A2/4 = -(C/α + (α+A)2/4)
4B + 3α2 + 2Aα - A2 = -4C/α - (α+A)2
4B + 3α2 + 2Aα - A2 = -4C/α - α2 - 2Aα - A2
4Bα + 3α3 + 2Aα2 - A2α = -4C - α3 - 2Aα2 - A2α
(3α3 + α3) + (2Aα2 + 2Aα2) + (-A2α + 4Bα + A2α) + 4C = 0
3 + 4Aα2 + 4Bα + 4C = 0
α3 + Aα2 + Bα + C = 0 = F(α)
(H-14)
   
元の3次方程式に帰着した
 
 
   
         
       
 
 
 
         
 
精度(有効桁数)について
 
         
   
計算例は、倍精度浮動小数点数型の有効桁数15桁での演算結果で示す
 
 
 
         
  絶対値が一番小さい解  
  上述の、カルダノやビエタの解法などで求めた、絶対値が一番小さい3次方程式の解は、
他の2つの解と比べ精度が悪い [2]
 
そこで、
絶対値が一番小さい3次方程式の解の精度を、他の2つの解と同程度まで上げる為に、
以下の手順にて再計算した値を、絶対値が一番小さい解とする
 
 
3次方程式を
  f(X) = (X-a)(X-b)(X-c)
        = X3-(a+b+c)X2+(ab+bc+ca)X-abc
        = X3+A*X2+B*X+C
        ここに、
          A=-(a+b+c)
          B=ab+bc+ca
          C=-abc
上述の、カルダノやビエタの解法などで求めた3次方程式の解を、
  X1, X2, X3
とする
 
 
  (1) 根の様子が、3つの実根(異なる3つの実根、または、X1, X2が2重根)、
または、
1つの実根(X3) と 2つの互いに共役な複素数 (X1=(a+bi), X2=(a-bi))の時
 
根の絶対値の大小を 
 
  |X1| >= |X2| > |X3|
 
とするとき、
  C = -X1*X2*X3
なので、
 
  X3 = -C/(X1*X2)
 
より求める
 
 
【例】
F(X) = (X-12340)(X-5.678)(X-0.00098765)
       = X3-(12340+5.678+0.00098765)*X2+(12340*5.678+5.678*0.00098765+0.00098765*12340)*X-12340*5.678*0.00098765
       = X3-12345.67898765*X2+70078.7132088767*X-69.201198478
        ※係数に丸め誤差がない事を確認してください
 
ビエタの解法にて、「異なる3つの実根」の
  X1 = 12340+0i
  X2 = 5.67800000019088+0i
  X3 = 0.000987649811577285+0i
を得る
解の大小は、
  |X1| > |X2| > |X3|
なので、X1とX2を決定値、X3を再計算値とすれば、
  X3 = -C/(X1*X2)
     = 69.201198478/(12340*5.67800000019088)
     = 69.201198478/70066.5200023555
     = 0.000987649999966797
にて、精度良い解を得る
 
精度 (=求めた解/真値)
  解:[真値, 元解 (精度), 修正解 (精度)]
  X1:[12340, 12340 (100%), ---]
  X2:[5.678, 5.67800000019088 (100.000000003362%), ---]
  X3:[0.00098765, 0.000987649811577285 (99.9999809221166%), 0.000987649999966797 (99.9999999966382%)]
 
 
  (2) 根の様子が、3つの実根 [2重根と(それとは異なる)実数解1つの時]
 
根の絶対値の大小を 
 
  |X1| > |X2| = |X3|
 
X1(=a)を決定値、X2=X3(=b=c)を再計算するとき、
  C = -X1*X2*X2
であるので、
 
  X2(=X3) = √(-C/X1)
 
より求める
 
 
【例】
F(X) = (X-1230)(X-1.23)(X-1.23)
       = X3-(1230+1.23+1.23)*X2+(1230*1.23+1.23*1.23+1.23*1230)*X-1230*1.23*1.23
       = X3-1232.46*X2+3027.3129*X-1860.867
        ※係数に丸め誤差がない事を確認してください
 
判別式・導関数より求める解法にて、「3つの実数解 [2重根と(それとは異なる)実数解1つの時]」の
  X1 = 1230+0i
  X2 = 1.23000000000019+0i
  X3 = 1.22999999999968+0i
を得る
解の大小は、
  |X1| > |X2| = |X3|
なので、X1を決定値、X2とX3を再計算値とすれば、
  X2(=X3) = √(-C/X1)
     = √(-(-1860.867)/1230)
     = 1.23
にて、精度良い解を得る
 
精度 (=求めた解/真値)
  解:[真値, 元解 (精度), 修正解 (精度)]
  X1:[1230, 1230 (100%), ---]
  X2:[1.23, 1.23000000000019 (100.000000000015%), 1.23 (100%)]
  X3:[1.23, 1.22999999999968 (99.99999999997415%), 1.23 (100%)]
 
 
  (3) 根の様子が、1つの実根(X1) と 2つの互いに共役な複素数 (X2=(a+bi), X3=(a-bi))の時
 
根の絶対値の大小を 
 
  |X1| > |X2| = |X3|
 
X1(=a)は決定値、X2(=b)とX3(=c)を再計算するとき、
  f(X) = (X-a)(X-b)(X-c)
        = (X-X1)(X-b)(X-c)
        = X3-(X1+b+c)X2+(X1*b+b*c+c*X1)X-X1*b*c
        = X3+A*X2+B*X+C
であるので、
  A = -(X1+b+c) …(i)
  C = -X1*b*c …(ii)
また、
X2 X3は2つの互いに共役な複素数なので、
  X2 = p+qi
  X3 = p-qi
とすると
  b+c = X2+X3 = (p+qi)+(p-qi) = 2*p …(iii)
  b*c = X2*X3 = (p+qi)*(p-qi) = p2+p*q1-p*qi-q2*(i2) = p2+q2 …(iv)
となり、
(iii)(iv)を(i)(ii)に代入して
  A = -(X1+2*p) …(v)
  C = -X1*(p2+q2) …(vi)
より(v)(vi)を解いて、
 
  p = -(X1+A)/2
 
  C/X1 = -(p2+q2)
  q2 = -(p2+C/X1)
  ∴q = ±√{-(p2+C/X1)}
 
より、精度良い解を得る
 
 
【例】
F(X) = (X-1230)(X-(0.123+i))(X-(0.123-i))
       = X3-(1230+(0.123+i)+(0.123-i))*X2+(1230*(0.123+i)+(0.123+i)*(0.123-i)+(0.123-i)*1230)*X-1230*(0.123+i)*(0.123-i)
       = X3-1230.246*X2+303.595129*X-1248.60867
        ※係数に丸め誤差がない事を確認してください
 
カルダノの解法にて、「1つの実数解と2つの互いに共役な複素数解」の
  X1 = 1230+0i
  X2 = 0.123000000000104+1.00000000000413i
  X3 = 0.123000000000104-1.00000000000413i
を得る
解の大小は、
  |X1| > |X2| = |X3|
なので、X1(=a)を決定値、X2(=b)とX3(=c)を再計算すれば、
F(X) = (X-1230)(X-b)(X-c)
       = X3-(1230+b+c)*X2+(1230*b+b*c+c*1230)*X-1230*b*c
       = X3-(1230+b+c)*X2+(1230*(b+C)+b*c)*X-1230*b*c
より
  -(1230+b+c) = -1230.246 …(i)
  1230*(b+C)+b*c = 303.595129 …(ii)
  -1230*b*c = -1248.60867 …(iii)
なので
  (i)より b+c = 0.246
  (iii)より b*c = 1.015129
となる
X2 X3は2つの互いに共役な複素数なので、
  X2 = p+qi
  X3 = p-qi
として、
  b+c = X2+X3 = (p+qi)+(p-qi) = 2*p = 0.246
  b*c = X2*X3 = (p+qi)*(p-qi) = p2+p*q1-p*qi-q2*(i2) = p2+q2 = 1.015129
を解いて
  p = 0.246/2 = 0.123
  (0.1232)+q2 = 1.015129
  q2 = 1.015129-0.015129 = 1
  ∴ q = ±1
となり
  X2 = p+qi = 0.123+i
  X3 = p-qi = 0.123-i
を得る
 
 
注意事項 
  この、絶対値が一番小さい解の精度改善は、
  正しい判別値Dを求めている事が前提です
  よって、判別値Dを正しく求められない判別エラーのケースは、
  精度の改善は不可能です
 
  【判別エラーの例/2重根&近接解】
  F(X) = (X-0.20001)(X-0.20001)(X-0.20002)
        = X3-(0.20001+0.20001+0.20002)*X2+(0.20001*0.20001+0.20001*0.20002+0.20002*0.20001)*X-0.20001*0.20001*0.20002
        = X3-0.60004*X2+0.1200160005*X-0.008001600100002
         ※係数に丸め誤差がない事を確認してください
 
  判別値 [D:判別式] = D/27 = -(Q*Q+4*P*P*P) ≒ -6.16828E-34 < 0
 
 正しい根の様子は「3つの実数解の2重根」(D/27=0)であるが、
 「1つの実数解と2つの互いに共役な複素数解」(D/27<0)と判別エラー
 
 
         
  ニュートン法  
  解の精度改善(向上)法には、実数ならば、ニュートン法を利用できる
当方は未確認だが、複素数解でも、ニュートン法を適用できる [4], [5], [8][8']
  [4]のP294-295 に、4次方程式の零点(解) f(z)=z^4-2z3+1.25z2-0.25z-0.75 を複素数のニュートン法で解く例題あり
  [8]or[8']のP73-78 に、3次方程式の解(複素根)を2次元のニュートン法で解く解説と例題あり
 
たとえば、多倍長(有効桁数15桁以上)で3次方程式の解を求める場合に、
初期値に、倍精度(有効桁数15桁)で求めた上述のカルダノやビエタの解法などで求めた値を使用すれば、
コストをかけずに、精度が良い解を求める事が出来る
※ただし、判別値Dを高精度で求めて、正しい『根の様子』を判別した上で適用することが重要であることに留意する必要がある
 
 
 
 
         
  近接解  
  近接解を精度良く解を求める事が出来ないことは、よく知られた事である
 
    【近接解の例】
    3次方程式を、
  F(X) = (X-0.2)(X-0.20001)(X-0.20002)
        = X3-(0.2+0.20001+0.20002)*X2+(0.2*0.20001+0.20001*0.20002+0.20002*0.2)*X-0.2*0.20001*0.20002
        = X3-0.60003*X2+0.1200120002*X-0.00800120004
         ※係数に丸め誤差がない事を確認してください
として、F(X)=0の解を、
ビエタの解法にて、「異なる3つの実根」の
  X1 = 0.199999959133848+0i
  X2 = 0.200010082244345+0i
  X3 = 0.200019958621808+0i
を得る
 
精度 (=求めた解/真値)
  解:[真値, 求めた解 (精度)]
  X1:[0.2, 0.199999959133848 (99.999979566924%)]
  X2:[0.20001, 0.200010082244345 (100.000041120116%)]
  X3:[0.20002, 0.200019958621808 (99.9999793129727%)]
 
 
    【参考/近接解でない例】
    3次方程式を、
  F(X) = (X-0.2)(X-0.30001)(X-0.40002)
        = X3-(0.2+0.30001+0.40002)*X2+(0.2*0.30001+0.30001*0.40002+0.40002*0.2)*X-0.2*0.30001*0.40002
        = X3-0.90003*X2+0.2600160002*X-0.02400200004
         ※係数に丸め誤差がない事を確認してください
として、F(X)=0の解を、
ビエタの解法にて、「異なる3つの実根」の
  X1 = 0.2+0i
  X2 = 0.300009999999999+0i
  X3 = 0.400020000000001+0i
を得る
 
精度 (=求めた解/真値)
  解:[真値, 求めた解 (精度)]
  X1:[0.2, 0.2 (100.0%)]
  X2:[0.30001, 0.300009999999999 (99.9999999999997%)]
  X3:[0.40002, 0.400020000000001 (100.0%)]
 
 
         
  2重根  
  2重根は、上述の、カルダノやビエタの解法などでは、精度良く解を求める事が出来ない [2]
 
  2重根の例は、「絶対値が一番小さい解」の注意事項の例を参照
 
 
 
         
  3重根  
  3重根を a とすると、 3次方程式は、  
    f(X) = (X-a)(X-a)(X-a)
= X3-3*a*X2+3*a*a*X-a*a*a
= X3+ A*X2+ B*X+ C
  ここに、
    A = -3*a
    B = 3*a*a
    C = -a*a*a
 
  となる
 
ここで、演算できる有効桁数を m桁 とすると、
C=-a*a*aより、aに設定できる最大桁数は m_a=m/3桁 となる
たとえば、演算できる有効桁数が、
倍精度浮動小数点数型の m=15桁 とすると、m_a=15/3=5桁 となる
これにより、(倍精度で計算する場合には)
『3重根のとき、求まった解の有効桁数は最大でも 5桁』
となることに注意する必要がある
 
3重根のときの解は、
X=-A/3=-(-3*a)/3
より求めているので、一見、求めた解の有効桁数は、
演算できる有効桁数と同じ m=m_a=15桁 となると思えそうだが、
定数項 C の有効桁数が 15*3=35桁 無いと、
丸め誤差の影響で、判別式がD=0とならないため、
3重根と判別されず、正しい解を求めることが出来ない
ただし、別途、判別式の算出に必要な有効桁数も考慮する必要がある
 
         
         
  3重根時の定理  
  計算の有効桁数が15桁(倍精度)のとき、求まった解が3重根ならば、
その解の有効桁数は5桁以下である
言い換えれば、判別式がD=0となる(倍精度で求めることが可能な)3重根は、
解が5桁以下の場合のみなので、
『求まった解が3重根のとき、その解が正しければ、6桁以上はあり得ない』
ただし、計算の有効桁数が15桁(倍精度)のとき
 
         
  参考文献[2] P98-99,7.3次方程式III(重根)  
         
         
  追加の考察  
  理論上は上記の通りであるが、
実際に有効桁数15桁で計算させてみると、(他の誤差の影響で)理論と異なる結果となるケースがある
 
  f(X) = (X-a)(X-a)(X-a)
= X3-3*a*X2+3*a*a*X-a*a*a
 
  a=0.2222222とすると
 
= X3-3*0.2222222*X2+3*(0.22222222)*X-0.22222223
= X3-3*0.2222222*X2+0.14814811851852*X-0.010973933607682085048
= X3-   0.6666666*X2+0.14814811851852*X-0.0109739336076821       (赤字:有効桁数15桁で丸め)
= X3+A*X2+B*X+C
  ここに
       A=-0.6666666
       B=0.14814811851852
       C=-0.0109739336076821 (丸め誤差を含む)
 
  係数Cが有効桁数15桁に丸められたので、A,B,Cは3重根(X=0.2222222)の係数ではない
しかしながら判別値を求めると、
 
    P = (3*B-A*A)/9
= (3*0.14814811851852-(-0.6666666)(-0.6666666))/9
= (0.44444435555556-0.44444435555556)/9
= (0)/9
= 0
 
    Q = {27*C-9*A*B+2*A*A*A}/27
= {27*(-0.0109739336076821)-9*(-0.6666666)*(0.14814811851852)+2*(-0.6666666)3}/27
= {-0.2962962074074167+0.888888622222248888888-0.592592414814832592592}/27
= {-0.296296207407416 +0.888888622222249          -0.592592414814833          }/27 (赤字:有効桁数15桁で丸め)
  ↑ VBAのイミディエイト(およびウォッチ)では
    -0.296296207407417(=27*-0.0109739336076821) となるが
    VBAの計算中の値をウォッチした結果は、Cが指数形式で格納され
    -0.296296207407416(=27*-1.09739336076821E-2)
    何故か値が切り捨てとなる
= 0
 
  ゆえに  
    D = -(4*P3+Q2)
= -(4*03+02)
= 0
 
  となる
判別式D=0、および、P=0なので、3重根と判別され、
3重根
 
    X = -A/3
= -(-0.6666666)/3
= 0.2222222
 
  を7桁で得る
 
係数が(A,B,C)=(-0.6666666,0.14814811851852,-0.0109739336076821)のとき
(係数Cが有効桁数15桁に丸められているので)正しくは3重根で無いにもかかわらず、
7桁で3重根が求められてしまう
 
上記の例は、複数の誤差の影響で、たまたま3重根と判別されたが、
係数 C が丸め誤差を含んでいると、通常は、3重根と判別されない可能性が高い
もしも、係数 C=-0.0109739336076821 が丸め誤差の無い正しい値であるならば、
上記の結果は判別エラーであるが、実際に計算されるケースを想定すると、
係数が(A,B,C)=(-0.6666666,0.14814811851852,-0.0109739336076821)のとき
ユーザーは、3重根を求めている可能性があることも考慮する必要があるかもしれない
(ただし、他の同様のケースで、それを計算に反映させるのは困難である)
 
         
         
 
 
 
         
   
その他
 
 
         
 

  参考文献・サイト  

 
  [1]  数学が育っていく物語 第5週 方程式   
    著者 志賀浩二  
    発行 1994年8月8日 第1刷発行  
    出版社 (株)岩波書店   
    ISBN 4-00-007915-8  
    Info http://www.iwanami.co.jp/.BOOKS/00/8/0079150.html  
    P25-51,火曜日 3次方程式と4次方程式  
  [2]  数値計算における誤差(bit臨時増刊号を単行本に改装発行したもの)  
     著者 山内二郎, 戸川隼人, 山下真一郎, 宇野利雄, 室谷義昭, 柴垣和三雄, 下地貞夫,
川面恵司, 三輪順子, 永坂秀子, 高橋俊秀, 平野菅保, 田辺國士, 清水辰次郎,
小林光夫, 吉澤正, 森口繁一, 武田洋, 牛島和夫
 
     発行 昭和55年6月15日 初版3刷発行  
     出版社 共立出版(株)   
     ISBN 3041-119201-1371  
    Info http://www.kyoritsu-pub.co.jp/bit/bit.html  (bitのホームページ)  
     ※ P94-108,代数方程式の誤差,平野菅保 [P98-99,7.3次方程式III(重根)]  
  [3]  数値計算の基礎 岩波講座 応用数学2 [方法1]  
    著者 森正武, 室田一雄, 杉原正顕  
    発行 1993年5月14日 発行  
    出版社 (株)岩波書店   
    ISBN 4-00-010512-4  
    Info http://www.iwanami.co.jp/.BOOKS/01/4/0105122.html  
    P4,第1章 数値表現と丸め誤差  
  [4]  計算機による 数値計算法  
    原題 Applied Numerical Methods  
    著者 B.Carnahan, H.A.Luther, J.O.Wilkes  
    訳者 藤田宏, 森正武, 名取亮, 三井斌友, 中村正彰, 花田孝郎, 沼田一道  
    発行 昭和57年2月25日 初版発行  
    発行所 日本コンピュータ協会  
    発売元 科学技術出版社   
    P292-303, 第3章 3.7ニュートン法  
  [5]  より進んだ内容(ニュートン法)  
    URL http://akita-nct.jp/yamamoto/lecture/2005/5E/nonlinear_equation/text/html/node8.html  
  [6]  代数学講義 改訂新版 おすすめ!  
    著者 高木貞治 (1875-1960) 【著作権の保護期間が切れた年月日:2011年(H23)1月1日  
    発行 1965(S40)/11/25  
    出版社 共立出版(株)   
    P176-180, § 34. 実三次方程式,三角函数による解法  
    Info http://www.kyoritsu-pub.co.jp/bookdetail/9784320010000  
    URL http://kamegai.on.coocan.jp/html/soft.htm#HTML_Book1 txt(html)データ公開中!(一部のみ)   
  [7]  複素数と複素数平面 新数学入門シリーズ 3  
    著者 一松信 (ひとつまつ しん)  
    発行 1993年8月28日 第1版  
    出版社 森北出版(株)   
    P119-122, 7.4不還元の場合  
    Info http://www.morikita.co.jp/shoshi/ISBN978-4-627-03539-3.html [POD版書籍]  
  [8]  理工学のための 数値計算法  
    著者 水島二郎, 柳瀬眞一郎  
    発行 2002年09月25日 初版  
    出版社 (株)数理工学社 [(株)サイエンス社 グループ]  
    ISBN 978-4-901683-01-2  
    P73-78, 4.3.2 2次元ニュートン・ラフソン法  
    Info http://www.saiensu.co.jp/?page=book_details&ISBN=ISBN4-901683-01-2  
  [8']  理工学のための 数値計算法 [第2版]  
    著者 水島二郎, 柳瀬眞一郎  
    発行 2009年07月25日 第2版  
    出版社 (株)数理工学社 [(株)サイエンス社 グループ]  
    ISBN 978-4-901683-70-8  
    P73-78, 4.3.2 2次元ニュートン・ラフソン法  
    Info http://www.saiensu.co.jp/?page=book_details&ISBN=ISBN978-4-901683-70-8&YEAR=2009  
  [9]  代数学と幾何学  
    著者 矢野健太郎  
    発行 昭和33年3月5日 第1版  
    出版社 (株)裳華房   
    ISBN 4-7853-1010-3 (復刊 978-4-7853-1010-3)  
    P43, 例14. X3+3pX+q=0 の判別式を求む.  
    Info【復刊】 http://www.shokabo.co.jp/mybooks/ISBN978-4-7853-1010-3.htm  
    Infoコラム 裳華房の“古書”探訪(1) 矢野健太郎 著『代数学と幾何学』  
         
    その他の図書
(3次方程式の解(の公式)を修得・プログラムする上で参考になる図書)
 
  要諦解説 数学公式辞典   
    著者 笹部貞市郎  
    出版社 (株)聖文新社 (旧・聖文社)  
    ISBN ---  
    Info http://www.seibunshinsha.co.jp/books/ISBN4-7922-0027-X.html (改訂版)  
   ・ 数学要項公式集   
   編者 小松勇作  
   出版社 (株)廣川書店   
   ISBN  ---  
   ・ NUMERICAL RECIPES in C 日本語版  
    著者 W.H.Press, B.P.Flannery, S.A.Teukolsky, W.T.Vetterrling  
    訳者 丹慶勝市, 奥村晴彦, 佐藤俊郎, 小林誠  
    出版社 (株)技術評論社   
    ISBN 4-87408-560-1  
    Info http://gihyo.jp/book/1993/4-87408-560-1   
   ・ Handbook of Mathematical Functions: with Formulas, Graphs, and Mathematical Tables  
    編者 Milton Abramowitz, Irene A. Stegun  
    出版社 Dover Publications  
    発行 1964  
    ISBN ---  
      http://www.knovel.com/web/portal/basic_search/display?_EXT_KNOVEL_DISPLAY_bookid=528
  ※NISTの検索 http://library.nist.gov/uhtbin/webcat  [Keyword:Handbook of Mathematical Functions]
     に表示されるURLのリンク先
 
      http://scholar.google.com/scholar?q=Handbook+of+Mathematical+Functions  
      http://books.google.com/books?hl=ja&id=MtU8uP7XMvoC  
      http://www.convertit.com/go/convertit/reference/ams55.asp (ウェブ版)  
   ・ NIST Handbook of Mathematical Functions   
    編者 F.W.J.Olver, D.W.Lozier, R.F.Boisvert and C.W.Clark  
    出版社 Cambridge University Pres  
    発行 2010/05/17  
    ISBN10 9780521140638  
    ISBN13 978-0521140638  
    ASIN 0521140633  
    "Handbook of Mathematical Functions"の約50年ぶりの改訂版  
      http://www.cambridge.org/catalogue/catalogue.asp?isbn=9780521192255  
      http://dlmf.nist.gov/ (フリーのWeb版 by アメリカ合衆国の国立標準技術研究所)  
         
    インターネットのサイト
(3次方程式の解(の公式)を修得・プログラムする上で参考になるサイト)
 
   ・ http://ja.wikipedia.org/wiki/%E4%B8%89%E6%AC%A1%E6%96%B9%E7%A8%8B%E5%BC%8F  
      ウィキペディア 『三次方程式』  
   ・ http://keisan.casio.jp/has10/Menu.cgi?path=04000000%2e%90%94%8aw%8c%f6%8e%ae%8fW%2f03000100%2e%95%fb%92%f6%8e%ae  
      http://keisan.casio.jp 高精度計算サイト (カシオ計算機株式会社) [数学公式集 > 方程式]  
   ・ http://mathworld.wolfram.com/CubicFormula.html  
      Wolfram Research, Inc. の数学Webサイトの解説
  その他
    Wolfram Webリソース
      http://www.wolfram.com/webresources.ja.html
    オンライン計算知識エンジン
      http://www.wolframalpha.com/
 
   ・ http://dlmf.nist.gov/1.11#iii   
      §1.11(iii). Polynomials of Degrees Two, Three, and Four
DLMF(:NIST Digital Library of Mathematical Functions)
NIST(:National Institute of Standards and Technology): アメリカ合衆国の国立標準技術研究所
http://dlmf.nist.gov/
※"Handbook of Mathematical Functions"の改訂版 "NIST Handbook of Mathematical Functions"の
    フリーのWeb版
 
         
    インターネットのサイト
(PDF)
 
   ・  http://name.umdl.umich.edu/ACA7397.0001.001  
      The theory of equations: with an introduction to the theory of binary algebraic forms.
By William Snow Burnside and Arthur William Panton.
Author: Burnside, William Snow, 1839-ca. 1921.
Publication Info: Ann Arbor, Michigan: University of Michigan Library 2005
 
         
  ビエタ(ビエト:Viete)の解法の 幾何学的な意味を解説したサイト(PDF)
(式と付図を見比べるだけで参考になります)
 
   ・ http://www.nickalls.org/dick/papers/maths/descartes2006.pdf  
   ・ http://www.nickalls.org/dick/papers/maths/cubic1993.pdf
http://www.jstor.org/stable/3619777
 
      R.W.D. Nickalls. A new approach to solving the cubic: Cardan's solution revealed.
Mathematical Gazette, 77 (Nov 1993) pp. 354-359 (JSTOR).
 
   ・ http://www.nickalls.org/dick/papers/maths/cubictables1996.pdf  
      R.W.D. Nickalls. Solving the cubic using tables 11. Theta; 10 (No.2, Autumn, 1996) pp. 21-24.
(Pub: Mathematics Department, Manchester Metropolitan University, UK) [issn: 0953-738]
 
         
         
 
 
 
         
   
図書館
 
 
         
      全国の図書館は相互協力を行っています利用者は近くの図書館に申込をすれば、その図書館にない資料を他の図書館から送ってもらい利用することができますそのために、図書館は複数の図書館の所蔵資料を一元的に調べることができる目録(総合目録)を作成してきましたインターネット上でもさまざまな総合目録が検索できます  
      公共図書館Webサイトのサービス より  
         
         
 

  リンク・図書検索  

 
      リンク 図書検索  
      国立国会図書館     NDL-OPAC (蔵書検索・申込) 
 国立国会図書館サーチ(NDL Search)  2012年1月6日に正式サービス
 国立国会図書館デジタルコレクション
 
      国立公文書館  デジタルアーカイブ (所蔵目録検索・デジタル画像の閲覧)   
      日本図書館協会
   図書館リンク
  (公共図書館, 私立図書館, 大学図書館)
公共図書館Webサイトのサービス おすすめ!
  都道府県内の図書館 横断検索システム
 
      国立情報学研究所
  目録所在情報サービス NACSIS-CAT系ツール
NACSIS Webcat (WWW検索サービス) 学生ならこちら!
  全国の大学図書館等が所蔵する図書・雑誌の
  総合目録データベースを、WWW上で検索
  (注意)平成24(2012)年度末を以てサービス終了
  Webcat終了予定および後継の検索サービスについて(2011/06/17)

後継サービス(公開:2011年11月9日)
CiNii Books (大学図書館の本をさがす)
  CiNii Books、全文検索の公開について (2011年11月9日)
 
     

  

   
         
 
 
 
         
   
更新履歴
 
 
         
   
 年/月/日     分類       内 容   
2019/08/26  追加編集  図書一覧に 『現代数学百科 (ブルーバックス B-129)』を追加
2018/12/20  修     正  公式 (-Atn(X)=Atn(-X)) ← (Atn(X)=Atn(-X)) [式(D-20-1-3) 下]
2017/08/01  追加編集  図書一覧に 『数学公式事典 (改訂版)』を追加
2017/07/20  追加編集  『重要』説明部の編集もれ修正 6種類←5種類
2017/06/28  追加編集  確認が出来た簡約式 の表に g(X)=X^3 + 3*P*X - 2*Q と
図書一覧に 『虚数iの不思議 数の生い立ちから複素数まで』(ブルーバックス B-833)を追加
2016/06/14  更     新  数学要項 定理公式証明辞典 と 要諦解説 数学公式辞典 の infoリンクを更新
2016/02/10  編     集  変数をXに統一し 関連記述を追加・編集
『チルンハウス変換』関連記述を追加し 関連記述を追加・編集
3次方程式の解法の解説 重根の場合 を編集
2015/12/08  編     集  内部書式の編集
2015/04/15  追加編集  重要に、確認した簡約式一覧表を追加し 関連記述を追加・編集
2015/01/07  追加編集  (F-3)、(F-4)に図を追加し 関連記述を追加・編集
2014/12/26  加筆編集  簡約式に1種 [g(Y)=Y3-P*Y-Q] を加え 関連記述を追加・編集
2014/12/21  加筆編集  簡約式 [g(Y)=Y3-3*P*Y-2*Q] に『C言語による 最新 アルゴリズム事典』を追加(一部編集)
2014/12/15  加筆編集  数学要項 定理公式証明辞典 の誤植確認の記述を追加(一部編集)
2014/12/13  加筆編集  簡約式に1種 [g(Y)=Y3-3*P*Y-2*Q] を加え 関連記述を追加・編集
2014/06/11  加     筆  式 (D-20-1-1) 前に 適用式の説明を追加
2014/05/10  加     筆  末尾 Copyrightに 2014 を追加
2014/05/08  加     筆  式(E-7)に 正規化した3次方程式 (A-2) の表記を加筆
式(E-8)に 括弧加筆
2014/03/06  加     筆   『基準とする式(簡約式)』別 比較 および 図書一覧 の ”判別式 D の四則計算の計算回数” に
 根の様子との関係 を加筆
2014/01/30  追     加   『基準とする式(簡約式)』別 比較 および 図書一覧 NDLDCリンク先の出版年追加
2014/01/29  編     集   『基準とする式(簡約式)』別 比較 および 図書一覧 のコメントを一部編集
2014/01/28  追     加   『基準とする式(簡約式)』別 比較 および 図書一覧 に 国立国会図書館デジタルコレクション へのリンク追加
    図書館向けデジタル化資料送信サービス [参加館一覧] がある物のみ
 リンク・図書検索 に 国立国会図書館デジタルコレクション を追加
2013/12/05  追     加   『基準とする式(簡約式)』別 比較 および 図書一覧 の 図書一覧 に『スミルノフ 高等数学教程 2』追加 ほか
2013/11/28  編     集   指数表記を上付文字に統一 (2←^2、3←^3、(1/3)←^(1/3)、(1/2)←^0.5)
2013/11/26  修     正   「Y3+3*P*Y+Q」の式(C-6) (t2+Q*t-P3=0←t2+Q*t-P3/27=0)
2013/11/25  追     加   『ラマヌジャンの遺した関数』の訳者HP(正誤表など)リンク
2013/11/24  修     正   『判別式 D の四則計算の計算回数』の表 (-D/108←-D/54)
2013/11/23  追     加   『基準とする式(簡約式)』別 比較 および 図書一覧 の 図書一覧 に『共立 数学公式』追加 ほか
2013/11/16  加筆編集 
 変     更
 3つの簡約式を列記するスタイルに変更、およびその関連箇所
 用語変更 [変曲点←対称点] ほか
2013/06/21  追     加   式(A-4-2)の解説に 参考文献[9] の但し書き ほか
2013/06/20  追     加   3次方程式の判別式の解説に もっと簡単な方法 および 参考文献[9] 代数学と幾何学 矢野健太郎著
2013/05/27  追     加   式(A-0-1), 式(A-1)の前文
2013/03/26  編     集   前書き(式(A-5)注意事項)の書式
2013/02/21  修     正   式(C-6)の直前 2次方程式の解と係数の関係 の式 (Z←E)
2012/12/19  変     更   式(F-13),(F-12-1),(F-12-2)の2重根の変数 (Z←XX)
2012/11/09  追     加   グラフの形状から分類の表に、P(グラフの形状)と根の様子の関係を追加
2012/11/06  加     筆   まえがきに『…数値計算することを前提…』を加筆
2012/11/06  追     加   式(B-11) の注意に h(Y) = Y3 + P*Y + Q = 0 の場合追加
2012/11/04  追     加   参考文献 理工学のための 数値計算法 [第2版] 水島二郎, 柳瀬眞一郎 著
2012/10/22  追     加   参考文献 理工学のための 数値計算法 水島二郎, 柳瀬眞一郎 著
2012/06/30  追     加   参考文献 複素数と複素数平面 新数学入門シリーズ3 一松信 著
2012/06/28  追     加   参考文献 代数学講義 改訂新版 高木貞治 著
2012/03/01  修     正   式(D-20-1-1) 算出途中の式
    Atn[Q/√{-27*(4*(P3)+27*(Q2))/27}]+π/2 ← Atn[Q/√{-(4*(P3)+27*(Q2))}]+π/2
2012/02/21  更     新   国立国会図書館リンク 国立国会図書館サーチ(NDL Search)←NDL-OPAC (蔵書検索・申込)
2012/02/11  追     加   「D/27>=0 (D>=0) かつ P=0, Q=0 の場合」式(D-22)の下に、「x1, x2, x3 の大小の順」を追加
2012/01/05  追     加   リンク CiNii Books (大学図書館の本をさがす)
2011/12/23  修     正   式(B-5-6)の変数を取り違えていたのを修正 (w←v)
2011/11/07  修     正   式(F-6-1),(F-6-2)の √前の符号を、(F-6-1)と(F-6-2)で取り違えていたのを修正
2011/10/29  追     加   「3次方程式の判別式Dの値 と X軸(Y=0)の関係」の表下に、3次方程式の解 ワークシート版へのリンク追加
2011/10/06  修     正   参照式番号[3次方程式の正規化 1行目(A-0)←(0)]、目次不要空白削除
2011/10/05  追     加   内部書式(列幅)
2011/10/04  変     更   解説範囲の表 還元不能の場合のカルダノの解法の備考
2011/10/03  追     加   参考文献・サイト [4] の”計算機による 数値計算法”に、原書タイトル(原題)を追加
2011/10/01  修正追加   絶対値が一番小さい解 例(2)から3つの実根(X2、X3が2重根)の時を分離し(2)に、
 1つの実根(X1) と 2つの互いに共役な複素数を(3)に
2011/09/29  加筆編集   ニュートン法 多倍長の加筆
2011/09/28  追加編集 
 変     更 
 「精度(有効桁数)について」に「絶対値が一番小さい解」「ニュートン法」「近接解」「2重根」ほか若干編集
 項目名 「精度(有効桁数)について」 ほか
2011/09/27  変     更 
 追     加 
 語句変更 
 修     正 
 更新履歴 独立分離
 式(A-4)の備考に、PとQの図形的な意味を追加
 対称点(極大極小の中点)←極大極小の中点
 3次方程式の判別式Dの値 と X軸(Y=0)の関係表 (A)の極大〜極小 傾き>0追加
2011/09/07  修     正 
 消     去 
 修     正 
 ビエタの解法の解説 式(D-6)の※備考[>0←>=0]と他1箇所
 ビエタの解法の解説 θの計算部のP=0のとき
 式(D-4)の+演算子の上付修飾除去
2011/07/30  追     加
 修     正
 追     加
 追     加
 修     正
 著作権表記
 式(F-7)の変形
 式(F-7)前部説明文に正の解説(0より大きい実数)
 求めた 3次方程式の解 の精度(有効桁数)について/3重根時 のABC式
 内部書式
2011/07/29  修正追加 
 追     加 
 消     去 
 加     筆 
 修     正 
 式(F-8) 修正および計算式追加
 式(D-20-1) 以降の3θ計算 式番号(D-20-1-n)
 式(D-20-1) 以降の3θ計算 重複していた式
 3次方程式の解 の解説 前文
 ビエタの解法の解説 > D/27>=0 (D>=0) の場合 (6行目) 参照式番号[(B-11)←(11)]
2011/07/13  更     新   リンク 日本図書館協会
2011/06/18  加     筆   図書館のリンク・検索
2011/06/17  修     正   重根の場合(判別式または導関数より求める解法)の解説の参照先の式番号/式(E-1)(E-2)の上行
2011/04/25  加     筆   3次方程式の判別式Dの値とX軸(Y=0)の関係の表)
2011/04/06  修     正 
 修     正 
 修     正 
 修     正 
 修     正 
 追加の考察の赤字修飾もれなど
 べき乗^表記を上付修飾へ変更
 式(F-3),(F-4)の解説部
 式(F-12-1),(F-12-2)の解説部
 ビエタの解法の解説の参照先の式番号/式(D-21)の上行
2011/04/05  加     筆   3次方程式の判別式Dの値とX軸(Y=0)の関係の表
2011/03/31  加     筆   中間点Mxの算出
2011/03/30  作     成   新規公開
 
   
         

 

Copyright (C) 2011, 2012, 2013, 2014, 2015, 2016, 2017 Akinori Kamegai All Rights Reserved.