1 行列と成分
はじめに、行列そのものと、二つの行列が等しいということの意味を定めます。
定義 1.1 (行列と成分). 実数を縦にm m m 個、横にn n n 個の長方形状に並べたものをm × n m \times n m × n 行列 (matrix ) という。横の並びを行 (row ) 、縦の並びを列 (column ) といい、上からi i i 番目の行を第i i i 行、左からj j j 番目の列を第j j j 列という。第i i i 行と第j j j 列が交わる位置に置かれた実数を、その行列の( i , j ) (i, j) ( i , j ) 成分 (entry ) という。行列A A A の( i , j ) (i, j) ( i , j ) 成分をa i j a_{ij} a ij と書き、A = ( a i j ) A = (a_{ij}) A = ( a ij ) と表す。以下、行列を大文字で表すときは、その成分を対応する小文字を用いてB = ( b i j ) B = (b_{ij}) B = ( b ij ) 、C = ( c i j ) C = (c_{ij}) C = ( c ij ) のように書く。組( m , n ) (m, n) ( m , n ) をA A A の型 (size ) という。m = n m = n m = n である行列をn n n 次の正方行列 (square matrix ) という。
二つの行列A = ( a i j ) A = (a_{ij}) A = ( a ij ) とB = ( b i j ) B = (b_{ij}) B = ( b ij ) が等しい (equal ) とは、A A A とB B B の型が一致し、かつすべてのi i i とj j j についてa i j = b i j a_{ij} = b_{ij} a ij = b ij が成り立つことをいう。このときA = B A = B A = B と書く。
たとえば
A = ( 1 2 3 4 5 6 ) A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix} A = ( 1 4 2 5 3 6 )
は2 × 3 2 \times 3 2 × 3 行列であり、a 23 = 6 a_{23} = 6 a 23 = 6 です。型が違う二つの行列は、成分にどのような関係があっても等しくありません。
2 和と実数倍
和と実数倍は、対応する位置にある成分どうしの計算として定めます。したがって、和については二つの行列の型が一致していることが必要です。
定義 2.1 (行列の和と実数倍). A = ( a i j ) A = (a_{ij}) A = ( a ij ) とB = ( b i j ) B = (b_{ij}) B = ( b ij ) をともにm × n m \times n m × n 行列とし、λ \lambda λ を実数とする。( i , j ) (i, j) ( i , j ) 成分がa i j + b i j a_{ij} + b_{ij} a ij + b ij であるm × n m \times n m × n 行列をA A A とB B B の和 (sum ) といい、A + B A + B A + B と書く。( i , j ) (i, j) ( i , j ) 成分がλ a i j \lambda a_{ij} λ a ij であるm × n m \times n m × n 行列をA A A のλ \lambda λ 倍 (scalar multiple ) といい、λ A \lambda A λ A と書く。A A A とB B B の型が異なる場合、和A + B A + B A + B を定義しない。
( 1 2 3 4 ) + ( 5 6 7 8 ) = ( 6 8 10 12 ) , 3 ( 1 2 3 4 ) = ( 3 6 9 12 ) \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} + \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} = \begin{pmatrix} 6 & 8 \\ 10 & 12 \end{pmatrix}, \qquad 3\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 3 & 6 \\ 9 & 12 \end{pmatrix} ( 1 3 2 4 ) + ( 5 7 6 8 ) = ( 6 10 8 12 ) , 3 ( 1 3 2 4 ) = ( 3 9 6 12 )
和について特別な役割を果たすのが、成分がすべて0 0 0 である行列です。
定義 2.2 (零行列). すべての成分が0 0 0 であるm × n m \times n m × n 行列を零行列 (zero matrix ) といい、O O O と書く。型を明示する必要があるときはO m , n O_{m, n} O m , n と書く。
和と実数倍が成分ごとの演算であることから、実数の計算で成り立つ法則がそのまま移ります。
命題 2.3 (和と実数倍についての法則). A A A 、B B B 、C C C をm × n m \times n m × n 行列、λ \lambda λ とμ \mu μ を実数とすると、次が成り立つ。
( A + B ) + C = A + ( B + C ) (A + B) + C = A + (B + C) ( A + B ) + C = A + ( B + C ) 。
A + B = B + A A + B = B + A A + B = B + A 。
A + O = A A + O = A A + O = A であり、A + ( − 1 ) A = O A + (-1)A = O A + ( − 1 ) A = O である。
λ ( A + B ) = λ A + λ B \lambda(A + B) = \lambda A + \lambda B λ ( A + B ) = λ A + λ B 、( λ + μ ) A = λ A + μ A (\lambda + \mu)A = \lambda A + \mu A ( λ + μ ) A = λ A + μ A 、( λ μ ) A = λ ( μ A ) (\lambda\mu)A = \lambda(\mu A) ( λ μ ) A = λ ( μ A ) 、1 A = A 1A = A 1 A = A 。
証明. いずれの等式でも、両辺はm × n m \times n m × n 行列である。したがって定義 1.1 により、すべてのi i i とj j j について両辺の( i , j ) (i, j) ( i , j ) 成分が一致することを示せばよい。
(1) の左辺の( i , j ) (i, j) ( i , j ) 成分は( a i j + b i j ) + c i j (a_{ij} + b_{ij}) + c_{ij} ( a ij + b ij ) + c ij 、右辺の( i , j ) (i, j) ( i , j ) 成分はa i j + ( b i j + c i j ) a_{ij} + (b_{ij} + c_{ij}) a ij + ( b ij + c ij ) であり、実数の和の結合法則により一致する。(2) は実数の和の交換法則、(3) はa i j + 0 = a i j a_{ij} + 0 = a_{ij} a ij + 0 = a ij とa i j + ( − 1 ) a i j = 0 a_{ij} + (-1)a_{ij} = 0 a ij + ( − 1 ) a ij = 0 、(4) は実数の分配法則と積の結合法則から、同じように成分ごとに従う。▨
3 積
積だけは、対応する成分どうしを掛けるという定め方をしません。A A A の一つの行とB B B の一つの列を組み合わせ、対応する成分の積の和を取ります。この定め方のため、A A A の列の個数とB B B の行の個数が一致していることが必要になります。
定義 3.1 (行列の積). A = ( a i j ) A = (a_{ij}) A = ( a ij ) をm × n m \times n m × n 行列、B = ( b j k ) B = (b_{jk}) B = ( b j k ) をn × ℓ n \times \ell n × ℓ 行列とする。すなわち、A A A の列数とB B B の行数がともにn n n であるとする。このとき、( i , k ) (i, k) ( i , k ) 成分が
∑ j = 1 n a i j b j k \sum_{j=1}^{n} a_{ij}\, b_{jk} j = 1 ∑ n a ij b j k であるm × ℓ m \times \ell m × ℓ 行列をA A A とB B B の積 (product ) といい、A B AB A B と書く。A A A の列数とB B B の行数が異なる場合、積A B AB A B を定義しない。
定義 3.2 (列ベクトルと行ベクトル). n n n を正の整数とする。R n \mathbb R^n R n の元x = ( x 1 , … , x n ) x = (x_1, \dots, x_n) x = ( x 1 , … , x n ) を、( i , 1 ) (i, 1) ( i , 1 ) 成分がx i x_i x i であるn × 1 n \times 1 n × 1 行列と同一視し、この同一視のもとでR n \mathbb R^n R n の元を列ベクトル (column vector ) という。この同一視のもとで、A A A をm × n m \times n m × n 行列、x ∈ R n x \in \mathbb R^n x ∈ R n とするとき、A x Ax A x はA A A とx x x をそれぞれm × n m \times n m × n 行列とn × 1 n \times 1 n × 1 行列とみなした積を表す。同様に、( 1 , j ) (1, j) ( 1 , j ) 成分がy j y_j y j である1 × n 1 \times n 1 × n 行列を行ベクトル (row vector ) という。
積が定まるための条件と、結果の型は、次のように読むことができます。A A A の型( m , n ) (m, n) ( m , n ) とB B B の型( n , ℓ ) (n, \ell) ( n , ℓ ) を並べたとき、内側の二つの数が一致することが積A B AB A B が定まるための条件であり、外側の二つの数( m , ℓ ) (m, \ell) ( m , ℓ ) が積A B AB A B の型です。
例 3.4 (積の計算と型の確認). A = ( 1 2 3 4 5 6 ) A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix} A = ( 1 4 2 5 3 6 ) (2 × 3 2 \times 3 2 × 3 行列)とB = ( 1 0 0 1 1 1 ) B = \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 1 & 1 \end{pmatrix} B = 1 0 1 0 1 1 (3 × 2 3 \times 2 3 × 2 行列)について考える。A A A の列数とB B B の行数はともに3 3 3 であるから積A B AB A B が定まり、その型は2 × 2 2 \times 2 2 × 2 である。( 1 , 1 ) (1, 1) ( 1 , 1 ) 成分は1 ⋅ 1 + 2 ⋅ 0 + 3 ⋅ 1 = 4 1 \cdot 1 + 2 \cdot 0 + 3 \cdot 1 = 4 1 ⋅ 1 + 2 ⋅ 0 + 3 ⋅ 1 = 4 、( 1 , 2 ) (1, 2) ( 1 , 2 ) 成分は1 ⋅ 0 + 2 ⋅ 1 + 3 ⋅ 1 = 5 1 \cdot 0 + 2 \cdot 1 + 3 \cdot 1 = 5 1 ⋅ 0 + 2 ⋅ 1 + 3 ⋅ 1 = 5 、( 2 , 1 ) (2, 1) ( 2 , 1 ) 成分は4 ⋅ 1 + 5 ⋅ 0 + 6 ⋅ 1 = 10 4 \cdot 1 + 5 \cdot 0 + 6 \cdot 1 = 10 4 ⋅ 1 + 5 ⋅ 0 + 6 ⋅ 1 = 10 、( 2 , 2 ) (2, 2) ( 2 , 2 ) 成分は4 ⋅ 0 + 5 ⋅ 1 + 6 ⋅ 1 = 11 4 \cdot 0 + 5 \cdot 1 + 6 \cdot 1 = 11 4 ⋅ 0 + 5 ⋅ 1 + 6 ⋅ 1 = 11 であるから
A B = ( 4 5 10 11 ) . AB = \begin{pmatrix} 4 & 5 \\ 10 & 11 \end{pmatrix}. A B = ( 4 10 5 11 ) . 同じA A A とB B B について、B B B の列数とA A A の行数もともに2 2 2 であるから、積B A BA B A も定まり、その型は3 × 3 3 \times 3 3 × 3 である。実際に計算すると
B A = ( 1 2 3 4 5 6 5 7 9 ) BA = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 5 & 7 & 9 \end{pmatrix} B A = 1 4 5 2 5 7 3 6 9 となる。A B AB A B の型は2 × 2 2 \times 2 2 × 2 、B A BA B A の型は3 × 3 3 \times 3 3 × 3 であるから、この二つは等しくない。
一方、A A A を上と同じ2 × 3 2 \times 3 2 × 3 行列、D D D を3 × 4 3 \times 4 3 × 4 行列とすると、積A D AD A D は2 × 4 2 \times 4 2 × 4 行列として定まるが、D D D の列数4 4 4 とA A A の行数2 2 2 が異なるので、積D A DA D A は定義されない。
命題 3.5 (行列の積の列と行). A = ( a i j ) A = (a_{ij}) A = ( a ij ) をm × n m \times n m × n 行列、B = ( b j k ) B = (b_{jk}) B = ( b j k ) をn × ℓ n \times \ell n × ℓ 行列とする。1 ≤ k ≤ ℓ 1 \le k \le \ell 1 ≤ k ≤ ℓ に対し、B B B の第k k k 列を( j , 1 ) (j, 1) ( j , 1 ) 成分がb j k b_{jk} b j k であるn × 1 n \times 1 n × 1 行列とみなしたものをB ( k ) B_{(k)} B ( k ) と書き、A B AB A B の第k k k 列を同様にm × 1 m \times 1 m × 1 行列とみなしたものを( A B ) ( k ) (AB)_{(k)} ( A B ) ( k ) と書く。1 ≤ i ≤ m 1 \le i \le m 1 ≤ i ≤ m に対し、A A A の第i i i 行を( 1 , j ) (1, j) ( 1 , j ) 成分がa i j a_{ij} a ij である1 × n 1 \times n 1 × n 行列とみなしたものをA ( i ) A^{(i)} A ( i ) と書き、A B AB A B の第i i i 行を同様に1 × ℓ 1 \times \ell 1 × ℓ 行列とみなしたものを( A B ) ( i ) (AB)^{(i)} ( A B ) ( i ) と書く。このとき、次が成り立つ。
1 ≤ k ≤ ℓ 1 \le k \le \ell 1 ≤ k ≤ ℓ に対し( A B ) ( k ) = A B ( k ) (AB)_{(k)} = A B_{(k)} ( A B ) ( k ) = A B ( k ) 。
1 ≤ i ≤ m 1 \le i \le m 1 ≤ i ≤ m に対し( A B ) ( i ) = A ( i ) B (AB)^{(i)} = A^{(i)} B ( A B ) ( i ) = A ( i ) B 。とくに、( A B ) ( i ) (AB)^{(i)} ( A B ) ( i ) はA A A の第i i i 行の成分a i 1 , … , a i n a_{i1}, \dots, a_{in} a i 1 , … , a in を係数とする、B B B の第1 1 1 行から第n n n 行までの一次結合に等しい。
証明. (1) を示す。1 ≤ k ≤ ℓ 1 \le k \le \ell 1 ≤ k ≤ ℓ とする。定義 3.1 により、1 ≤ i ≤ m 1 \le i \le m 1 ≤ i ≤ m に対してA B AB A B の( i , k ) (i, k) ( i , k ) 成分は∑ j = 1 n a i j b j k \sum_{j=1}^n a_{ij} b_{jk} ∑ j = 1 n a ij b j k である。B ( k ) B_{(k)} B ( k ) は( j , 1 ) (j, 1) ( j , 1 ) 成分がb j k b_{jk} b j k であるn × 1 n \times 1 n × 1 行列であるから、同じく定義 3.1 によりA B ( k ) A B_{(k)} A B ( k ) の( i , 1 ) (i, 1) ( i , 1 ) 成分も∑ j = 1 n a i j b j k \sum_{j=1}^n a_{ij} b_{jk} ∑ j = 1 n a ij b j k である。( A B ) ( k ) (AB)_{(k)} ( A B ) ( k ) の( i , 1 ) (i, 1) ( i , 1 ) 成分はA B AB A B の( i , k ) (i, k) ( i , k ) 成分であるから、i i i が1 1 1 からm m m の任意であったことより、( A B ) ( k ) (AB)_{(k)} ( A B ) ( k ) とA B ( k ) A B_{(k)} A B ( k ) はともにm × 1 m \times 1 m × 1 行列としてすべての成分が一致し、( A B ) ( k ) = A B ( k ) (AB)_{(k)} = A B_{(k)} ( A B ) ( k ) = A B ( k ) である。
(2) を示す。1 ≤ i ≤ m 1 \le i \le m 1 ≤ i ≤ m とする。A ( i ) A^{(i)} A ( i ) は( 1 , j ) (1, j) ( 1 , j ) 成分がa i j a_{ij} a ij である1 × n 1 \times n 1 × n 行列であるから、定義 3.1 により、1 ≤ k ≤ ℓ 1 \le k \le \ell 1 ≤ k ≤ ℓ に対してA ( i ) B A^{(i)} B A ( i ) B の( 1 , k ) (1, k) ( 1 , k ) 成分は∑ j = 1 n a i j b j k \sum_{j=1}^n a_{ij} b_{jk} ∑ j = 1 n a ij b j k である。これはA B AB A B の( i , k ) (i, k) ( i , k ) 成分に等しく、( A B ) ( i ) (AB)^{(i)} ( A B ) ( i ) の( 1 , k ) (1, k) ( 1 , k ) 成分でもあるから、k k k が1 1 1 からℓ \ell ℓ の任意であったことより( A B ) ( i ) = A ( i ) B (AB)^{(i)} = A^{(i)} B ( A B ) ( i ) = A ( i ) B である。A ( i ) B A^{(i)} B A ( i ) B の( 1 , k ) (1, k) ( 1 , k ) 成分∑ j = 1 n a i j b j k \sum_{j=1}^n a_{ij} b_{jk} ∑ j = 1 n a ij b j k は、B B B の第j j j 行の第k k k 成分に係数a i j a_{ij} a ij を掛けてj j j について加えた和であるから、A ( i ) B A^{(i)} B A ( i ) B はB B B の第1 1 1 行から第n n n 行までを係数a i 1 , … , a i n a_{i1}, \dots, a_{in} a i 1 , … , a in とする一次結合に等しい。ゆえに( A B ) ( i ) (AB)^{(i)} ( A B ) ( i ) もこの一次結合に等しい。▨
積について特別な役割を果たすのが、左上から右下へ向かう対角線上の成分が1 1 1 であり、残りの成分が0 0 0 である正方行列です。
定義 3.6 (単位行列). n n n 次正方行列であって、( i , j ) (i, j) ( i , j ) 成分がi = j i = j i = j のとき1 1 1 、i ≠ j i \ne j i = j のとき0 0 0 であるものを、n n n 次の単位行列 (identity matrix ) といいI n I_n I n と書く。次数が文脈から定まるときは単にI I I と書く。I n I_n I n の( i , j ) (i, j) ( i , j ) 成分をδ i j \delta_{ij} δ ij と書く。
命題 3.7 (単位行列を掛けても変わらない). A A A をm × n m \times n m × n 行列とすると、I m A = A I_m A = A I m A = A かつA I n = A A I_n = A A I n = A が成り立つ。
証明. I m A I_m A I m A はm × n m \times n m × n 行列であり、その( i , j ) (i, j) ( i , j ) 成分は定義 3.1 により∑ k = 1 m δ i k a k j \sum_{k=1}^{m} \delta_{ik} a_{kj} ∑ k = 1 m δ ik a k j である。この和で0 0 0 でない項はk = i k = i k = i の項だけであり、その値はa i j a_{ij} a ij である。よってI m A = A I_m A = A I m A = A が成り立つ。A I n A I_n A I n の( i , j ) (i, j) ( i , j ) 成分は∑ k = 1 n a i k δ k j \sum_{k=1}^{n} a_{ik} \delta_{kj} ∑ k = 1 n a ik δ k j であり、同じ理由でa i j a_{ij} a ij に等しい。▨
単位行列は、実数の積における1 1 1 と同じ役割を果たします。掛けると単位行列になる行列を逆行列といい、その存在条件と求め方を扱うのは「逆行列」です。
4 結合法則と分配法則
定理 4.1 (積の結合法則). A A A をm × n m \times n m × n 行列、B B B をn × p n \times p n × p 行列、C C C をp × q p \times q p × q 行列とする。このとき( A B ) C (AB)C ( A B ) C とA ( B C ) A(BC) A ( B C ) はともにm × q m \times q m × q 行列として定まり、
( A B ) C = A ( B C ) (AB)C = A(BC) ( A B ) C = A ( B C ) が成り立つ。
証明. まず型を確かめる。A B AB A B はm × p m \times p m × p 行列であり、C C C はp × q p \times q p × q 行列であるから、( A B ) C (AB)C ( A B ) C はm × q m \times q m × q 行列として定まる。B C BC B C はn × q n \times q n × q 行列であり、A A A はm × n m \times n m × n 行列であるから、A ( B C ) A(BC) A ( B C ) もm × q m \times q m × q 行列として定まる。よって定義 1.1 により、すべてのi ∈ { 1 , … , m } i \in \{1, \dots, m\} i ∈ { 1 , … , m } とr ∈ { 1 , … , q } r \in \{1, \dots, q\} r ∈ { 1 , … , q } について両辺の( i , r ) (i, r) ( i , r ) 成分が一致することを示せばよい。
定義 3.1 を二回用いると、左辺の( i , r ) (i, r) ( i , r ) 成分は
( ( A B ) C ) i r = ∑ k = 1 p ( A B ) i k c k r = ∑ k = 1 p ( ∑ j = 1 n a i j b j k ) c k r = ∑ k = 1 p ∑ j = 1 n a i j b j k c k r \big((AB)C\big)_{ir} = \sum_{k=1}^{p} (AB)_{ik}\, c_{kr}
= \sum_{k=1}^{p} \left( \sum_{j=1}^{n} a_{ij} b_{jk} \right) c_{kr}
= \sum_{k=1}^{p} \sum_{j=1}^{n} a_{ij} b_{jk} c_{kr} ( ( A B ) C ) i r = k = 1 ∑ p ( A B ) ik c k r = k = 1 ∑ p ( j = 1 ∑ n a ij b j k ) c k r = k = 1 ∑ p j = 1 ∑ n a ij b j k c k r である。ここで、実数の分配法則によりc k r c_{kr} c k r を内側の和の各項へ配った。同じように、右辺の( i , r ) (i, r) ( i , r ) 成分は
( A ( B C ) ) i r = ∑ j = 1 n a i j ( B C ) j r = ∑ j = 1 n a i j ( ∑ k = 1 p b j k c k r ) = ∑ j = 1 n ∑ k = 1 p a i j b j k c k r \big(A(BC)\big)_{ir} = \sum_{j=1}^{n} a_{ij}\, (BC)_{jr}
= \sum_{j=1}^{n} a_{ij} \left( \sum_{k=1}^{p} b_{jk} c_{kr} \right)
= \sum_{j=1}^{n} \sum_{k=1}^{p} a_{ij} b_{jk} c_{kr} ( A ( B C ) ) i r = j = 1 ∑ n a ij ( B C ) j r = j = 1 ∑ n a ij ( k = 1 ∑ p b j k c k r ) = j = 1 ∑ n k = 1 ∑ p a ij b j k c k r である。二つの式は、n p np n p 個の実数a i j b j k c k r a_{ij} b_{jk} c_{kr} a ij b j k c k r (1 ≤ j ≤ n 1 \le j \le n 1 ≤ j ≤ n 、1 ≤ k ≤ p 1 \le k \le p 1 ≤ k ≤ p )を足す順序だけが異なる。有限個の実数の和は、和の交換法則と結合法則により足す順序によらないので、両者は等しい。よって( A B ) C = A ( B C ) (AB)C = A(BC) ( A B ) C = A ( B C ) が成り立つ。▨
結合法則により、三つの行列の積を括弧を付けずにA B C ABC A B C と書くことができます。四つ以上の積についても、同じ結果を繰り返し用いれば、括弧の付け方によらず値が定まることが分かります。
定理 4.2 (積の分配法則と実数倍との両立). 次の三つが成り立つ。
A A A をm × n m \times n m × n 行列、B B B とC C C をn × p n \times p n × p 行列とするとA ( B + C ) = A B + A C A(B + C) = AB + AC A ( B + C ) = A B + A C 。
A A A とB B B をm × n m \times n m × n 行列、C C C をn × p n \times p n × p 行列とすると( A + B ) C = A C + B C (A + B)C = AC + BC ( A + B ) C = A C + B C 。
A A A をm × n m \times n m × n 行列、B B B をn × p n \times p n × p 行列、λ \lambda λ を実数とするとλ ( A B ) = ( λ A ) B = A ( λ B ) \lambda(AB) = (\lambda A)B = A(\lambda B) λ ( A B ) = ( λ A ) B = A ( λ B ) 。
証明. (1) について。B + C B + C B + C はn × p n \times p n × p 行列であるから両辺はともにm × p m \times p m × p 行列である。左辺の( i , k ) (i, k) ( i , k ) 成分は
∑ j = 1 n a i j ( b j k + c j k ) = ∑ j = 1 n ( a i j b j k + a i j c j k ) = ∑ j = 1 n a i j b j k + ∑ j = 1 n a i j c j k \sum_{j=1}^{n} a_{ij}(b_{jk} + c_{jk}) = \sum_{j=1}^{n} \left( a_{ij} b_{jk} + a_{ij} c_{jk} \right)
= \sum_{j=1}^{n} a_{ij} b_{jk} + \sum_{j=1}^{n} a_{ij} c_{jk} j = 1 ∑ n a ij ( b j k + c j k ) = j = 1 ∑ n ( a ij b j k + a ij c j k ) = j = 1 ∑ n a ij b j k + j = 1 ∑ n a ij c j k であり、最後の式は右辺の( i , k ) (i, k) ( i , k ) 成分に等しい。一つ目の等号で実数の分配法則を用い、二つ目の等号で有限和を項ごとに分けた。
(2) について。両辺はともにm × p m \times p m × p 行列である。左辺の( i , k ) (i, k) ( i , k ) 成分は∑ j = 1 n ( a i j + b i j ) c j k \sum_{j=1}^{n} (a_{ij} + b_{ij}) c_{jk} ∑ j = 1 n ( a ij + b ij ) c j k であり、(1) と同じ二つの操作により∑ j = 1 n a i j c j k + ∑ j = 1 n b i j c j k \sum_{j=1}^{n} a_{ij} c_{jk} + \sum_{j=1}^{n} b_{ij} c_{jk} ∑ j = 1 n a ij c j k + ∑ j = 1 n b ij c j k に等しい。これは右辺の( i , k ) (i, k) ( i , k ) 成分である。
(3) について。三つの行列はいずれもm × p m \times p m × p 行列である。λ ( A B ) \lambda(AB) λ ( A B ) の( i , k ) (i, k) ( i , k ) 成分はλ ∑ j = 1 n a i j b j k \lambda \sum_{j=1}^{n} a_{ij} b_{jk} λ ∑ j = 1 n a ij b j k であり、実数の分配法則により∑ j = 1 n λ a i j b j k \sum_{j=1}^{n} \lambda\, a_{ij} b_{jk} ∑ j = 1 n λ a ij b j k に等しい。実数の積の結合法則と交換法則により、この式は∑ j = 1 n ( λ a i j ) b j k \sum_{j=1}^{n} (\lambda a_{ij}) b_{jk} ∑ j = 1 n ( λ a ij ) b j k とも∑ j = 1 n a i j ( λ b j k ) \sum_{j=1}^{n} a_{ij} (\lambda b_{jk}) ∑ j = 1 n a ij ( λ b j k ) とも書くことができ、それぞれ( λ A ) B (\lambda A)B ( λ A ) B とA ( λ B ) A(\lambda B) A ( λ B ) の( i , k ) (i, k) ( i , k ) 成分である。▨
5 積が交換法則を満たさないこと
実数の積とは異なり、行列の積は順序を入れ替えると一般には値が異なります。例 3.4 で見たように、そもそも片方だけが定義される場合や、両方が定義されても型が異なる場合があります。両方が定義され、型も一致する正方行列どうしでも、値は一般に異なります。
例 5.1 (積が交換法則を満たさない). A = ( 0 1 0 0 ) A = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} A = ( 0 0 1 0 ) 、B = ( 0 0 1 0 ) B = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix} B = ( 0 1 0 0 ) とする。定義に従って計算すると
A B = ( 1 0 0 0 ) , B A = ( 0 0 0 1 ) AB = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}, \qquad
BA = \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix} A B = ( 1 0 0 0 ) , B A = ( 0 0 0 1 ) であり、A B ≠ B A AB \ne BA A B = B A である。たとえばA B AB A B の( 1 , 1 ) (1, 1) ( 1 , 1 ) 成分は0 ⋅ 0 + 1 ⋅ 1 = 1 0 \cdot 0 + 1 \cdot 1 = 1 0 ⋅ 0 + 1 ⋅ 1 = 1 、B A BA B A の( 1 , 1 ) (1, 1) ( 1 , 1 ) 成分は0 ⋅ 0 + 0 ⋅ 0 = 0 0 \cdot 0 + 0 \cdot 0 = 0 0 ⋅ 0 + 0 ⋅ 0 = 0 である。
したがって、行列を含む等式を変形するときに、積の順序を入れ替えてはなりません。等式の両辺へ同じ行列を掛ける操作についても、左から掛けることと右から掛けることを区別する必要があります。
6 積が零行列であることと、二つの因子
実数では、x y = 0 xy = 0 x y = 0 ならばx = 0 x = 0 x = 0 またはy = 0 y = 0 y = 0 が成り立ちます。行列ではこれが成り立ちません。
例 6.1 (積が零行列でありながらどちらの因子も零行列でない). A = ( 1 1 1 1 ) A = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} A = ( 1 1 1 1 ) 、B = ( 1 1 − 1 − 1 ) B = \begin{pmatrix} 1 & 1 \\ -1 & -1 \end{pmatrix} B = ( 1 − 1 1 − 1 ) とする。このとき
A B = ( 1 ⋅ 1 + 1 ⋅ ( − 1 ) 1 ⋅ 1 + 1 ⋅ ( − 1 ) 1 ⋅ 1 + 1 ⋅ ( − 1 ) 1 ⋅ 1 + 1 ⋅ ( − 1 ) ) = O AB = \begin{pmatrix} 1 \cdot 1 + 1 \cdot (-1) & 1 \cdot 1 + 1 \cdot (-1) \\
1 \cdot 1 + 1 \cdot (-1) & 1 \cdot 1 + 1 \cdot (-1) \end{pmatrix} = O A B = ( 1 ⋅ 1 + 1 ⋅ ( − 1 ) 1 ⋅ 1 + 1 ⋅ ( − 1 ) 1 ⋅ 1 + 1 ⋅ ( − 1 ) 1 ⋅ 1 + 1 ⋅ ( − 1 ) ) = O である。A ≠ O A \ne O A = O かつB ≠ O B \ne O B = O であるから、積が零行列であることから因子の一方が零行列であることを導くことはできない。さらに
B A = ( 2 2 − 2 − 2 ) ≠ O BA = \begin{pmatrix} 2 & 2 \\ -2 & -2 \end{pmatrix} \ne O B A = ( 2 − 2 2 − 2 ) = O であり、この例は積が交換法則を満たさないことの例にもなっている。
同じ現象は一つの行列だけでも起こる。N = ( 0 1 0 0 ) N = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} N = ( 0 0 1 0 ) はN ≠ O N \ne O N = O を満たすが、N N = O NN = O N N = O である。
7 転置
行と列の役割を入れ替える操作を転置といいます。転置は、行列式や直交行列を扱うときに繰り返し用いる操作です。
定義 7.1 (転置行列). A = ( a i j ) A = (a_{ij}) A = ( a ij ) をm × n m \times n m × n 行列とする。( i , j ) (i, j) ( i , j ) 成分がa j i a_{ji} a j i であるn × m n \times m n × m 行列をA A A の転置行列 (transpose matrix ) といい、A ⊤ A^\top A ⊤ と書く。すなわち、A ⊤ A^\top A ⊤ はA A A の第i i i 行をそのまま第i i i 列とする行列である。
( 1 2 3 4 5 6 ) ⊤ = ( 1 4 2 5 3 6 ) \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}^\top = \begin{pmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{pmatrix} ( 1 4 2 5 3 6 ) ⊤ = 1 2 3 4 5 6
転置は和と実数倍をそのまま保ちますが、積については順序を入れ替えます。
命題 7.2 (転置の基本性質). 次の三つが成り立つ。
A A A をm × n m \times n m × n 行列とすると( A ⊤ ) ⊤ = A (A^\top)^\top = A ( A ⊤ ) ⊤ = A 。
A A A とB B B をm × n m \times n m × n 行列、λ \lambda λ を実数とすると( A + B ) ⊤ = A ⊤ + B ⊤ (A + B)^\top = A^\top + B^\top ( A + B ) ⊤ = A ⊤ + B ⊤ かつ( λ A ) ⊤ = λ A ⊤ (\lambda A)^\top = \lambda A^\top ( λ A ) ⊤ = λ A ⊤ 。
A A A をm × n m \times n m × n 行列、B B B をn × p n \times p n × p 行列とすると( A B ) ⊤ = B ⊤ A ⊤ (AB)^\top = B^\top A^\top ( A B ) ⊤ = B ⊤ A ⊤ 。
証明. (1) について。( A ⊤ ) ⊤ (A^\top)^\top ( A ⊤ ) ⊤ はm × n m \times n m × n 行列であり、その( i , j ) (i, j) ( i , j ) 成分はA ⊤ A^\top A ⊤ の( j , i ) (j, i) ( j , i ) 成分、すなわちa i j a_{ij} a ij である。
(2) について。両辺はともにn × m n \times m n × m 行列である。( A + B ) ⊤ (A + B)^\top ( A + B ) ⊤ の( i , j ) (i, j) ( i , j ) 成分はA + B A + B A + B の( j , i ) (j, i) ( j , i ) 成分a j i + b j i a_{ji} + b_{ji} a j i + b j i であり、これはA ⊤ A^\top A ⊤ の( i , j ) (i, j) ( i , j ) 成分とB ⊤ B^\top B ⊤ の( i , j ) (i, j) ( i , j ) 成分の和である。実数倍についても同様に、( λ A ) ⊤ (\lambda A)^\top ( λ A ) ⊤ の( i , j ) (i, j) ( i , j ) 成分はλ a j i \lambda a_{ji} λ a j i であり、λ A ⊤ \lambda A^\top λ A ⊤ の( i , j ) (i, j) ( i , j ) 成分に等しい。
(3) について。A B AB A B はm × p m \times p m × p 行列であるから( A B ) ⊤ (AB)^\top ( A B ) ⊤ はp × m p \times m p × m 行列である。B ⊤ B^\top B ⊤ はp × n p \times n p × n 行列、A ⊤ A^\top A ⊤ はn × m n \times m n × m 行列であるから、積B ⊤ A ⊤ B^\top A^\top B ⊤ A ⊤ が定まり、その型もp × m p \times m p × m である。( A B ) ⊤ (AB)^\top ( A B ) ⊤ の( k , i ) (k, i) ( k , i ) 成分はA B AB A B の( i , k ) (i, k) ( i , k ) 成分∑ j = 1 n a i j b j k \sum_{j=1}^{n} a_{ij} b_{jk} ∑ j = 1 n a ij b j k である。一方、B ⊤ A ⊤ B^\top A^\top B ⊤ A ⊤ の( k , i ) (k, i) ( k , i ) 成分は
∑ j = 1 n ( B ⊤ ) k j ( A ⊤ ) j i = ∑ j = 1 n b j k a i j \sum_{j=1}^{n} (B^\top)_{kj} (A^\top)_{ji} = \sum_{j=1}^{n} b_{jk}\, a_{ij} j = 1 ∑ n ( B ⊤ ) k j ( A ⊤ ) j i = j = 1 ∑ n b j k a ij である。実数の積の交換法則により各項が一致するので、両者は等しい。▨
8 演習
問題 8.1 (長方形行列での結合法則).
A = ( 1 0 1 0 1 1 ) , B = ( 1 0 0 1 1 1 ) , C = ( 1 2 ) A = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \end{pmatrix},\qquad
B = \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 1 & 1 \end{pmatrix},\qquad
C = \begin{pmatrix} 1 \\ 2 \end{pmatrix} A = ( 1 0 0 1 1 1 ) , B = 1 0 1 0 1 1 , C = ( 1 2 ) とする。( A B ) C (AB)C ( A B ) C とA ( B C ) A(BC) A ( B C ) が定まることを型から確認し、両方の積を計算せよ。
解答. A A A 、B B B 、C C C の型はそれぞれ2 × 3 2 \times 3 2 × 3 、3 × 2 3 \times 2 3 × 2 、2 × 1 2 \times 1 2 × 1 である。したがって、A B AB A B は2 × 2 2 \times 2 2 × 2 行列、( A B ) C (AB)C ( A B ) C は2 × 1 2 \times 1 2 × 1 行列として定まる。また、B C BC B C は3 × 1 3 \times 1 3 × 1 行列、A ( B C ) A(BC) A ( B C ) は2 × 1 2 \times 1 2 × 1 行列として定まる。実際、
A B = ( 2 1 1 2 ) , ( A B ) C = ( 2 1 1 2 ) ( 1 2 ) = ( 4 5 ) AB = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix},\qquad
(AB)C = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}
\begin{pmatrix} 1 \\ 2 \end{pmatrix}
= \begin{pmatrix} 4 \\ 5 \end{pmatrix} A B = ( 2 1 1 2 ) , ( A B ) C = ( 2 1 1 2 ) ( 1 2 ) = ( 4 5 ) である。一方、
B C = ( 1 2 3 ) , A ( B C ) = ( 1 0 1 0 1 1 ) ( 1 2 3 ) = ( 4 5 ) BC = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix},\qquad
A(BC) = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \end{pmatrix}
\begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix}
= \begin{pmatrix} 4 \\ 5 \end{pmatrix} B C = 1 2 3 , A ( B C ) = ( 1 0 0 1 1 1 ) 1 2 3 = ( 4 5 ) である。したがって、この三つの行列について( A B ) C = A ( B C ) (AB)C=A(BC) ( A B ) C = A ( B C ) が成り立つ。▨
問題 8.2 (交換法則を満たさない行列の構成). A B AB A B とB A BA B A がともに零行列ではなく、A B ≠ B A AB \ne BA A B = B A となる二つの2 2 2 次正方行列A A A 、B B B を構成し、二つの積を計算して条件を確認せよ。
解答. A = ( 1 1 0 1 ) , B = ( 1 0 0 2 ) A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix},\qquad
B = \begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix} A = ( 1 0 1 1 ) , B = ( 1 0 0 2 ) とおく。このとき
A B = ( 1 2 0 2 ) , B A = ( 1 1 0 2 ) AB = \begin{pmatrix} 1 & 2 \\ 0 & 2 \end{pmatrix},\qquad
BA = \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix} A B = ( 1 0 2 2 ) , B A = ( 1 0 1 2 ) である。両方の積が零行列ではなく、( 1 , 2 ) (1,2) ( 1 , 2 ) 成分が異なるのでA B ≠ B A AB \ne BA A B = B A である。▨
問題 8.3 (積が零行列になる正方行列). A ≠ O 3 , 3 A \ne O_{3,3} A = O 3 , 3 かつA A = O 3 , 3 AA=O_{3,3} AA = O 3 , 3 を満たす3 3 3 次正方行列A A A を構成し、積を計算して条件を確認せよ。
解答. A = ( 0 1 0 0 0 0 0 0 0 ) A = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} A = 0 0 0 1 0 0 0 0 0 とおく。( 1 , 2 ) (1,2) ( 1 , 2 ) 成分が1 1 1 であるからA ≠ O 3 , 3 A\ne O_{3,3} A = O 3 , 3 である。また、A A A の第2 2 2 行は零行であり、A A A の零でない成分は( 1 , 2 ) (1,2) ( 1 , 2 ) 成分だけである。積A A AA AA の( i , j ) (i,j) ( i , j ) 成分∑ k = 1 3 a i k a k j \sum_{k=1}^3 a_{ik}a_{kj} ∑ k = 1 3 a ik a k j において、前の因子から零でない成分が選ばれる可能性があるのは( i , k ) = ( 1 , 2 ) (i,k)=(1,2) ( i , k ) = ( 1 , 2 ) の場合だけであるが、この場合もa 2 j = 0 a_{2j}=0 a 2 j = 0 である。したがって、すべての成分が0 0 0 となり、
A A = ( 0 0 0 0 0 0 0 0 0 ) = O 3 , 3 AA = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}
=O_{3,3} AA = 0 0 0 0 0 0 0 0 0 = O 3 , 3 である。▨
閑話休題:積の順序が結果を変える場面 行列の積が交換法則を満たさないことは、計算上の不便ではなく、行列が表している操作の性質を反映しています。平面や空間の回転、拡大、射影は、いずれも行列を掛ける操作として表され、二つの操作を続けて行うことが行列の積に対応します。この対応を正確に述べるのは「線形写像と表現行列」です。三次元の空間で、ある軸のまわりの回転と別の軸のまわりの回転を続けて行うとき、順序を変えると最後の位置が変わります。立方体を手に取り、二度の回転を順序を変えて行えば、この違いを実際に確かめることができます。回転を表す行列の積が交換法則を満たさないことは、この事実に対応します。
物理学では、1925 年に Heisenberg が、粒子の位置と運動量を数の配列として表す形式を提出し、
Born と Jordan がその配列を行列として定式化しました。この形式では、位置に対応するX X X と運動量に対応するP P P がX P − P X ≠ O XP - PX \ne O X P − P X = O を満たします。この差が、位置と運動量を同時にどこまで確定することができるかの限界を定めます。ここに現れる配列は行と列がともに無限に続くものであり、本記事が扱う有限の行列ではありません。ただし、積を行と列の組み合わせによって定める点と、その積が交換法則を満たさない点は共通しています。この形式は行列力学と呼ばれました。
行列の積は、計算の規模の面でも広く現れます。三次元の図形を画面へ描く処理は、頂点の座標へ回転・拡大・平行移動を表す行列を掛ける計算です。画素の値を並べた行列に直交行列を掛けて周波数の成分へ分けることは、JPEG をはじめとする画像の圧縮方式が用いる操作です。画素の行列を少数の項の和で近似する方法を扱うのは、展望の「特異値分解と低ランク近似」です。また、ウェブページのリンクの関係から作った行列について、その固有ベクトルを求めることによってページの重要度を測る方法があり、PageRank と呼ばれます。固有ベクトルを定義するのは「固有値と固有ベクトル」です。
9 つまずいたら
読者は、積を計算する前に、A A A の列数とB B B の行数が等しいかどうかを確かめる必要があります。等しくない場合、積A B AB A B は定義されません(定義 3.1 )。積A B AB A B の型は、A A A の行数とB B B の列数で定まります。
A B AB A B の( i , k ) (i, k) ( i , k ) 成分は、A A A の第i i i 行とB B B の第k k k 列から作ります。行と列を取り違えると、以降の成分がすべてずれます。
行列を含む等式を変形するときに、積の順序を入れ替えてはなりません。A B AB A B とB A BA B A は、両方が定義される場合でも一般には等しくありません(例 5.1 )。
A B = O AB = O A B = O から、A = O A = O A = O またはB = O B = O B = O を導くことはできません(例 6.1 )。同じ理由で、A B = A C AB = AC A B = A C とA ≠ O A \ne O A = O からB = C B = C B = C を導くこともできません(注意 6.2 )。
( A B ) ⊤ (AB)^\top ( A B ) ⊤ はA ⊤ B ⊤ A^\top B^\top A ⊤ B ⊤ ではなくB ⊤ A ⊤ B^\top A^\top B ⊤ A ⊤ です(命題 7.2 )。転置は積の順序を入れ替えます。