【新人エンジニア向け】「解なし」の正体を見破る。行列式と「面積」の意外な関係

こんにちは。ゆうせいです。

これまで3回にわたり、行列の基礎から連立方程式の解き方までを一緒に学んできました。

「データを表にする」「掛けて変換する」「逆行列で元に戻す」。

これらの武器を手に入れた皆さんは、もう立派な行列使い……と言いたいところですが、最後に一つだけ、避けて通れない大きな罠についてお話しなければなりません。

それは、「どうしても解けない問題」の存在です。

前回、「逆行列を使えば連立方程式は一発で解ける」とお話ししました。

しかし、世の中には逆行列が存在しない意地悪な行列が存在します。

プログラミングで言えば、ゼロ除算エラー(ZeroDivisionError)のような状態です。

最終回となる今回は、そんな「解けない行列」を見分けるための探知機、「行列式(ぎょうれつしき)」について解説します。

実はこれ、単なる計算式ではなく、図形の「面積」と深い関係があるのです。

逆行列が「ない」とはどういうことか?

まず、単純な例を見てみましょう。

次のような連立方程式があったとします。

\begin{cases} x_{1} + 4x_{2} = 7 \ 2x_{1} + 8x_{2} = 14 \end{cases}

これを行列で書くとこうなります。

\begin{pmatrix} 1 & 4 \ 2 & 8 \end{pmatrix} \begin{pmatrix} x_{1} \ x_{2} \end{pmatrix} = \begin{pmatrix} 7 \ 14 \end{pmatrix}

係数の行列 A = \begin{pmatrix} 1 & 4 \ 2 & 8 \end{pmatrix} に注目してください。

よく見ると、下の行 (2, 8) は、上の行 (1, 4) をちょうど2倍しただけですよね?

これは、「式の見た目は2つあるけれど、実質的な情報は1つしかない」という状態です。

情報が足りないので、x_{1}x_{2} をただ1つの答えに絞り込むことができません(解が定まらない)。

このようなとき、行列 A には逆行列が存在しません。

つまり、「元に戻す」ことができないのです。

鍵を握るのは「面積」だった

なぜ元に戻せないのでしょうか?

これを視覚的に理解するために、行列を「図形の変換装置」として見てみましょう。

行列 \begin{pmatrix} a & b \ c & d \end{pmatrix} は、

基本となるベクトル \vec{i} = (1, 0)\vec{j} = (0, 1) で作られる「正方形(面積1)」を、

ベクトル \vec{v}_{1} = (a, c)\vec{v}_{2} = (b, d) で作られる「平行四辺形」に変形させる装置だと考えられます。

ぺちゃんこになったら戻れない

先ほどの解けない行列 \begin{pmatrix} 1 & 4 \ 2 & 8 \end{pmatrix} を見てみましょう。

これを作っている2つのベクトルは、

\vec{v}_{1} = (1, 2)

\vec{v}_{2} = (4, 8)

です。

この2つの矢印を紙に書いてみてください。

向きがまったく同じ(平行)ですよね?

平行な2つの矢印で平行四辺形を作ろうとしても、それは潰れてしまって「面積がゼロ」になってしまいます。

面積を持っていない(ペラペラの線になってしまった)図形を、元のふっくらした正方形に戻すことはできません。情報が失われてしまったからです。

これが、逆行列が存在しない理由の正体です。

行列の「大きさ」を測る:行列式 (Determinant)

この「変換後の面積」を表す数値こそが、今回の主役「行列式(Determinant)」です。

\det(A)|A| と書きます。

2行2列の行列 A = \begin{pmatrix} a & b \ c & d \end{pmatrix} の場合、行列式は次のシンプルな式で求められます。

|A| = ad - bc

この値が何を意味するかというと:

  • ad - bc \neq 0 のとき :面積がある! つまり、図形は潰れていないので、逆行列が存在する(解ける)。
  • ad - bc = 0 のとき :面積がゼロ! 図形がぺちゃんこになっているので、逆行列は存在しない(解けない)。

計算してみよう

先ほどの「解けない行列」で試してみましょう。

A = \begin{pmatrix} 1 & 4 \ 2 & 8 \end{pmatrix}

|A| = 1 \times 8 - 4 \times 2 = 8 - 8 = 0

見事にゼロになりました!

行列式がゼロということは、この行列は「情報を潰してしまう行列」であり、逆行列を持たないことが計算だけで判定できたわけです。

3次元以上でも同じこと

3行3列の行列(3次元)になっても考え方は同じです。

今度は「面積」ではなく、3つのベクトルが作る「体積」が行列式になります。

もし行列式がゼロなら、その立体は潰れて(例えば平面になって)しまっており、体積を持ちません。

計算は少し複雑になりますが(サラスの公式などを使います)、本質は「中身が詰まっているか、スカスカ(潰れている)か」を判定しているのです。

全4回のまとめ:数学はエンジニアの武器になる

お疲れ様でした! これで全4回の「新人エンジニアのための線形代数入門」は完結です。

最後に、私たちが辿ってきた道を振り返ってみましょう。

  1. 行列とは? :データをひとまとめにして扱うための「表」。
  2. 行列の積 :データの特徴を混ぜ合わせる「変換装置」。
  3. 逆行列 :変換したデータを元に戻す、連立方程式の「解法」。
  4. 行列式 :変換によってデータが潰れていないかチェックする「探知機」。

最初はただの数字の羅列に見えた行列が、今では意味を持ったツールに見えてきませんか?

もちろん、線形代数学の世界はもっと広大です。

データの重要な成分だけを抜き出す「固有値(こゆうち)」や「固有ベクトル」、AIの画像処理で使われる「特異値分解(とくいちぶんかい)」など、ワクワクするようなトピックがまだまだ待っています。

しかし、この連載で学んだ基礎があれば、そういった高度な概念も「ああ、あの行列の延長ね」と恐れずに立ち向かえるはずです。

「数学、ちょっと面白いかも」

そう思っていただけたなら、筆者としてこれ以上の喜びはありません。

ぜひ、日々の業務や学習の中で数式に出会ったら、逃げずにその意味(裏にある図形のイメージ)を想像してみてください。きっと、今まで見えなかった景色が見えてくるはずです。

最後まで読んでいただき、ありがとうございました!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。