四次方程式を解く

フェラーリの方法では、まず四次方程式を変数変換し、三次項のない次の形にします。

$$ y^4+py^2+qy+r=0. $$

次に、多項式が二つの二次式に因数分解されるよう、レゾルベントの パラメーター $u$ を選びます。$u$ が満たす条件は、次の三次方程式です。

$$ u(p+u)^2-4ru-q^2=0. $$

三つの構造的な場合分け

複二次方程式($q=0$)は、二次方程式を2回解くだけで解けます。一般の 三次項のない四次方程式では、三次レゾルベントを使います。最後に、モニックな 四次方程式の三次項は $x=y-b/4$ によって消去します。非モニックな多項式は、 その前に正規化します。

declare symbol x, y, u: MathValue

def solveBiquadratic
  (p : MathValue)
  (q : MathValue)
  : (MathValue, MathValue, MathValue, MathValue) :=
  let (s1, s2) := qF' 1 p q
      (r1, r2) := qF' 1 0 (- s1)
      (r3, r4) := qF' 1 0 (- s2)
   in (r1, r2, r3, r4)

複二次方程式への近道

$x^4-5x^2+4=0$ では、$t=x^2$ と置換すると $(t-1)(t-4)=0$ が 得られます。まず $t$ について解き、各値の平方根を正負ともに取れば、四つの解が すべて得られます。

solveBiquadratic (-5) 4
$(2, -2, 1, -1)$

フェラーリの方法の一般分岐

すでに三次項がない次の多項式を考えます。

$$ y^4-15y^2-10y+24 =(y+3)(y+2)(y-1)(y-4). $$

ここでは $(p,q,r)=(-15,-10,24)$ なので、実際に複二次方程式ではありません。 このレゾルベントには、計算に都合のよい解 $u=1$ があります。

def p : MathValue := -15
def q : MathValue := -10
def r : MathValue := 24
def chosenU : MathValue := 1

def resolvent (u : MathValue) : MathValue :=
  u * (p + u)^2 - 4 * r * u - q^2

def factorPlus : MathValue :=
  y^2 + (p + chosenU) / 2
    + sqrt chosenU * (y - q / (2 * chosenU))

def factorMinus : MathValue :=
  y^2 + (p + chosenU) / 2
    - sqrt chosenU * (y - q / (2 * chosenU))
resolvent chosenU
$0$
(factorPlus, factorMinus)
$(y^{2} + y - 2, y^{2} - y - 12)$
(qF factorPlus y, qF factorMinus y)
$((1, -2), (4, -3))$

因数分解が成り立つ理由

レゾルベントの解 $u$ を一つ選ぶと、三次項のない四次式を次の二つの式へ 分解できます。

$$ y^2+\frac{p+u}{2} \pm\sqrt{u}\left(y-\frac{q}{2u}\right)=0. $$

二次方程式ソルバーを2回呼び出すことで、四つの解をすべて得られます。

まとめ

二つの実行経路はフェラーリの証明をそのまま反映しています。複二次方程式の場合は ただちに二次方程式へ還元し、一次項が0でない場合はレゾルベントの解を一つ使って 二つの二次因子を取り出します。Egisonでは、厳密な因数分解と四つの解を記号のまま 保てます。

リンク

Egison 数学ノート目次に戻る