20081127
カルダノ法 3つの実数根についてのメモ
カルダノ法によって3次方程式の根を求めると,3つの実数解が得られる条件において3乗根の中に虚数を含む式に計算を阻まれる状態に なります.数学的にはまったく問題無いのですが電算には適さないので,ここで複素数のn乗(根)について実部,虚部に展開しておこうと いうメモ的な記事になります.
x3+a1x2+a2x+a3 = 0
上式の方程式の根は,カルダノ法という方法によってxを代数的に求めることができます.その根の公式は次の通り.
上式としたとき方程式の根は次式の通り
ここで
D = Q3 +R2
とすると
- D > 0 : 1つの実数根と2つの複素数根
- D = 0 : 2つの実数根,うち1つは重根
- D < 0 : 3つの実数根
ここで上の3番目の条件D < 0が,すべて実数解をもつにもかかわらず,3乗根の中に虚数を含む式が登場してしまいます.complexライブラリをもつ 言語では,そのまま計算できますが,標準の表計算ソフトなんかでは,計算できないと思いますので,D < 0 条件 におけるその後の展開をメモしておきます.
一般式として次式を求めていきます.
(a + ib)x ---(1)
ただし,a,b,xは実数.
括弧内を極座標に変換します.
a + ib = r(cosθ + isinθ)
rおよびθは
※tan-1は,360degの範囲で適応できないので,各象限にθを要補正.
オイラーの関係式より
cosθ + isinθ = eiθ
よって(1)は
(a + ib)x = rxeixθ
= rx(cosxθ + isinxθ)
ということで,実部,虚部に展開できました.
ここで,D < 0 におけるS,T は
すると,3つの実数根x1,x2,x3は 根の公式より
Dによる条件分岐で使い分ける...以上,自分用メモでした.
[記事URL] http://okawa-denshi.jp/blog/?th=2008112700
カテゴリー:その他(10)
カテゴリー:その他(10)