未分類

【対角行列】固有値方程式の固有値と固有ベクトルから対角行列をつくる

こんにちは(@t_kun_kamakiri)(^^)/

前回は固有値と固有ベクトルの解説を行いました。

今回は固有値と固有ベクトルのお話の続きで対角行列の解説を行います。

固有値方程式から求まる固有値と固有ベクトルを知ることで対角行列や基底変換など面白い内容が待っています(^^)

本記事の内容

固有値方程式から求めた固有ベクトルを使って対角行列を作る

これから線形代数を学ぶ学生や社会人のために「役に立つ内容にしたい」という思いで記事を書いていこうと考えています。

こんな人が対象
  • 行列をはじめて習う高校生・大学生
  • 仕事で行列を使うけど忘れてしまった社会人

この記事の内容をマスターして線形独立と線形従属を理解しましょう(^^)

復習:固有値と固有ベクトル

前回の復習を簡単にしておきます。

固有値方程式

\begin{align*}
A\boldsymbol{x}=\alpha \boldsymbol{x}
\end{align*}

において$\boldsymbol{x}$を固有ベクトル、$\alpha$を固有値といいます。

固有値は$|A-\alpha E|=0$より求めることができます。

対角行列とは

対角行列とは正方行列に対して対角成分以外は0である行列のことです。

2次正方行列と3次正方行列を例にとると以下のような行列です。

行列の成分を$i$行$j$列の成分を$a_{ij}$とすると、$i \neq jのとき$a_{ij}=0である行列が対角行列といいます。

\begin{align*}
\begin{pmatrix}
a_{11} & 0 & \cdots & \cdots & 0 \\
0 & a_{22} & \cdots & \cdots & 0 \\
0 & 0 & a_{33} & \cdots & 0\\
\vdots & \vdots & \vdots & \ddots &\vdots \\
0 & \cdots & \cdots & \cdots&a_{nn} \\
\end{pmatrix}
\end{align*}

左上から右下にかけて数字が入っていて、それ以外の成分が全て0になっている行列なんだなと思ってもらえれば良いです。

このような対角成分以外は0である対角行列を固有値方程式から求めた固有値と固有ベクトルを使って作ることができます。

対角行列を作ったら何が嬉しいのかは次回の記事で解説することにして、ここでは対角行列を作る計算の手続きを理解しておくことを優先にします。

2次正方行列の固有ベクトルから対角行列を作る

一般的な$n$次正方行列の解説を行う前に、前回解説に使った2次正方行列$A=\begin{pmatrix}
2 & -2 \\
1 & 1 \\
\end{pmatrix}$を例に対角行列を作る手順を解説します。

2次正方行列$A=\begin{pmatrix}
2 & -2 \\
1 & 1 \\
\end{pmatrix}$に対して、固有値方程式$A\boldsymbol{x}=\alpha \boldsymbol{x}$より

  • 固有値$\alpha_{1}=2$に対応する固有ベクトルは$\boldsymbol{x}_{1}=
    \begin{pmatrix}
    1\\
    1\\
    \end{pmatrix}$
  • 固有値$\alpha_{2}=3$に対応する固有ベクトルは$\boldsymbol{x}_{2}=
    \begin{pmatrix}
    2\\
    1\\
    \end{pmatrix}$

と求まります。

ここまでは前回の記事で求めました。

これを以下のように固有値方程式に代入して書き並べてみましょう。

\begin{align*}
A\boldsymbol{x}_{1}=\alpha_{1} \boldsymbol{x}_{1}\tag{1}
\end{align*}

\begin{align*}
A\boldsymbol{x}_{2}=\alpha_{2} \boldsymbol{x}_{2}\tag{2}
\end{align*}

これを行列を使ってひとつにまとめることができます。

\begin{align*}
A\begin{pmatrix}
\boldsymbol{x}_{1}& \boldsymbol{x}_{2}
\end{pmatrix}=
\begin{pmatrix}
\boldsymbol{x}_{1}& \boldsymbol{x}_{2}
\end{pmatrix}
\begin{pmatrix}
\alpha_{1} & 0\\
0 & \alpha_{2}
\end{pmatrix}
\tag{3}\end{align*}

右辺に対角行列ができていますね。

これは以下のような計算を行えば成立していることが確認できるでしょう。

ここで$\begin{pmatrix}
\boldsymbol{x}_{1}& \boldsymbol{x}_{2}
\end{pmatrix}$に着目すると、ベクトルの成分を用いて書くと以下になっています。

\begin{align*}
\begin{pmatrix}
\boldsymbol{x}_{1}& \boldsymbol{x}_{2}
\end{pmatrix}=\begin{pmatrix}
1& 2\\
1& 1\\
\end{pmatrix}\tag{4}\end{align*}

これを$P=\begin{pmatrix}\boldsymbol{x}_{1}& \boldsymbol{x}_{2}
\end{pmatrix}$とおくことにします。
そうすると、(3)は以下のようになります。

\begin{align*}
AP=P\begin{pmatrix}
\alpha_{1} & 0\\
0 & \alpha_{2}
\end{pmatrix}
\end{align*}

右辺に対角行列ができているので両辺に$P$の逆行列$P^{-1}$を左から掛けてやれば右辺は対角行列のみになりますね。
ただ、行列$P$が逆行列を持つかどうかは掛ける前に注意しなくてはいけません。
しかし、行列$P$は固有ベクトル$\boldsymbol{x}_{1}$,$\boldsymbol{x}_{2}$でできている行列であり、異なる固有値に対する固有ベクトルである$\boldsymbol{x}_{1}$と$\boldsymbol{x}_{2}$は線形独立な関係にあるので必ず逆行列を持ちます。

\begin{align*}
P^{-1}AP=P^{-1}P\begin{pmatrix}
\alpha_{1} & 0\\
0 & \alpha_{2}
\end{pmatrix}
\end{align*}

$P^{-1}P=E$(単位行列)なので右辺は$\begin{pmatrix}
\alpha_{1} & 0\\
0 & \alpha_{2}
\end{pmatrix}$のみになります。

よって、

\begin{align*}
P^{-1}AP=\begin{pmatrix}
\alpha_{1} & 0\\
0 & \alpha_{2}
\end{pmatrix}\tag{5}
\end{align*}

のように固有ベクトルを使って固有値を対角成分に持つ対角行列を作ることができました

対角行列の何が嬉しいのか?

対角成分以外を0にしていったい何が嬉しいのかと思うかもしれませんね。
対角行列の嬉しさは行列の掛け算において計算がやりやすくなるメリットがあります。

行列の掛け算というのはめちゃくちゃ面倒なんでしたね。

計算量の削減

たかだか2行2列の行列の掛け算でも以下のように2(1成分)×2(行方向)×2(列方向)=8回の掛け算を行うことになります。

これが対角行列の掛け算だと4回の掛け算で済むわけです。

行列のべき乗の計算が簡単

例えば$A=\begin{pmatrix}
2 & -2 \\
1 & 1 \\
\end{pmatrix}$の行列を$A^2,A^3,\cdots,A^{n}$のように計算していった結果はどうなるかは計算してみないとわからないです。

ただ、対角行列$A=\begin{pmatrix}
2 & 0 \\
0 & 3 \\
\end{pmatrix}$を$A^2,A^3,\cdots,A^{n}$のように計算していった結果はすぐにわかります。

  • $A^2=\begin{pmatrix}
    2^2 & 0 \\
    0 & 3^2 \\
    \end{pmatrix}$
  • $A^3=\begin{pmatrix}
    2^3 & 0 \\
    0 & 3^3 \\
    \end{pmatrix}$
  • $\vdots$
  • $A^n=\begin{pmatrix}
    2^n & 0 \\
    0 & 3^n \\
    \end{pmatrix}$

対角成分を$n$乗するだけで求めることができます。

カマキリ

対角行列の計算の簡単さがわかってもらえたでしょうか。

まとめ

本記事では固有ベクトル$\boldsymbol{x}_{1}$,$\boldsymbol{x}_{2}$を基底に取るような線形空間を考えると行列$A$が対角行列になることを示しました。

次回の記事は基底変換について解説を行います。
基底を変えることで対角行列を作ることができ、本記事の最後に示したように対角行列になれば行列の計算が簡単になるのでとても便利ですね。

今までは線形空間は考えやすくするために基底を$\boldsymbol{e}_{1}=\begin{pmatrix}
1\\
0\\
\end{pmatrix}$と$\boldsymbol{e}_{2}=\begin{pmatrix}
0\\
1\\
\end{pmatrix}$を考えていました。
このとき行列$A\boldsymbol{x}=
\begin{pmatrix}
2 & -2 \\
1 & 1 \\
\end{pmatrix}$という変換行列は全ての行と列に数字が入っているので$A\boldsymbol{x}$を計算しようものなら行列計算が面倒になりますよね。2行2列の計算ならそれほど手間ではありませんが、100行100列ともなると100×100×100回掛け算をすることになります。考えただけでも途方もないですね。

これは空間を作るための基底を別のものに変えて、その基底での$A$に対応する行列が$A^{\prime}=\begin{pmatrix}
\alpha_{1} &  0\\
0 & \alpha_{2} \\
\end{pmatrix}$のような対角成分にのみ値を持つ対角行列になってくれたらなんて嬉しいことでしょう。
$A^{\prime}=\begin{pmatrix}
\alpha_{1} & 0\\
0 & \alpha_{2} \\
\end{pmatrix}\begin{pmatrix}
x_{1}\\
x_{2}
\end{pmatrix}=\begin{pmatrix}
\alpha_{1}x_{1}\\
\alpha_{2}x_{2}
\end{pmatrix}$のように簡単に計算できますよね。
基底を変えて$A$に対応する行列が対角行列になってくれたら、例えば100行100列の行列計算でもそのほとんどが0になるので100回の掛け算の計算で済みます。

そして計算し終わったらもとの基底に戻す変換を行えばよいですよね。

次回は「対角行列と基底変換」の話をします。
今回使った固有値・固有ベクトルをがっつり使うので本記事の内容をしっかりと押さえておきましょう。

カマキリ

次回お楽しみに!

参考にする参考書はこれ

当ブログでは、以下の3つの参考書を読みながらよく使う内容をかいつまんで、一通り勉強すればついていけるような内容を目指していこうと思います。

基礎数学1線型代数入門

基礎数学1線型代数入門

齋藤正彦
1,683円(05/24 13:46時点)
発売日: 2019/03/08
Amazonの情報を掲載しています
線形代数キャンパス・ゼミ 改訂8

線形代数キャンパス・ゼミ 改訂8

馬場 敬之
5,418円(05/24 14:00時点)
Amazonの情報を掲載しています
高校レベルからはじめる! やさしくわかる線形代数

高校レベルからはじめる! やさしくわかる線形代数

ノマド・ワークス
1,980円(05/23 21:13時点)
発売日: 2022/02/11
Amazonの情報を掲載しています

大事なところをかいつまんで、「これはよく使うよな。これを理解するためには補足で説明をする」という調子で進めていきます(^^)/

【プロフィール】

カマキリ
(^^)

大学の専攻は物性理論で、Fortranを使って数値計算をしていました。
CAEを用いた流体解析は興味がありOpenFOAMを使って勉強しています。

プロフィール記事はこちら

 

大学学部レベルの物理の解説をします 大学初学者で物理にお困りの方にわかりやすく解説します。

このブログでは主に大学以上の物理を勉強して記事にわかりやすくまとめていきます。

  • ・解析力学
  • ・流体力学
  • ・熱力学
  • ・量子統計
  • ・CAE解析(流体解析)
  • note
    noteで内容は主に「プログラミング言語」の勉強の進捗を日々書いています。また、「現在勉強中の内容」「日々思ったこと」も日記代わりに書き記しています。
  • youtube
    youtubeではオープンソースの流体解析、構造解析、1DCAEの操作方法などを動画にしています。
    (音声はありません_(._.)_)
  • Qiita
    Qiitaではプログラミング言語の基本的な内容をまとめています。