単位行列・零行列・転置の基本
mathlinear-algebraundergraduatelecture
導入
この講義で重要なのは、単位行列、零行列、転置は、行列の演算を整理する基準であるということである。
逆行列、対称行列、内積、SVD では、これらの記号が頻出する。計算の前段階として、何を変えず、何を 0 にし、何を入れ替えるのかを固定する。
用語と定義
単位行列 とは、対角成分が 1、他の成分が 0 の正方行列である。
I_3=\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}
零行列 とは、すべての成分が 0 の行列である。
転置 とは、行と列を入れ替える操作であり、A^T と書く。
共役転置 とは、複素行列で転置したあと各成分の複素共役を取る操作であり、A^* と書く。実行列では A^*=A^T であるが、複素行列では一般に異なる。
直感的な説明
単位行列は、ベクトルをそのまま返す変換である。したがって Ix=x が成立する。零行列は、すべてのベクトルを零ベクトルへ送る。
転置は、行を列として読み替える操作である。内積や対称行列では、この読み替えが本質的に作用する。
もう少し構造的に言うと、転置は「入力側と出力側を入れ替えて見る」操作である。行として並んでいた条件は列として現れ、列として並んでいた生成方向は行として現れる。
厳密な説明
A=(a_{ij}) を m\times n 行列とする。このとき転置 A^T は n\times m 行列であり、成分は
(A^T)_{ij}=a_{ji}
である。積に対しては
(AB)^T=B^TA^T
が成立する。順序が反転するのは、行列積が写像の合成を表すためである。
単位行列は、サイズが合うとき
AI=A,\qquad IA=A
を満たす。零行列は
A+0=A
を満たす。
操作ごとに保存されるもの・変わるもの
| 対象 | 操作 | 保存されるもの | 変わるもの |
| 単位行列 | AI=A,\ IA=A | 行列そのもの、階数、行列式、解集合 | 何も変えない。ただしサイズ条件は必要 |
| 零行列 | A+0=A | 加法では行列そのもの | 掛けると情報を潰す。零写像としては像が \{0\} になる |
| 転置 | A\mapsto A^T | 階数、正方行列の行列式 | 行数と列数、行空間と列空間、積の順序 |
単位行列は何も変えない基準である。ただし、AI=A と IA=A では必要な I のサイズが異なる。行列 A が m\times n なら、
AI_n=A,\qquad I_mA=A
である。
零行列は、加法では何も変えない。しかし掛け算では状況が違う。
0A=0,\qquad A0=0
は、入力や出力の情報を零へ潰す操作である。したがって零行列は、加法では中立だが、合成では情報を消す写像として働く。
転置で入れ替わるもの
A を m\times n 行列とする。転置すると、行と列が入れ替わるため、サイズは
A:m\times n,\qquad A^T:n\times m
に変わる。したがって、A の列空間は K^m の部分空間であり、A^T の列空間は K^n の部分空間である。同じ空間の部分集合として比べるのではなく、行と列の役割が交換されたと読む。
具体的には、
\operatorname{Row}(A)=\operatorname{Col}(A^T)
\operatorname{Col}(A)=\operatorname{Row}(A^T)
である。したがって階数は保存される。
\operatorname{rank}(A)=\operatorname{rank}(A^T)
一方、核はそのまま同じ集合として保存されるわけではない。A:K^n\to K^m なら \ker A は K^n の部分空間であり、A^T:K^m\to K^n なら \ker A^T は K^m の部分空間である。属する空間が異なるため、転置で核が保存されるとは言わない。
転置で保存されるもの
転置は、行と列を交換しても情報の配列を失わない。実際、
(A^T)^T=A
であり、転置は元に戻せる操作である。このため、階数は保存される。
正方行列では、行列式も保存される。
\det(A^T)=\det A
これは、行列式を行について展開しても列について展開しても同じ値になることに対応する。行列式の計算規則は次のページで扱う。
data/lecture/math/linear-algebra/行列式の計算規則-講義.n.md
転置と行基本変形・列基本変形
転置は、行と列を交換するため、行基本変形と列基本変形も互いに対応する。
行基本変形で
B=EA
と書けるとき、転置すると
B^T=(EA)^T=A^TE^T
である。これは、A^T に右から E^T を掛けているので、A^T に対する列基本変形である。
逆に、列基本変形で
B=AF
と書けるとき、
B^T=(AF)^T=F^TA^T
である。これは、A^T に左から F^T を掛けているので、A^T に対する行基本変形である。
したがって、転置は「行の話を列の話へ」「列の話を行の話へ」翻訳する道具である。
data/lecture/math/linear-algebra/行基本変形の基本-講義.n.md
data/lecture/math/linear-algebra/列基本変形の基本-講義.n.md
具体例
A=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}
なら
A^T=\begin{pmatrix}1&4\\2&5\\3&6\end{pmatrix}
である。A は 2\times3 行列であり、A^T は 3\times2 行列である。
この例では、A の第 1 行 (1,2,3) が、A^T の第 1 列になる。また、A の第 2 列 \begin{pmatrix}2\\5\end{pmatrix} は、A^T の第 2 行になる。成分を単独で追うより、行と列の役割が交換されると読む方が理解しやすい。
よくある誤解
- 単位行列は正方行列である。サイズを無視して I を掛けてはならない。
- 零行列はサイズごとに存在する。2\times3 の零行列と 3\times2 の零行列はサイズが異なる。
- 転置は逆行列ではない。A^T と A^{-1} は別の概念である。
- 転置で核がそのまま保存されると考えてはならない。A と A^T では入力空間が入れ替わる。
- (AB)^T=A^TB^T と誤ってはならない。正しくは (AB)^T=B^TA^T である。
どこまで成り立つか
複素行列では、転置だけでなく共役転置 A^* が重要になる。エルミート行列や SVD では A^T ではなく A^* を使用する。
(A^*)_{ij}=\overline{a_{ji}},\qquad (AB)^*=B^*A^*
この順序の反転は転置と同じであり、さらに成分に共役が加わる。複素内積の中では A^* が随伴として働き、\langle Ax,y\rangle=\langle x,A^*y\rangle を満たす。
data/lecture/math/linear-algebra/複素内積とユニタリ行列-講義.n.md
最終形
\boxed{AI=A,\qquad IA=A}
\boxed{A+0=A}
\boxed{(A^T)_{ij}=a_{ji},\qquad (AB)^T=B^TA^T}
\boxed{\operatorname{rank}(A)=\operatorname{rank}(A^T),\qquad \det(A^T)=\det A}