tsujimotterのノートブック

日曜数学者 tsujimotter の「趣味で数学」実践ノート

3次方程式の判別式

 n 次多項式

 f(X) = a_n X^n + a_{n-1} X^{n-1} + \cdots + a_2 X^2 + a_1 X + a_0

を考えるとき、方程式  f(X) = 0 の判別式とは、 n 個の解  \alpha_1, \alpha_2, \ldots, \alpha_n を用いて

 \displaystyle \Delta = a_n^{2n-2} \prod_{i < j}(\alpha_i - \alpha_j)^2

と表せる量のことです。


たとえば、3次方程式  f(X) = X^3 + pX + q = 0 を考えて、その3つの解を  \alpha, \beta, \gamma とするとき

 \displaystyle \Delta = (\alpha - \beta)^2(\beta - \gamma)^2(\gamma - \alpha)^2

と表すことができますね。要するに、すべての解の差をとり、2乗して掛け合わせたものですね。

定義から明らかなように、 f(X) が重根を持つなら判別式は 0 となります。つまり、判別式は重根の存在の判定器になっているということですね。ほかにも判別式にはいろいろな面白いことがありますが、今日は深入りはしません。


さて、今日はこの3次方程式の判別式を計算したいと思います。


背景

tsujimotterの元々のモチベーションは3次方程式の解の公式の計算でした。その過程で、3次方程式の判別式を係数で表そうとしていました。


判別式  \Delta が方程式の係数を用いて表せることは次のようにわかります。

 \Delta は3つの解の  \alpha, \beta, \gamma のすべての置換に対して不変な量になります。したがって、対称式になるわけです。

また、対称式の基本定理により、 \Delta は基本対称式の有理式で表せます。

さらに解と係数の関係

 \begin{cases} \alpha + \beta + \gamma = 0 \\
\alpha \beta + \beta \gamma + \gamma \alpha = p \\
\alpha \beta \gamma = -q \end{cases}

が成り立つので、結局  \Delta p, q を用いて表せるわけです。


ここで気になるのは、どうやって  p, q を用いた式で  \Delta を表せるかということです。

もちろん定義にしたがって  \Delta を素朴に展開し、がんばって基本対称式を探して置き換えていく方法がとれますが、それはちょっと面倒ですね。


1つめの方法は、計算機に投げてしまう方法です。Wolfram Alphaというサイトで

symmetricreduction(((alpha - beta) (beta - gamma) (gamma - alpha))^2, {alpha, beta, gamma})

と打ち込んできてください。結果は以下で確認できます。
www.wolframalpha.com

そんなわけで、結果はわかりました。でも、できれば手計算で求めてみたい。


2つめの方法は、対称式に現れる単項式の指数の組に辞書式順序を入れて、単項式の次数を下げていく方法です。これは「ウェアリングの方法」と呼ばれるものだそうで、対称式の基本定理の証明でも用いられるようです。

対称式 - Wikipedia


3つめの方法は「終結式」を用いた方法です。今日はこれを使って計算してみたいと思います。

この方法は、Twitterでジオッコ・ピアノさんという方から教えていただきました。ありがとうございます。

終結式とは

終結式とは、2つの次数  n, m の多項式

 f(X) = a_n X^n + a_{n-1} X^{n-1} + \cdots + a_2 X^2 + a_1 X + a_0
 g(X) = b_m X^m + b_{m-1} X^{m-1} + \cdots + b_2 X^2 + b_1 X + b_0

に対して定まる量  \operatorname{Res}(f, g) で、それぞれの多項式の係数を用いた次の行列式によって計算されるものです:

 \operatorname{Res}(f, g) = \begin{vmatrix}
a_n & a_{n-1} & \cdots  &        & a_0 &  & &  \\
    & a_n     & a_{n-1} & \cdots & & a_0 &  &  \\
    &         & \ddots  &        & & & \ddots &   \\
    &         &         & a_n    & a_{n-1} &\cdots & & a_0  \\
b_m & b_{m-1} & \cdots  &        & b_0 &  & &  \\
    & b_m     & b_{m-1} & \cdots && b_0 & &  \\
    &         & \ddots  &        & & & \ddots &  \\
    &         &         & b_m    & b_{m-1} & \cdots  & & b_0  \\
\end{vmatrix}

なんじゃこりゃと思うかもしれません。

まず、行列の空欄の部分は 0 だと思ってください。また、行列のサイズとしては、 n + m 次の正方行列となります。

係数がなんというか、斜めに並んでずれながら並んで行くのが特徴ですね。このなんともいえない定義は、あとで具体的に計算することで確かめることにしましょう。


さて、この終結式を用いると、次のようなことが成り立つというのです。

 f(X) n 次方程式とし、その最高次の係数を  a_n とします。また、 f'(X) X での微分としましょう。 f(X) の判別式を  \Delta とするとき、次が成り立ちます。

 \operatorname{Res}(f, f') = (-1)^{n(n-1)/2} a_n \Delta \tag{1}



面白いですね。判別式が、謎の行列式によって表現されるというのです。

重要なことは、上の終結式  \operatorname{Res}(f, f') は、実質的に  f(X) の係数のみによって表せるということです。 解と係数の関係によって、 f(X) の係数は( f(X) の根の)基本対称式そのものといえます。結局のところ、判別式を「基本対称式を係数とする行列式」で表せるということですね。


 (1) についての証明はやりませんが、今日は実際にこの方法を使って、3次方程式の判別式を計算してみましょう。

3次方程式の判別式の計算

 f(X) = X^3 + pX + q とすると、 f'(X) = 3X^2 + p です。ここで、終結式は

 \operatorname{Res}(f, f') = \begin{vmatrix}
1 & 0 & p & q & 0 \\
0 & 1 & 0 & p & q \\
3 & 0 & p & 0 & 0 \\
0 & 3 & 0 & p & 0 \\
0 & 0 & 3 & 0 & p \end{vmatrix}

となります。たしかに  3 + 2 = 5 次の正方行列になっていますね。

f:id:tsujimotter:20190726090224j:plain:w300

 (1) によると

 \begin{vmatrix}
1 & 0 & p & q & 0 \\
0 & 1 & 0 & p & q \\
3 & 0 & p & 0 & 0 \\
0 & 3 & 0 & p & 0 \\
0 & 0 & 3 & 0 & p \end{vmatrix} = -\Delta

が成り立つということでした。


この行列式を計算するために、余因子展開を計算しましょう。一番左の列の  1, 3 を使って展開します: 

 \begin{vmatrix}
1 & 0 & p & q & 0 \\
0 & 1 & 0 & p & q \\
3 & 0 & p & 0 & 0 \\
0 & 3 & 0 & p & 0 \\
0 & 0 & 3 & 0 & p \end{vmatrix} = 1 \cdot \begin{vmatrix}
1 & 0 & p & q \\
0 & p & 0 & 0 \\
3 & 0 & p & 0 \\
0 & 3 & 0 & p \end{vmatrix} + 3\cdot \begin{vmatrix}
0 & p & q & 0 \\
1 & 0 & p & q \\
3 & 0 & p & 0 \\
0 & 3 & 0 & p \end{vmatrix}

さらに、それぞれの行列式を同じように展開します。

 \begin{vmatrix}
1 & 0 & p & q \\
0 & p & 0 & 0 \\
3 & 0 & p & 0 \\
0 & 3 & 0 & p \end{vmatrix} 
= 1\cdot \begin{vmatrix}
p & 0 & 0 \\
0 & p & 0 \\
3 & 0 & p \end{vmatrix} + 3\cdot \begin{vmatrix}
0 & p & q \\
p & 0 & 0 \\
3 & 0 & p \end{vmatrix}

 \begin{vmatrix}
0 & p & q & 0 \\
1 & 0 & p & q \\
3 & 0 & p & 0 \\
0 & 3 & 0 & p \end{vmatrix} = (-1)\cdot 
\begin{vmatrix}
p & q & 0 \\
0 & p & 0 \\
3 & 0 & p \end{vmatrix} +3\cdot 
\begin{vmatrix}
p & q & 0 \\
0 & p & q \\
3 & 0 & p \end{vmatrix}

最後に、3次の行列式をサラスの方法によって解くと

 \begin{vmatrix}
p & 0 & 0 \\
0 & p & 0 \\
3 & 0 & p \end{vmatrix} = p^3

 \begin{vmatrix}
0 & p & q \\
p & 0 & 0 \\
3 & 0 & p \end{vmatrix} = -p^3

 \begin{vmatrix}
p & q & 0 \\
0 & p & 0 \\
3 & 0 & p \end{vmatrix} = p^3

 \begin{vmatrix}
p & q & 0 \\
0 & p & q \\
3 & 0 & p  \end{vmatrix} = p^3 + 3q^2

が得られます。

結局、終結式は

 \begin{align} \operatorname{Res}(f, f') &= 1\cdot (1\cdot p^3 + 3\cdot (-p^3) ) + 3\cdot ( (-1)\cdot p^3 + 3\cdot (p^3 + 3q^2) ) \\
&= 4p^3 + 27q^2 \end{align}

となります。

判別式と終結式の関係  (1) により

 \begin{align} \Delta &= - \operatorname{Res}(f, f') \\
 &= -4p^3 - 27q^2 \end{align}

と計算できました!やったー!!


それでは今日はこの辺で。

参考

終結式のイメージは、こちらのサイトの説明がとてもわかりやすいです。
mathtrain.jp

なお、私の記事では、都合上シルヴェスターの行列式で表されたものを終結式の定義としています。上の記事の方法によって終結式を定義した場合、「終結式はシルヴェスターの行列式で表される」は定理となります。