行列

Basis
最終更新: タグ: Linear Algebra

構造化されたデータを格納・変換・伝送する必要があるとき——グレースケール画像、価格の体系、構造に加わる力——ほぼ確実に行列を使っている。行列は線型代数の計算の主役だ:抽象的なアイデアを具体化し、実際に計算できるものを与えてくれる。

行列とは何か?

FF 上の m×nm \times n 行列とは、mmnn 列の長方形の配列であり、各成分が FF の元からなるものだ:

A=(a11a12a1na21a22a2nam1am2amn)A = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix}

ii 行第 jj 列の成分を aija_{ij}、または (A)ij(A)_{ij} と書く。対 (m,n)(m, n) を行列の(shape)または次元(dimensions)という。m=nm = n のとき、行列は正方行列(square matrix)であり、次数(order)nn と呼ぶ。

二つの行列が等しいとは、形が同じでかつすべての対応する成分が等しいことをいう。

特別な場合:ベクトルとしての行列

列ベクトル(column vector)とは m×1m \times 1 行列——mm 成分の一列のことだ。行ベクトル(row vector)とは 1×n1 \times n 行列——nn 成分の一行のことだ。前提チェックポイント「ベクトル空間」ですでに FmF^m の元として列ベクトルを見ている;行列はそのような列を複数並べたもの(あるいは好みに応じて行を複数積み重ねたもの)だ。

行列の加法とスカラー倍

行列の加法(matrix addition)は成分ごとに定義される。AABB がともに m×nm \times n 行列なら、その和 A+BA + Bm×nm \times n 行列であり:

(A+B)ij=aij+bij.(A + B)_{ij} = a_{ij} + b_{ij}.

対応する成分を単純に足す。AABB の形が異なる場合、和は定義されない。

スカラー cFc \in F によるスカラー倍(scalar multiplication)はすべての成分を cc 倍する:

(cA)ij=caij.(cA)_{ij} = c \cdot a_{ij}.

この二つの演算は、個々の成分に対して行う演算を配列全体に同時に拡張したものにすぎない。

行列のベクトル空間

加法とスカラー倍が成分ごとに作用するため、FF 上の m×nm \times n 行列全体の集合——Mm,n(F)M_{m,n}(F) と書く——はベクトル空間の完全な構造を受け継ぐ。すべての成分がゼロの零行列(zero matrix)OO がゼロベクトルの役割を果たし、結合性や分配性などすべての公理は FF の対応する公理から直ちに従う。

つまり行列に対してベクトルにできることはすべてできる:線型結合を取ったり、線型独立、スパン、基底について語ったりできる。実際、位置 (i,j)(i,j)11、その他すべての位置に 00 を持つ mnmn 個の行列 EijE_{ij}Mm,n(F)M_{m,n}(F) の基底をなすので、dimMm,n(F)=mn\dim M_{m,n}(F) = mn だ。

転置

行列 AMm,n(F)A \in M_{m,n}(F)転置(transpose)とは行列 AMn,m(F)A^\top \in M_{n,m}(F) であり、その (i,j)(i,j) 成分は:

(A)ij=aji.(A^\top)_{ij} = a_{ji}.

平たく言うと:行列を主対角線に沿って裏返し、行を列に、列を行に変える。たとえば:

(123456)=(142536).\begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}^\top = \begin{pmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{pmatrix}.

転置は (A)=A(A^\top)^\top = A および (A+B)=A+B(A + B)^\top = A^\top + B^\top を満たす。A=AA^\top = A となる正方行列を対称行列(symmetric matrix)という。

単位行列

単位行列(identity matrix)InI_n は、主対角線上に 11、それ以外のすべての場所に 00 を持つ n×nn \times n の正方行列だ:

In=(100010001).I_n = \begin{pmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{pmatrix}.

位置 (i,j)(i,j) の成分はクロネッカーのデルタ(Kronecker delta)δij\delta_{ij} であり、i=ji = j のとき 11、そうでないとき 00 に等しい。任意の適合する行列に InI_n を掛けても行列は変わらない——単位行列は行列の乗法における乗法単位元として機能する。これについては線型写像で詳しく扱う。

線型写像のエンコードとしての行列

行列は単なる格納フォーマットではない。線型写像で見るように、すべての行列 AMm,n(F)A \in M_{m,n}(F)FnF^n から FmF^m への特定の線型関数をエンコードしており、有限次元空間の間のすべての線型関数は基底を固定すれば行列として書ける。この対応が行列を線型代数の中心に置く理由だ。

まとめ

  • FF 上の m×nm \times n 行列は成分 aijFa_{ij} \in F の長方形の配列だ。
  • 列ベクトル行ベクトルはそれぞれ m×1m \times 1 および 1×n1 \times n の特別な場合だ。
  • 行列の加法スカラー倍は成分ごとに働き、Mm,n(F)M_{m,n}(F) を次元 mnmn のベクトル空間にする。
  • 転置 AA^\top は行と列を入れ替える:(A)ij=aji(A^\top)_{ij} = a_{ji}
  • 単位行列 InI_n は対角成分が 11 で、乗法単位元として機能する。
  • 行列は線型写像をエンコードする——この対応は線型写像で精密に述べられる。