時には、逆行列を求めようとしているのに、どうしても最後まで求められない場合があります。または行列式を計算していて、その値がゼロになってしまう場合があります。こうした場合は、実は逆行列が存在しないということを意味しています。
このページでは、この逆行列が存在する条件について…
- 逆行列が存在しない行列とはどういうものなのか
- どういう場合に逆行列が存在しないのか(判定方法について)
- なぜその判定方法で逆行列の存在・非存在がわかるのか
という重要なポイントをアニメーションを交えながら誰でもわかるように解説していきます。この辺りから線形代数の面白味も増していくと思いますので、ぜひ楽しみながらご覧頂ければ嬉しく思います。
それでは始めましょう。
1. 逆行列が存在しない行列とは?
まず逆行列とは、以下のアニメーションで示しているように空間をある行列 \(A\) で線形変換した後に、その空間を元に戻す働きをする行列 \(A^{-1}\) のことでした。
それでは、以下のような線形変換をする行列の場合は、逆行列はどうなるでしょうか?
これらの線形変換では、基底ベクトル \(\hat{\imath}\) と \(\hat{\jmath}\) が、最初の線形変換では同一直線上に移動して平面空間が一本の線に収束してしまっており、二つ目の線形変換では原点に移動して平面空間が一つの点に収束してしまっています。そのため、次にどのような行列を掛けたとしても元の空間に戻すことは不可能です。つまり逆行列は存在しません。
つまり逆行列を持たない行列があるのです。そして、そのような行列のことを「非正則行列」といいます。もちろん逆行列を持つ行列が「正則行列」です。
そして線形変換では、ある行列が正則行列なのか非正則行列なのかを、あらかじめ判定できることが重要な意味を持ちます。そこで次に、どうすれば判定することができるのかについて解説します。
2. 逆行列が存在するための条件
結論から言うと、ある行列に逆行列が存在するかどうかは行列式で判定することができます。行列式とは、『行列式の意味と定義と求め方~行列式とは何か驚くほどよくわかる解説~』で解説した通り、線形変換後に空間が何倍になるかを示すものです。
以下のアニメーションを見て頂くと、すぐに理解することができます。
このように行列式は、線形変換後の空間拡張の倍数を明らかにしてくれる式です。さて、それでは非正則行列の場合は、行列式の値はどうなるでしょうか?
以下のアニメーションで確認してみましょう。
いかがでしょうか。
このように逆行列を持たない非正則行列で線形変換を行ったときは空間は \(0\) 倍になります。\(0\) に対しては何を掛けても値は \(0\) なので、やはり次にどのような行列を掛けても元の空間に戻すことはできないのです。つまり、行列式の値がゼロの行列は非正則行列であり、ゼロ以外の行列は正則行列であるということです。
重要
行列式の値がゼロのとき、その行列には逆行列は存在しない(=その行列は非正則行列である)。行列式の値がゼロ以外のとき、その行列には逆行列が存在する(=その行列は正則行列である)。
数学的な証明
プログラマーとしては、逆行列と行列式に関しては、以上のことを理解しておけば十分です。しかし数学的には、行列式の値がゼロの場合は逆行列が存在しないのは何故なのかが気になるのは当然のことです。気になることはなんでも考え尽くすのが数学というものです。まさにその姿勢からこそ、偉大な発見がいくつも生み出されています。そこで、その理由については以下のボックス内で解説することにします。ご興味のある方は、ぜひご確認ください。
3. まとめ
いかがだったでしょうか?
行列式の値がゼロのとき、その行列には逆行列は存在しません。なぜなら、行列式とは線形変換によって空間が何倍になるのかを知るためのものだからです。空間がゼロ倍になるということは、その空間の次元が一つ下がるということなので、その後にどのような行列を掛けたとしても、元の空間に戻すことはできません。
以上が、行列式の値がゼロのときは逆行列が存在しない理由です。まずはここまでをしっかりとイメージできるようになりましょう。
なお数学的には、行列式はある行列の列ベクトル(行ベクトルでも構いません)同士がお互いに独立しているかどうかを判定する式です。プログラミング的にはこれについて絶対に理解しておかなければいけないというわけではありませんが、数学的には必要です。これについては、数学的な興味がある場合や、後学のために興味があるという場合に読み返して頂ければと思います。
コメントを残す