(参考文献:Numerical Recipes in C, 5.5 二次方程式、三次方程式)
二次方程式は以下のように定義される。
(1.1) |
ここで、 は求めるべき解であり、 は非ゼロのスカラー、 、 はスカラーである。
この方程式の解 の種類は、 以下の判別式 によって決定される。
(1.2) |
もし、 が0の場合、解は一つの重根 となる。
(1.3) |
もし、 が正の場合、解は二つの実根 、となる。
(1.4) |
もし、 が負の場合、解は二つの虚根となる。
なお、解をロバストに求めるために、以下の手法を用いる。
まず、以下の を求める。
(1.5) |
これを用いて、
(1.6) |