next up previous contents
: 実装 : 代数方程式 : 実装   目次

三次方程式

(参考文献:Numerical Recipes in C, 5.5 二次方程式、三次方程式)

三次方程式は以下のように定義される。


$\displaystyle x^3 + a x^2 + b x + c = 0$     (1.7)

ここで、 $x$ は求めるべき解であり、 $a$$b$$c$ はスカラーである。

この方程式の解 $x$ の種類は、 以下の判別式 $d$ によって決定される。


$\displaystyle d = Q^3 - R^2$     (1.8)

ここで、 $Q$$R$ は以下のように定義される。


$\displaystyle Q = \frac{a^2 - 3 b}{9}$     (1.9)


$\displaystyle R = \frac{2 a^3 - 9 a b + 27 c}{54}$     (1.10)

もし、$d$ がゼロまたは正であれば、 この方程式は3つの実根を持つ。


$\displaystyle x_0$ $\textstyle =$ $\displaystyle -2 \sqrt{Q} \cos{ \frac{\theta}{3} } - \frac{a}{3}$  
$\displaystyle x_1$ $\textstyle =$ $\displaystyle -2 \sqrt{Q} \cos{ \frac{\theta + 2 \pi}{3} } - \frac{a}{3}$  
$\displaystyle x_2$ $\textstyle =$ $\displaystyle -2 \sqrt{Q} \cos{ \frac{\theta + 4 \pi}{3} } - \frac{a}{3}$ (1.11)

ここで、 $\theta$ は以下のように定義される。


$\displaystyle \theta = \arccos{ \frac{R}{ \sqrt{Q^3} } }$     (1.12)

一方、 もし、$d$ が負であれば、 この方程式は1つの実根を持つ。


$\displaystyle x = - sgn( R ) ( e + \frac{Q}{e} ) - \frac{a}{3}$     (1.13)

ここで、 $e$ は以下のように定義される。


$\displaystyle e = (\sqrt{-d} + \left\vert R \right\vert )^{1/3}$     (1.14)




next up previous contents
: 実装 : 代数方程式 : 実装   目次
Hiroshi KAWAI 平成15年8月11日