線形代数・行列変換ビジュアライザー 戻る
線形代数ビジュアライザー

線形代数・行列変換ビジュアライザー

2×2行列の各成分をスライダーで操作して、2次元グリッドが回転・拡大・せん断される様子をリアルタイムアニメーションで確認。固有ベクトルが変換で向きを変えない理由が直感的にわかる。

プリセット変換
行列成分 A = [[a,b],[c,d]]
a(左上)
b(右上)
c(左下)
d(右下)
恒等変換
計算結果
行列式 det(A)
トレース tr(A)
固有値 λ₁
固有値 λ₂
材料

青:変換前のグリッド/赤:変換後のグリッド/黄矢印:固有ベクトル

理論・主要公式

$\det(A) = ad - bc$(面積倍率)

固有値:$\lambda = \dfrac{(a+d) \pm \sqrt{(a-d)^2+4bc}}{2}$

$A\mathbf{v}= \lambda\mathbf{v}$ — 固有方程式

線形代数・行列変換ビジュアライザーとは

🙋
このシミュレーターで「行列」が何をしているのか、イメージがわかないんです。a, b, c, dって何を動かしてるんですか?
🎓
大まかに言うと、この4つの数字が2次元の世界を「変形させるレシピ」なんだ。例えば、画面のグリッドをぐにゃっと伸ばしたり、回したりする力の強さを決めてる。上のスライダーでaを1から2に変えてみて。グリッドが横に伸びるのが見えるよね?これが「拡大」の変換だ。
🙋
え、そうなんですか!確かに伸びました。でも、bやcを動かすとグリッドが傾きますね。これが「せん断」ってやつですか?
🎓
その通り!bは横方向への「押し出し」、cは縦方向への「押し出し」をコントロールしてるんだ。実務では、材料が力を受けて菱形に歪む現象を表すのに使うよ。パラメータをいじると、一つの行列で「回転」「拡大」「せん断」が混ざった複雑な変形も作れるんだ。
🙋
「固有ベクトル」って、画面に出てる赤と青の矢印ですよね。これ、どうして向きが変わらないんですか?
🎓
いいところに気が付いたね。その矢印の方向は、この行列による変形の「主軸」なんだ。変形してもその線上からはみ出さない、特別な方向なの。スライダーを動かして矢印が伸び縮みするのを確認してみて。伸び率が「固有値」だ。例えば自動車の振動解析では、この主振動モードを見つけることが特に重要になる。

よくある質問

初期状態では行列が単位行列(a=1, d=1, b=0, c=0)になっているため、変換をかけても元のグリッドと変わりません。スライダーでaやdの値を1から変えたり、bやcに0以外の値を入れると、拡大・回転・せん断がリアルタイムで可視化されます。
画面上に表示される固有ベクトル(矢印)は、行列を作用させても方向が変わらず、長さだけが固有値倍されます。スライダーで行列を変えても、その矢印だけは回転せずに伸縮する様子を観察することで、直感的に理解できます。
はい。グリッドの面積変化が行列式の絶対値に対応し、スライダーでa・dを変えると面積が拡大・縮小します。また、行列式が0に近づくとグリッドが潰れ、逆行列が存在しなくなる様子も視覚的に確認できます。
回転行列はa=cosθ, b=-sinθ, c=sinθ, d=cosθの関係が必要です。スライダーは各成分を独立に操作するため、正確な回転を再現するには手動でこれらの数値を合わせる必要があります。角度θを変えたい場合は、計算機でcos, sinを求めて入力してください。

実世界での応用

コンピュータグラフィックスと画像処理:画像の回転、拡大縮小、せん断変形は全て行列変換で記述されます。このツールで遊ぶことが、画像をプログラムで変形する原理の直感的理解に直結します。

構造力学とCAE(有限要素法):材料の変形や応力は局所的に線形変換で近似できます。また、構造物の振動解析(固有振動数と振動モード)は、大規模な行列の固有値問題として解かれ、設計の基礎データとなります。

主成分分析(PCA):多次元データの分析で、データの広がりが最大となる方向(主成分)を見つける技術です。これはデータの共分散行列の固有ベクトルを求める問題であり、ここで学ぶ概念の直接的な応用です。

制御理論:ロボットや機械の動きを記述し、制御する状態方程式は、線形代数の言葉で書かれます。システムの安定性は、関連する行列の固有値の位置で判断されます。

よくある誤解と注意点

このビジュアライザーで遊び始めるとき、いくつかつまずきやすいポイントがあるから気をつけてね。まず、「行列の成分をいじると、変形はいつも原点を中心に起こる」ということを頭に入れておこう。例えば、回転スライダーを動かすとグリッド全体が原点を中心に回るよね? 実務で「ある特定の点を中心に回転させたい」と思ったら、この基本の変換だけでは足りなくて、平行移動(アフィン変換)の知識が必要になるんだ。次に、固有ベクトルが常に直交すると思い込まないこと。確かに回転行列や対称行列の固有ベクトルは直交するけど、例えば a=1, b=1, c=0, d=2 のような一般的な行列では、赤と青の矢印(固有ベクトル)は斜めに交わるだけだ。これが「主軸」が直交しない変形の実例だよ。最後に、行列式(det)が0に近づくときの挙動に注意。ad-bcの値が0になると、面積倍率が0、つまり2次元の面が1次元の線や点にぺちゃんこにつぶれる(「退化」する)。例えば a=1, b=2, c=2, d=4 にすると行列式は0になるけど、この時、全ての点が直線 y=2x 上に押し出されるのが確認できる。こういう状態は連立方程式が解けなかったり、制御が不能になったりすることを意味していて、実務では絶対に避けたい状況なんだ。

使い方ガイド

  1. 2×2行列の4成分(a, b, c, d)をスライダーで調整し、グリッド変換をリアルタイムで観察します
  2. 固有ベクトル表示をONにすると、変換後も向きが変わらないベクトル方向(赤・青矢印)が描画されます
  3. 行列式 det(A) = ad-bc の値で面積倍率を確認し、負値の場合は反転を意味することを理解します
  4. 固有値 λ₁, λ₂ がそれぞれ固有ベクトル方向での拡大倍率であることを数値とアニメーションで対応させます

具体的な計算例

鋼製フレーム構造の応力解析で使用される例:行列 A = [[2, 1], [0, 3]] の場合、det(A) = 6×1 - 1×0 = 6(面積6倍拡大)、tr(A) = 2 + 3 = 5、固有値は λ₁ = 2(x軸方向の引張応力倍率)、λ₂ = 3(y軸方向の引張応力倍率)です。スライダーで a=2, b=1, c=0, d=3 と設定すると、90度回転したグリッド四角形が2×3の楕円形に変換される様子が確認でき、固有ベクトル(1, 0)と(0, 1)は向き不変のまま拡大されます。

実務での注意点