【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

ケイリー・ハミルトンの定理

ケイリー・ハミルトンの定理とその応用で冪乗の計算を見ます。

シリーズの記事です。

  1. 一次変数変換と行列の積
  2. 単位行列と逆行列
  3. 掃き出し法と逆行列
  4. 行列の積の性質
  5. 行列の演算
  6. ケイリー・ハミルトンの定理 ← この記事
  7. 零行列と冪零行列
  8. 冪零行列と二重数
  9. 零因子ペアの生成
  10. 三種類の二元数
  11. 分解型四元数と同型対応
  12. 分解型四元数と幾何代数
  13. 行列表現と外積と行列式

目次

今回は連立方程式との対応は最低限に留めます。

ケイリー・ハミルトンの定理

行列の2乗の結果を見ると、右上と左下は元の成分 $b,c$ に $a+d$ を掛けたものが現れます。

\begin{pmatrix}a&{\color{red}b}\\{\color{red}c}&d\end{pmatrix}^2 =\begin{pmatrix}a^2+bc&{\color{red}b}{\color{blue}(a+d)}\\{\color{red}c}{\color{blue}(a+d)}&bc+d^2\end{pmatrix}

行列の2乗から元の行列に $a+d$ を掛けたものを引いてみます。

\begin{aligned} &\begin{pmatrix}a&b\\c&d\end{pmatrix}^2 -(a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=\begin{pmatrix}a^2+bc&b(a+d)\\c(a+d)&bc+d^2\end{pmatrix} -\begin{pmatrix}a(a+d)&b(a+d)\\c(a+d)&d(a+d)\end{pmatrix} \\ &=\begin{pmatrix}bc-ad&0\\0&bc-ad\end{pmatrix} \\ &=(bc-ad)\begin{pmatrix}1&0\\0&1\end{pmatrix} \\ &=-(ad-bc)I \end{aligned}

行列式の分母にも現れた $ad-bc$ が現れました。

式を整理すれば、行列の2乗が別の形で計算できることが分かります。これをケイリー・ハミルトンの定理と呼びます。

\begin{cases} x=a(ax''+by'')+b(cx''+dy'')=(a+d)(ax''+by'')-(ad-bc)x'' \\ y=c(ax''+by'')+d(cx''+dy'')=(a+d)(cx''+dy'')-(ad-bc)y'' \end{cases}
ケイリー・ハミルトンの定理
\begin{pmatrix}a&b\\c&d\end{pmatrix}^2 =(a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix}-(ad-bc)I

※ 実際はもっと一般化した形で定式化されますが、今回は2×2行列に限定して簡略化しています。

これを使えば行列の2乗の計算が少し楽になります。具体例を示します。

\begin{aligned} \begin{pmatrix}2&1\\3&4\end{pmatrix}^2 &=(2+4)\begin{pmatrix}2&1\\3&4\end{pmatrix}-(2×4-1×3)I \\ &=6\begin{pmatrix}2&1\\3&4\end{pmatrix}-5I \\ &=\begin{pmatrix}12-5&6\\18&24-5\end{pmatrix} \\ &=\begin{pmatrix}7&6\\18&19\end{pmatrix} \end{aligned}

手順を細かく示したので複雑に見えますが、行列の積の計算が回避できています。

冪乗の計算

ケイリー・ハミルトンの定理を使えば、行列の冪乗を下げることができます。

3乗と4乗を確認します。

\begin{aligned} \begin{pmatrix}a&b\\c&d\end{pmatrix}^3 &=\begin{pmatrix}a&b\\c&d\end{pmatrix}^2 \begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=\left\{ (a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix}-(ad-bc)I \right\} \begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=(a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix}^2 -(ad-bc)\begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=(a+d) \left\{ (a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix}-(ad-bc)I \right\} -(ad-bc)\begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=(a+d)^2\begin{pmatrix}a&b\\c&d\end{pmatrix} -(a+d)(ad-bc)I -(ad-bc)\begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=\{(a+d)^2-(ad-bc)\} \begin{pmatrix}a&b\\c&d\end{pmatrix} -(a+d)(ad-bc)I \\ \begin{pmatrix}a&b\\c&d\end{pmatrix}^4 &=\left\{ \begin{pmatrix}a&b\\c&d\end{pmatrix}^2 \right\}^2 \\ &=\left\{ (a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix}-(ad-bc)I \right\}^2 \\ &=(a+d)^2\begin{pmatrix}a&b\\c&d\end{pmatrix}^2 -2(a+d)(ad-bc)\begin{pmatrix}a&b\\c&d\end{pmatrix} +(ad-bc)^2I \\ &=(a+d)^2\left\{ (a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix}-(ad-bc)I \right\} \\ &\quad-2(a+d)(ad-bc)\begin{pmatrix}a&b\\c&d\end{pmatrix} +(ad-bc)^2I \\ &=\{(a+d)^3-2(a+d)(ad-bc)\} \begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &\quad-\{(a+d)^2(ad-bc)-(ad-bc)^2\}I \end{aligned}

複雑な係数が付いてはいますが、3乗も4乗も元の行列と単位行列の2項だけで表されています。5乗から先もその構造は変わりませんが、係数は複雑になります。

同じ計算を数値成分の行列で行うのは比較的簡単です。具体例を示します。

\begin{aligned} \begin{pmatrix}1&2\\3&4\end{pmatrix}^3 &=\begin{pmatrix}1&2\\3&4\end{pmatrix}^2 \begin{pmatrix}1&2\\3&4\end{pmatrix} \\ &=\left\{ 5\begin{pmatrix}1&2\\3&4\end{pmatrix}+2I \right\} \begin{pmatrix}1&2\\3&4\end{pmatrix} \\ &=5\begin{pmatrix}1&2\\3&4\end{pmatrix}^2 +2\begin{pmatrix}1&2\\3&4\end{pmatrix} \\ &=5\left\{ 5\begin{pmatrix}1&2\\3&4\end{pmatrix}+2I \right\} +2\begin{pmatrix}1&2\\3&4\end{pmatrix} \\ &=27\begin{pmatrix}1&2\\3&4\end{pmatrix}+10I \\ &=\begin{pmatrix}27+10&54\\81&108+10\end{pmatrix} \\ &=\begin{pmatrix}37&54\\81&118\end{pmatrix} \\ \begin{pmatrix}1&2\\3&4\end{pmatrix}^4 &=\left\{ \begin{pmatrix}1&2\\3&4\end{pmatrix}^2 \right\}^2 \\ &=\left\{ 5\begin{pmatrix}1&2\\3&4\end{pmatrix}+2I \right\}^2 \\ &=25\begin{pmatrix}1&2\\3&4\end{pmatrix}^2 +20\begin{pmatrix}1&2\\3&4\end{pmatrix} +4I \\ &=25\left\{ 5\begin{pmatrix}1&2\\3&4\end{pmatrix}+2I \right\} +20\begin{pmatrix}1&2\\3&4\end{pmatrix} +4I \\ &=145\begin{pmatrix}1&2\\3&4\end{pmatrix}+54I \\ &=\begin{pmatrix}145+54&290\\435&580+54\end{pmatrix} \\ &=\begin{pmatrix}199&290\\435&634\end{pmatrix} \end{aligned}

以下を参考にしました。

漸化式

行列の3乗を求める過程を見ると、係数が付いた元の行列と単位行列に元の行列を掛けることで係数が変化します。

\begin{aligned} &\left\{ (a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix}-(ad-bc)I \right\} \begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=\{(a+d)^2-(ad-bc)\} \begin{pmatrix}a&b\\c&d\end{pmatrix} -(a+d)(ad-bc)I \end{aligned}

係数の変化を調べるため、係数を $a_1,a_2$ として同じ計算をします。

\begin{aligned} &\left\{ a_1\begin{pmatrix}a&b\\c&d\end{pmatrix}+a_2I \right\} \begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=a_1\begin{pmatrix}a&b\\c&d\end{pmatrix}^2 +a_2\begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=a_1\left\{ (a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix}-(ad-bc)I \right\} +a_2\begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=a_1(a+d)\begin{pmatrix}a&b\\c&d\end{pmatrix} -a_1(ad-bc)I +a_2\begin{pmatrix}a&b\\c&d\end{pmatrix} \\ &=\{a_1(a+d)+a_2\} \begin{pmatrix}a&b\\c&d\end{pmatrix} -a_1(ad-bc)I \end{aligned}

冪乗の世代をコンマ付きの添え字で表すと、係数の漸化式が立てられます。

\begin{aligned} a_{1,1}&=1,&a_{1,n}&=a_{1,n-1}(a+d)+a_{2,n-1} \\ a_{2,1}&=0,&a_{2,n}&=-a_{1,n-1}(ad-bc) \end{aligned}

$a_1$ は1世代前の $a_2$ を参照していて、その $a_2$ から更に1世代前の $a_1$ を参照しています。$a_1$ から2世代前の $a_1$ を参照することで、漸化式を $a_1$ の系列だけで組み立てて、$a_2$ は付随的に求める形にできます。便宜上、第0世代を導入します。

\begin{aligned} a_{1,0}&=0,&a_{1,1}&=1,&a_{1,n}&=a_{1,n-1}(a+d)-a_{1,n-2}(ad-bc) \\ &&&&a_{2,n}&=-a_{1,n-1}(ad-bc) \end{aligned}

$a_1$ はフィボナッチ数列のように計算すれば良いことが分かります。この漸化式で7乗まで計算してみます。

\begin{aligned} a_{1,2}&=a+d \\ a_{1,3}&=(a+d)^2-(ad-bc) \\ a_{1,4}&=(a+d)^3-2(a+d)(ad-bc) \\ a_{1,5}&=(a+d)^4-3(a+d)^2(ad-bc)+(ad-bc)^2 \\ a_{1,6}&=(a+d)^5-4(a+d)^3(ad-bc)+3(a+d)(ad-bc)^2 \\ a_{1,7}&=(a+d)^6-5(a+d)^4(ad-bc)+6(a+d)^2(ad-bc)^2-(ad-bc)^3 \end{aligned}

3乗と4乗は前で計算した結果と一致しました。式をまともに計算するより楽です。

以下を参考にしました。

正則行列

$ad-bc$ は逆行列にも表れるため関係が気になります。

正則でない(逆行列を持たない)行列は $ad-bc=0$ となるため、ケイリー・ハミルトンの定理の第2項 $(ad-bc)I$ が現れません。

\left\{\begin{aligned} x=~~a(ax''+by'')+~~b(nax''+nby'')&=(a+nb)(~~ax''+~~by'') \\ y=na(ax''+by'')+nb(nax''+nby'')&=(a+nb)(nax''+nby'') \end{aligned}\right.
\begin{pmatrix}a&b\\na&nb\end{pmatrix}^2 =(a+nb)\begin{pmatrix}a&b\\na&nb\end{pmatrix}

2乗しても第1行のn倍が第2行となる関係が維持される、つまり正則ではないままです。連立方程式の中辺を見るとそうなる理由が分かりやすいです。

この関係は3乗から先にも拡張できます。何乗しても正則ではないままです。

\begin{aligned} \begin{pmatrix}a&b\\na&nb\end{pmatrix}^n &=\begin{pmatrix}a&b\\na&nb\end{pmatrix}^2 \begin{pmatrix}a&b\\na&nb\end{pmatrix}^{n-2} \\ &=\left\{(a+nb)\begin{pmatrix}a&b\\na&nb\end{pmatrix}\right\} \begin{pmatrix}a&b\\na&nb\end{pmatrix}^{n-2} \\ &=(a+nb)\begin{pmatrix}a&b\\na&nb\end{pmatrix}^{n-1} \\ &=(a+nb)^{n-1}\begin{pmatrix}a&b\\na&nb\end{pmatrix} \end{aligned}

この関係を使えば冪乗の計算が簡単になります。具体例を示します。

\begin{pmatrix}1&2\\2&4\end{pmatrix}^5 =(1+4)^4\begin{pmatrix}1&2\\2&4\end{pmatrix} =625\begin{pmatrix}1&2\\2&4\end{pmatrix} =\begin{pmatrix}625&1250\\1250&2500\end{pmatrix}

このように非正則行列ではかなり有用です。

なお、正則行列の計算を簡略化するため、非正則行列の和に分割することを試みました。あまり簡単にはなりませんでしたが、結果は以下にまとめました。

逆行列

逆行列をケイリー・ハミルトンの定理と似た形で書けます。

\begin{cases} x=ax'+by' \\ y=cx'+dy' \end{cases} \left\{\begin{aligned} x'=\frac{~~dx-by}{ad-bc}&=\frac1{ad-bc}\{(a+d)x-(ax+by)\} \\ y'=\frac{-cx+ay}{ad-bc}&=\frac1{ad-bc}\{(a+d)y-(cx+dy)\} \end{aligned}\right.
\begin{pmatrix}a&b\\c&d\end{pmatrix}^{-1} =\frac1{ad-bc}\begin{pmatrix}d&-b\\-c&a\end{pmatrix} =\frac1{ad-bc}\left\{ (a+d)I-\begin{pmatrix}a&b\\c&d\end{pmatrix} \right\}

位置の入れ替えと符号の反転を引き算で実現しているのが面白いです。