行列(Matrix)とは、数学の線形代数学において基本となる概念で、数や文字、式などを縦と横に矩形状に配列したものです。行列は横の並びを「行」、縦の並びを「列」と呼び、m個の行とn個の列からなる行列を「m行n列の行列」または「m×n行列」と表記します。
行列は通常、大文字のアルファベット(A, B, Cなど)で表され、その成分は小文字で表されることが一般的です。第i行と第j列の交点にある成分を「(i,j)成分」といい、a_{ij}と表記します。例えば、2行3列の行列Aは以下のように表されます。
A =
[a_{11} a_{12} a_{13}]
[a_{21} a_{22} a_{23}]
特に、行と列の数が等しい行列を「正方行列(Square Matrix)」と呼びます。例えば、2×2行列や3×3行列などが正方行列に該当します。正方行列の中でも、対角線上(左上から右下への線)の成分がすべて1で、それ以外の成分がすべて0である行列を「単位行列(Identity Matrix)」と呼び、行列の世界では「1」のような役割を持ちます。
行列の表記方法としては、角括弧[ ]や丸括弧( )で囲む方法が一般的ですが、学術論文などでは特に角括弧が多く使用されます。
行列の計算には、加算・減算・乗算・除算(逆行列を用いた演算)の四則演算があります。ここでは、それぞれの基本的な計算方法を解説します。
1. 行列の加算と減算
行列の加算と減算は、同じサイズ(同じ型)の行列間でのみ可能です。計算方法は非常にシンプルで、対応する位置の成分同士を足したり引いたりします。
例えば、2×2行列A, Bがあるとき。
A = [1 2] B = [5 6]
[3 4] [7 8]
加算A + Bは。
A + B = [1+5 2+6] = [6 8]
[3+7 4+8] [10 12]
減算A - Bは。
A - B = [1-5 2-6] = [-4 -4]
[3-7 4-8] [-4 -4]
2. 行列の乗算
行列の乗算は特殊な計算方法を持ちます。行列A(m×n行列)と行列B(n×p行列)の積C = ABを計算するためには、Aの列数とBの行数が一致している必要があります。結果のC行列はm×p行列となります。
計算方法は、Aの行ベクトルとBの列ベクトルの内積を要素とする行列を作ります。具体的には。
C_{ij} = Σ(k=1 to n) A_{ik} × B_{kj}
例えば、2×3行列Aと3×2行列Bの積。
A = [1 2 3] B = [7 8]
[4 5 6] [9 10]
[11 12]
A×Bは。
A×B = [1×7+2×9+3×11 1×8+2×10+3×12] = [58 64]
[4×7+5×9+6×11 4×8+5×10+6×12] [139 154]
3. スカラー倍
行列のスカラー倍(数との掛け算)は、行列の各成分にその数を掛けます。
例えば、行列Aを3倍すると。
3A = 3×[1 2] = [3×1 3×2] = [3 6]
[3 4] [3×3 3×4] [9 12]
4. 行列の除算(逆行列を用いた演算)
行列には直接的な「割り算」は定義されていませんが、逆行列を用いて同様の演算を行います。正方行列Aに対して、A×A^(-1) = A^(-1)×A = I(単位行列)となるA^(-1)を「Aの逆行列」と呼びます。
逆行列は、行列式(determinant)が0でない正方行列に対してのみ存在します。2×2行列の場合、逆行列は以下のように計算できます。
A = [a b] A^(-1) = 1/(ad-bc) × [d -b]
[c d] [-c a]
ここで、(ad-bc)は行列Aの行列式です。
行列式(determinant)は、正方行列から計算される特別な値で、行列の性質を理解する上で重要な概念です。行列式は通常、det(A)または|A|と表記されます。
行列式の計算方法
2×2行列の行列式は比較的簡単に計算できます。
A = [a b]
[c d]
det(A) = |A| = ad - bc
3×3以上の行列式は、余因子展開という方法で計算します。例えば、3×3行列の場合。
A = [a11 a12 a13]
[a21 a22 a23]
[a31 a32 a33]
det(A) = a11(a22a33 - a23a32) - a12(a21a33 - a23a31) + a13(a21a32 - a22a31)
行列式の幾何学的意味
行列式は、行列が表す線形変換によって変換される空間の「体積の拡大率」を表します。例えば。
行列式が0の場合、その行列による変換は次元を落とす変換となります(例:3次元から2次元への射影など)。このような行列は「特異行列(singular matrix)」と呼ばれ、逆行列を持ちません。
行列式は、線形方程式の解の存在条件や、固有値問題など、線形代数学の多くの場面で重要な役割を果たします。
行列には様々な種類があり、それぞれ特有の性質を持っています。ここでは、代表的な特殊行列とその性質について解説します。
1. 単位行列(Identity Matrix)
単位行列は、対角成分がすべて1で、それ以外の成分がすべて0である正方行列です。n次の単位行列はI_nと表記され、任意の行列Aに対してA×I = I×A = Aという性質を持ちます。つまり、行列の乗算における「1」の役割を果たします。
I_3 = [1 0 0]
[0 1 0]
[0 0 1]
2. 対角行列(Diagonal Matrix)
対角行列は、対角成分以外がすべて0である行列です。対角行列同士の乗算は、対応する対角成分同士の積になるため、計算が非常に簡単です。
D = [d1 0 0]
[0 d2 0]
[0 0 d3]
3. 三角行列(Triangular Matrix)
上三角行列は、対角成分より下の成分がすべて0の行列です。下三角行列はその逆で、対角成分より上の成分がすべて0です。
上三角行列。
U = [u11 u12 u13]
[0 u22 u23]
[0 0 u33]
下三角行列。
L = [l11 0 0]
[l21 l22 0]
[l31 l32 l33]
4. 対称行列(Symmetric Matrix)
対称行列は、転置行列が元の行列と等しい行列です。つまり、a_{ij} = a_{ji}となる行列です。対称行列は、実対称行列の場合、すべての固有値が実数であり、互いに直交する固有ベクトルを持つという重要な性質があります。
S = [a b c]
[b d e]
[c e f]
5. 直交行列(Orthogonal Matrix)
直交行列は、その転置行列が逆行列と等しい行列です。つまり、A^T = A^(-1)、または A^T×A = A×A^T = Iとなる行列です。直交行列は、ベクトルの長さと角度を保存する変換(回転や反射など)を表します。
6. エルミート行列(Hermitian Matrix)
複素数を成分に持つ行列で、共役転置行列が元の行列と等しい行列です。実数の場合は対称行列と同じになります。
これらの特殊な行列は、線形代数学の理論だけでなく、物理学、工学、コンピュータサイエンスなど多くの分野で重要な役割を果たしています。
行列の積は、初めて学ぶ際には複雑に感じるかもしれませんが、ベクトルの内積という観点から見ると、その計算方法の意味がより明確になります。
内積とは
まず、内積(dot product)とは、同じ次元の2つのベクトルから単一のスカラー値を計算する操作です。n次元ベクトルa = (a₁, a₂, ..., aₙ)とb = (b₁, b₂, ..., bₙ)の内積は以下のように計算されます。
a・b = a₁b₁ + a₂b₂ + ... + aₙbₙ = Σ(i=1 to n) aᵢbᵢ
行列積を内積で理解する
行列A(m×n行列)とB(n×p行列)の積C = ABを考えると、C行列の(i,j)成分は、Aの第i行ベクトルとBの第j列ベクトルの内積として計算できます。
具体的には。
C_{ij} = Σ(k=1 to n) A_{ik} × B_{kj}
これは、Aの第i行ベクトル(A_{i1}, A_{i2}, ..., A_{in})とBの第j列ベクトル(B_{1j}, B_{2j}, ..., B_{nj})の内積に他なりません。
この視点から行列積を見ると、行列Aを「行ベクトルの集まり」、行列Bを「列ベクトルの集まり」と考え、それらの間のすべての可能な内積の組み合わせを計算して新しい行列Cを形成していると理解できます。
例示
例えば、2×3行列Aと3×2行列Bの積を考えます。
A = [1 2 3] B = [7 8]
[4 5 6] [9 10]
[11 12]
A×Bの(1,1)成分は、Aの第1行ベクトル(1,2,3)とBの第1列ベクトル(7,9,11)の内積です。
(A×B)_{11} = 1×7 + 2×9 + 3×11 = 7 + 18 + 33 = 58
同様に、(1,2)成分はAの第1行ベクトルとBの第2列ベクトル(8,10,12)の内積。
(A×B)_{12} = 1×8 + 2×10 + 3×12 = 8 + 20 + 36 = 64
このように、行列積を内積の集合として捉えることで、その計算方法の意味がより直感的に理解できます。また、この視点は、プログラミングで行列計算を実装する際にも役立ちます。
行列は理論上の数学的概念に留まらず、現実世界の様々な分野で広く応用されています。ここでは、行列が活用されている主要な分野とその具体的な応用例を紹介します。
1. コンピュータグラフィックスと3D映像
3Dグラフィックスでは、物体の回転、拡大縮小、移動などの変換を行列を用いて表現します。例えば、3×3の回転行列を使って2D平面上の点を回転させたり、4×4の変換行列を使って3D空間内の物体を操作したりします。映画やゲームの3DCGは、すべて行列計算に基づいています。
2. 機械学習と人工知能
ニューラルネットワークをはじめとする機械学習アルゴリズムでは、大量のデータと重みを行列として表現し、行列演算を用いて計算を行います。例えば、画像認識では、画像のピクセル値を行列として扱い、畳み込み演算(これも行列演算の一種)を適用して特徴を抽出します。
3. 量子力学と物理学
量子力学では、量子状態や観測可能量(オブザーバブル)を行列で表現します。特に、エルミート行列やユニタリ行列が重要な役割を果たします。また、振動解析や電磁場の計算など、物理学の多くの分野で行列は基本的なツールとなっています。
4. 経済学と金融工学
経済モデルでは、産業間の関係を表すレオンチェフ行列など、行列を用いた分析が行われます。また、金融工学では、ポートフォリオ最適化や派生商品の価格計算に行列計算が活用されています。
5. ネットワーク解析とグラフ理論
SNSやWeb上のリンク構造、交通網などのネットワークは、隣接行列として表現できます。Googleの検索アルゴリズムの基礎となったPageRankも、本質的には行列計算に基づいています。
**6.