線形代数 · 第11回 · 動画3 · インタラクティブ教材

行列は原子でできている ― 階数一の行列という部品

I重要な公式

公式 名称 説明
A=uvTA = \mathbf{u}\mathbf{v}^T 外積 列 ×\times 行 →\to 行列
Aij=ui⋅vjA_{ij} = u_i \cdot v_j 成分の公式 各成分は、対応する成分どうしの積
A=∑k=1rukvkTA = \sum_{k=1}^{r} \mathbf{u}_k \mathbf{v}_k^T 階数一の行列への分解 階数 rr の行列は、rr 個の階数一の行列の和
rank(A+B)≤rank(A)+rank(B)\text{rank}(A + B) \leq \text{rank}(A) + \text{rank}(B) 階数の不等式 和の階数は、階数の和を超えない

II可視化1 — 外積の掛け算表

A=uvTA = \mathbf{u}\mathbf{v}^T のどの成分も、ただ1つの積 Aij=ui×vjA_{ij} = u_i \times v_j です。

AA のどの行も vT\mathbf{v}^T の定数倍で、どの列も u\mathbf{u} の定数倍です。この「方向が1つしかない」という構造こそが、階数が 1 であるということの意味です。

III可視化2 — 列も行も1本の直線に収まる

A=uvTA = \mathbf{u}\mathbf{v}^T では、どの列も u\mathbf{u} の定数倍で、どの行も v\mathbf{v} の定数倍です。

u\mathbf{u} か v\mathbf{v} を原点まで動かすと、AA は零行列になります。階数は 00 になり、2本の直線はどちらも消えます。

IV可視化3 — 階数がそのまま足し算になるのはいつか?

階数一の行列を2つ足すと、rank(M1+M2)\text{rank}(M_1 + M_2) は上限の 22 に届くこともあれば、それを下回ることもあります。

和の階数は 00、11、22 のどれにもなりうるので、階数一の行列は加法について閉じていません。したがって、部分空間にはなりません。

V確認クイズ

問1 · 外積の成分

u=[3−1]\mathbf{u} = \begin{bmatrix} 3 \\ -1 \end{bmatrix}、vT=[24]\mathbf{v}^T = \begin{bmatrix} 2 & 4 \end{bmatrix} のとき、行列 A=uvTA = \mathbf{u}\mathbf{v}^T の (2,1)(2, 1) 成分はどれでしょうか?

✅ 正解です! (2,1) 成分 = u₂ · v₁ = (−1)(2) = −2 です。

❌ 惜しい! (i,j) 成分 = uᵢ × vⱼ でしたね。(2,1) の位置には、u₂ = −1 と v₁ = 2 を使います。

解答を見る

解答:

A=uvTA = \mathbf{u}\mathbf{v}^T の (i,j)(i, j) 成分は ui⋅vju_i \cdot v_j です。

(2,1)(2, 1) 成分は u2⋅v1=(−1)×2=−2u_2 \cdot v_1 = (-1) \times 2 = -2 です。

行列全体は次のとおりです。 A=[3−1][24]=[3×23×4(−1)×2(−1)×4]=[612−2−4]A = \begin{bmatrix} 3 \\ -1 \end{bmatrix} \begin{bmatrix} 2 & 4 \end{bmatrix} = \begin{bmatrix} 3 \times 2 & 3 \times 4 \\ (-1) \times 2 & (-1) \times 4 \end{bmatrix} = \begin{bmatrix} 6 & 12 \\ -2 & -4 \end{bmatrix}

よくある間違い:

  • 6 を選んだなら、成分 (1,1)=u1⋅v1(1,1) = u_1 \cdot v_1 を使っています — 行が違います
  • 12 を選んだなら、成分 (1,2)=u1⋅v2(1,2) = u_1 \cdot v_2 を使っています — 行も列も違います
  • -4 を選んだなら、成分 (2,2)=u2⋅v2(2,2) = u_2 \cdot v_2 を使っています — 列が違います

問2 · 部分空間になるか

正しいか誤りか:2×22 \times 2 の階数一の行列全体の集合は、2×22 \times 2 行列全体のなすベクトル空間の部分空間である。

✅ 正解です! 階数一の行列は加法について閉じていないので、部分空間にはなりえません。

❌ 惜しい! [[1,0],[0,0]] と [[0,0],[0,1]] を足してみましょう。和の階数はいくつでしょうか?

解答を見る

解答:誤り

階数一の行列は加法について閉じていません。部分空間であるためには、この性質が欠かせません。

反例:

M1=[1000]  (階数 1),M2=[0001]  (階数 1)M_1 = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} \;\text{(階数 1)}, \qquad M_2 = \begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix} \;\text{(階数 1)}

M1+M2=[1001]=I2  (階数 1 ではなく階数 2!)M_1 + M_2 = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = I_2 \;\text{(階数 1 ではなく階数 2!)}

階数一の行列2つの和は階数 2 になりうるので、この集合は、部分空間に必要な「加法について閉じている」という条件を満たしません。

(補足:この集合には零行列も含まれません。零行列の階数は 1 ではなく 0 だからです。)

問3 · 打ち消し合ったあとの階数

行列 AA の階数は 3 です。B=−AB = -A とします。rank(A+B)\text{rank}(A + B) はいくつでしょうか?

✅ 正解です! A + (−A) = 0 は零行列で、階数は 0 です。階数の不等式のもとでは、大きな打ち消し合いが起こりえます。

❌ 惜しい! A + (−A) は何になるでしょうか? そして、その行列の階数はいくつでしょうか?

解答を見る

解答:

A+B=A+(−A)=0A + B = A + (-A) = \mathbf{0}

零行列の階数は 0 です。0 でない列が1本もないからです。

この例から、階数の不等式では、左辺が右辺を大きく下回ることもあると分かります。

rank(A+B)=0  ≪  rank(A)+rank(B)=3+3=6\text{rank}(A + B) = 0 \;\ll\; \text{rank}(A) + \text{rank}(B) = 3 + 3 = 6

上限としては階数 6 まで許されますが、実際の階数は 0 です。B=−AB = -A なら、AA がどんな行列であっても、必ず完全に打ち消し合います。

問4 · 階数一の行列への分解

10×1010 \times 10 行列 AA の階数は 4 です。AA を階数一の行列の和として書くとき、必要な階数一の行列の個数の最小値はいくつでしょうか?

✅ 正解です! 階数 r の行列は、行列の大きさにかかわらず、ちょうど r 個の階数一の部品に分解できます。

❌ 惜しい! 階数一の部品の個数は、行列の大きさや成分の個数ではなく、階数に等しくなります。

解答を見る

解答:

階数 rr の行列は、ちょうど rr 個の階数一の行列に分解できます。それより少なくはできません。

rank(A)=4\text{rank}(A) = 4 なので、

A=u1v1T+u2v2T+u3v3T+u4v4TA = \mathbf{u}_1\mathbf{v}_1^T + \mathbf{u}_2\mathbf{v}_2^T + \mathbf{u}_3\mathbf{v}_3^T + \mathbf{u}_4\mathbf{v}_4^T

行列の大きさ(10×10=10010 \times 10 = 100 個の成分)は関係ありません。個数を決めるのは階数だけです。具体的なベクトル uk,vk\mathbf{u}_k, \mathbf{v}_k は一通りではありません(正しい分解はたくさんあります)が、階数一の部品の最小個数はいつも階数に等しくなります。

  • 1 では少なすぎます(階数 4 ではなく階数 1 の行列になってしまいます)
  • 10 は、行列のサイズと階数を混同しています
  • 100 は、成分の個数と階数を混同しています

正解数:0 / 4