§D3.1行列の演算

最終更新

行列は、数を長方形状に並べた対象であり、後に続く多くの議論が前提とする最も基本的な対象の一つです。ただ数を並べただけでは、行列どうしの和や積が何を意味するかは定まりません。行数や列数についての条件を明示しながら演算を定めることで、これらの操作を厳密に行うことができるようになります。実数の積とは異なり、行列の積は掛ける順序を入れ替えると一般には値が変わります。本記事では、行列に対する基本的な演算とその性質について解説します。

1 行列と成分

はじめに、行列そのものと、二つの行列が等しいということの意味を定めます。

定義 1.1 (行列と成分). 実数を縦にmm個、横にnn個の長方形状に並べたものをm×nm \times n行列 (matrix) という。横の並びを行 (row)、縦の並びを列 (column) といい、上からii番目の行を第ii行、左からjj番目の列を第jj列という。第ii行と第jj列が交わる位置に置かれた実数を、その行列の(i,j)(i, j)成分 (entry) という。行列AAの(i,j)(i, j)成分をaija_{ij}と書き、A=(aij)A = (a_{ij})と表す。以下、行列を大文字で表すときは、その成分を対応する小文字を用いてB=(bij)B = (b_{ij})、C=(cij)C = (c_{ij})のように書く。組(m,n)(m, n)をAAの型 (size) という。m=nm = nである行列をnn次の正方行列 (square matrix) という。

二つの行列A=(aij)A = (a_{ij})とB=(bij)B = (b_{ij})が等しい (equal) とは、AAとBBの型が一致し、かつすべてのiiとjjについてaij=bija_{ij} = b_{ij}が成り立つことをいう。このときA=BA = Bと書く。

たとえば

A=(123456)A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}

は2×32 \times 3行列であり、a23=6a_{23} = 6です。型が違う二つの行列は、成分にどのような関係があっても等しくありません。

2 和と実数倍

和と実数倍は、対応する位置にある成分どうしの計算として定めます。したがって、和については二つの行列の型が一致していることが必要です。

定義 2.1 (行列の和と実数倍).A=(aij)A = (a_{ij})とB=(bij)B = (b_{ij})をともにm×nm \times n行列とし、λ\lambdaを実数とする。(i,j)(i, j)成分がaij+bija_{ij} + b_{ij}であるm×nm \times n行列をAAとBBの和 (sum) といい、A+BA + Bと書く。(i,j)(i, j)成分がλaij\lambda a_{ij}であるm×nm \times n行列をAAのλ\lambda倍 (scalar multiple) といい、λA\lambda Aと書く。AAとBBの型が異なる場合、和A+BA + Bを定義しない。

(1234)+(5678)=(681012),3(1234)=(36912)\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}

和について特別な役割を果たすのが、成分がすべて00である行列です。

定義 2.2 (零行列). すべての成分が00であるm×nm \times n行列を零行列 (zero matrix) といい、OOと書く。型を明示する必要があるときはOm,nO_{m, n}と書く。

和と実数倍が成分ごとの演算であることから、実数の計算で成り立つ法則がそのまま移ります。

命題 2.3 (和と実数倍についての法則).AA、BB、CCをm×nm \times n行列、λ\lambdaとμ\muを実数とすると、次が成り立つ。

  1. (A+B)+C=A+(B+C)(A + B) + C = A + (B + C)。
  2. A+B=B+AA + B = B + A。
  3. A+O=AA + O = Aであり、A+(−1)A=OA + (-1)A = Oである。
  4. λ(A+B)=λA+λB\lambda(A + B) = \lambda A + \lambda B、(λ+μ)A=λA+μA(\lambda + \mu)A = \lambda A + \mu A、(λμ)A=λ(μA)(\lambda\mu)A = \lambda(\mu A)、1A=A1A = A。

証明. いずれの等式でも、両辺はm×nm \times n行列である。したがって定義 1.1により、すべてのiiとjjについて両辺の(i,j)(i, j)成分が一致することを示せばよい。

(1)の左辺の(i,j)(i, j)成分は(aij+bij)+cij(a_{ij} + b_{ij}) + c_{ij}、右辺の(i,j)(i, j)成分はaij+(bij+cij)a_{ij} + (b_{ij} + c_{ij})であり、実数の和の結合法則により一致する。(2)は実数の和の交換法則、(3)はaij+0=aija_{ij} + 0 = a_{ij}とaij+(−1)aij=0a_{ij} + (-1)a_{ij} = 0、(4)は実数の分配法則と積の結合法則から、同じように成分ごとに従う。▨

3 積

積だけは、対応する成分どうしを掛けるという定め方をしません。AAの一つの行とBBの一つの列を組み合わせ、対応する成分の積の和を取ります。この定め方のため、AAの列の個数とBBの行の個数が一致していることが必要になります。

定義 3.1 (行列の積).A=(aij)A = (a_{ij})をm×nm \times n行列、B=(bjk)B = (b_{jk})をn×ℓn \times \ell行列とする。すなわち、AAの列数とBBの行数がともにnnであるとする。このとき、(i,k)(i, k)成分が

∑j=1naij bjk\sum_{j=1}^{n} a_{ij}\, b_{jk}

であるm×ℓm \times \ell行列をAAとBBの積 (product) といい、ABABと書く。AAの列数とBBの行数が異なる場合、積ABABを定義しない。

定義 3.2 (列ベクトルと行ベクトル).nnを正の整数とする。Rn\mathbb R^nの元x=(x1,…,xn)x = (x_1, \dots, x_n)を、(i,1)(i, 1)成分がxix_iであるn×1n \times 1行列と同一視し、この同一視のもとでRn\mathbb R^nの元を列ベクトル (column vector) という。この同一視のもとで、AAをm×nm \times n行列、x∈Rnx \in \mathbb R^nとするとき、AxAxはAAとxxをそれぞれm×nm \times n行列とn×1n \times 1行列とみなした積を表す。同様に、(1,j)(1, j)成分がyjy_jである1×n1 \times n行列を行ベクトル (row vector) という。

例 3.3 (連立一次方程式の行列表現). 連立一次方程式

{x1+2x2−x3=4,3x1−x2+2x3=1\begin{cases} x_1 + 2x_2 - x_3 = 4,\\ 3x_1 - x_2 + 2x_3 = 1 \end{cases}

を考える。

A=(12−13−12),x⃗=(x1x2x3),b⃗=(41)A = \begin{pmatrix} 1 & 2 & -1 \\ 3 & -1 & 2 \end{pmatrix},\qquad \vec{x} = \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix},\qquad \vec{b} = \begin{pmatrix} 4 \\ 1 \end{pmatrix}

とおくと、

Ax⃗=(x1+2x2−x33x1−x2+2x3)A\vec{x} = \begin{pmatrix} x_1 + 2x_2 - x_3 \\ 3x_1 - x_2 + 2x_3 \end{pmatrix}

である。したがって、上の連立一次方程式は一つの行列の等式Ax⃗=b⃗A\vec{x}=\vec{b}と同値である。

積が定まるための条件と、結果の型は、次のように読むことができます。AAの型(m,n)(m, n)とBBの型(n,ℓ)(n, \ell)を並べたとき、内側の二つの数が一致することが積ABABが定まるための条件であり、外側の二つの数(m,ℓ)(m, \ell)が積ABABの型です。

例 3.4 (積の計算と型の確認).A=(123456)A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}(2×32 \times 3行列)とB=(100111)B = \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 1 & 1 \end{pmatrix}(3×23 \times 2行列)について考える。AAの列数とBBの行数はともに33であるから積ABABが定まり、その型は2×22 \times 2である。(1,1)(1, 1)成分は1⋅1+2⋅0+3⋅1=41 \cdot 1 + 2 \cdot 0 + 3 \cdot 1 = 4、(1,2)(1, 2)成分は1⋅0+2⋅1+3⋅1=51 \cdot 0 + 2 \cdot 1 + 3 \cdot 1 = 5、(2,1)(2, 1)成分は4⋅1+5⋅0+6⋅1=104 \cdot 1 + 5 \cdot 0 + 6 \cdot 1 = 10、(2,2)(2, 2)成分は4⋅0+5⋅1+6⋅1=114 \cdot 0 + 5 \cdot 1 + 6 \cdot 1 = 11であるから

AB=(451011).AB = \begin{pmatrix} 4 & 5 \\ 10 & 11 \end{pmatrix}.

同じAAとBBについて、BBの列数とAAの行数もともに22であるから、積BABAも定まり、その型は3×33 \times 3である。実際に計算すると

BA=(123456579)BA = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 5 & 7 & 9 \end{pmatrix}

となる。ABABの型は2×22 \times 2、BABAの型は3×33 \times 3であるから、この二つは等しくない。

一方、AAを上と同じ2×32 \times 3行列、DDを3×43 \times 4行列とすると、積ADADは2×42 \times 4行列として定まるが、DDの列数44とAAの行数22が異なるので、積DADAは定義されない。

命題 3.5 (行列の積の列と行).A=(aij)A = (a_{ij})をm×nm \times n行列、B=(bjk)B = (b_{jk})をn×ℓn \times \ell行列とする。1≤k≤ℓ1 \le k \le \ellに対し、BBの第kk列を(j,1)(j, 1)成分がbjkb_{jk}であるn×1n \times 1行列とみなしたものをB(k)B_{(k)}と書き、ABABの第kk列を同様にm×1m \times 1行列とみなしたものを(AB)(k)(AB)_{(k)}と書く。1≤i≤m1 \le i \le mに対し、AAの第ii行を(1,j)(1, j)成分がaija_{ij}である1×n1 \times n行列とみなしたものをA(i)A^{(i)}と書き、ABABの第ii行を同様に1×ℓ1 \times \ell行列とみなしたものを(AB)(i)(AB)^{(i)}と書く。このとき、次が成り立つ。

  1. 1≤k≤ℓ1 \le k \le \ellに対し(AB)(k)=AB(k)(AB)_{(k)} = A B_{(k)}。
  2. 1≤i≤m1 \le i \le mに対し(AB)(i)=A(i)B(AB)^{(i)} = A^{(i)} B。とくに、(AB)(i)(AB)^{(i)}はAAの第ii行の成分ai1,…,aina_{i1}, \dots, a_{in}を係数とする、BBの第11行から第nn行までの一次結合に等しい。

証明.(1)を示す。1≤k≤ℓ1 \le k \le \ellとする。定義 3.1により、1≤i≤m1 \le i \le mに対してABABの(i,k)(i, k)成分は∑j=1naijbjk\sum_{j=1}^n a_{ij} b_{jk}である。B(k)B_{(k)}は(j,1)(j, 1)成分がbjkb_{jk}であるn×1n \times 1行列であるから、同じく定義 3.1によりAB(k)A B_{(k)}の(i,1)(i, 1)成分も∑j=1naijbjk\sum_{j=1}^n a_{ij} b_{jk}である。(AB)(k)(AB)_{(k)}の(i,1)(i, 1)成分はABABの(i,k)(i, k)成分であるから、iiが11からmmの任意であったことより、(AB)(k)(AB)_{(k)}とAB(k)A B_{(k)}はともにm×1m \times 1行列としてすべての成分が一致し、(AB)(k)=AB(k)(AB)_{(k)} = A B_{(k)}である。

(2)を示す。1≤i≤m1 \le i \le mとする。A(i)A^{(i)}は(1,j)(1, j)成分がaija_{ij}である1×n1 \times n行列であるから、定義 3.1により、1≤k≤ℓ1 \le k \le \ellに対してA(i)BA^{(i)} Bの(1,k)(1, k)成分は∑j=1naijbjk\sum_{j=1}^n a_{ij} b_{jk}である。これはABABの(i,k)(i, k)成分に等しく、(AB)(i)(AB)^{(i)}の(1,k)(1, k)成分でもあるから、kkが11からℓ\ellの任意であったことより(AB)(i)=A(i)B(AB)^{(i)} = A^{(i)} Bである。A(i)BA^{(i)} Bの(1,k)(1, k)成分∑j=1naijbjk\sum_{j=1}^n a_{ij} b_{jk}は、BBの第jj行の第kk成分に係数aija_{ij}を掛けてjjについて加えた和であるから、A(i)BA^{(i)} BはBBの第11行から第nn行までを係数ai1,…,aina_{i1}, \dots, a_{in}とする一次結合に等しい。ゆえに(AB)(i)(AB)^{(i)}もこの一次結合に等しい。▨

積について特別な役割を果たすのが、左上から右下へ向かう対角線上の成分が11であり、残りの成分が00である正方行列です。

定義 3.6 (単位行列).nn次正方行列であって、(i,j)(i, j)成分がi=ji = jのとき11、i≠ji \ne jのとき00であるものを、nn次の単位行列 (identity matrix) といいInI_nと書く。次数が文脈から定まるときは単にIIと書く。InI_nの(i,j)(i, j)成分をδij\delta_{ij}と書く。

命題 3.7 (単位行列を掛けても変わらない).AAをm×nm \times n行列とすると、ImA=AI_m A = AかつAIn=AA I_n = Aが成り立つ。

証明.ImAI_m Aはm×nm \times n行列であり、その(i,j)(i, j)成分は定義 3.1により∑k=1mδikakj\sum_{k=1}^{m} \delta_{ik} a_{kj}である。この和で00でない項はk=ik = iの項だけであり、その値はaija_{ij}である。よってImA=AI_m A = Aが成り立つ。AInA I_nの(i,j)(i, j)成分は∑k=1naikδkj\sum_{k=1}^{n} a_{ik} \delta_{kj}であり、同じ理由でaija_{ij}に等しい。▨

単位行列は、実数の積における11と同じ役割を果たします。掛けると単位行列になる行列を逆行列といい、その存在条件と求め方を扱うのは「逆行列」です。

4 結合法則と分配法則

定理 4.1 (積の結合法則).AAをm×nm \times n行列、BBをn×pn \times p行列、CCをp×qp \times q行列とする。このとき(AB)C(AB)CとA(BC)A(BC)はともにm×qm \times q行列として定まり、

(AB)C=A(BC)(AB)C = A(BC)

が成り立つ。

証明. まず型を確かめる。ABABはm×pm \times p行列であり、CCはp×qp \times q行列であるから、(AB)C(AB)Cはm×qm \times q行列として定まる。BCBCはn×qn \times q行列であり、AAはm×nm \times n行列であるから、A(BC)A(BC)もm×qm \times q行列として定まる。よって定義 1.1により、すべてのi∈{1,…,m}i \in \{1, \dots, m\}とr∈{1,…,q}r \in \{1, \dots, q\}について両辺の(i,r)(i, r)成分が一致することを示せばよい。

定義 3.1を二回用いると、左辺の(i,r)(i, r)成分は

((AB)C)ir=∑k=1p(AB)ik ckr=∑k=1p(∑j=1naijbjk)ckr=∑k=1p∑j=1naijbjkckr\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}

である。ここで、実数の分配法則によりckrc_{kr}を内側の和の各項へ配った。同じように、右辺の(i,r)(i, r)成分は

(A(BC))ir=∑j=1naij (BC)jr=∑j=1naij(∑k=1pbjkckr)=∑j=1n∑k=1paijbjkckr\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}

である。二つの式は、npnp個の実数aijbjkckra_{ij} b_{jk} c_{kr}(1≤j≤n1 \le j \le n、1≤k≤p1 \le k \le p)を足す順序だけが異なる。有限個の実数の和は、和の交換法則と結合法則により足す順序によらないので、両者は等しい。よって(AB)C=A(BC)(AB)C = A(BC)が成り立つ。▨

結合法則により、三つの行列の積を括弧を付けずにABCABCと書くことができます。四つ以上の積についても、同じ結果を繰り返し用いれば、括弧の付け方によらず値が定まることが分かります。

定理 4.2 (積の分配法則と実数倍との両立). 次の三つが成り立つ。

  1. AAをm×nm \times n行列、BBとCCをn×pn \times p行列とするとA(B+C)=AB+ACA(B + C) = AB + AC。
  2. AAとBBをm×nm \times n行列、CCをn×pn \times p行列とすると(A+B)C=AC+BC(A + B)C = AC + BC。
  3. AAをm×nm \times n行列、BBをn×pn \times p行列、λ\lambdaを実数とするとλ(AB)=(λA)B=A(λB)\lambda(AB) = (\lambda A)B = A(\lambda B)。

証明.(1)について。B+CB + Cはn×pn \times p行列であるから両辺はともにm×pm \times p行列である。左辺の(i,k)(i, k)成分は

∑j=1naij(bjk+cjk)=∑j=1n(aijbjk+aijcjk)=∑j=1naijbjk+∑j=1naijcjk\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}

であり、最後の式は右辺の(i,k)(i, k)成分に等しい。一つ目の等号で実数の分配法則を用い、二つ目の等号で有限和を項ごとに分けた。

(2)について。両辺はともにm×pm \times p行列である。左辺の(i,k)(i, k)成分は∑j=1n(aij+bij)cjk\sum_{j=1}^{n} (a_{ij} + b_{ij}) c_{jk}であり、(1)と同じ二つの操作により∑j=1naijcjk+∑j=1nbijcjk\sum_{j=1}^{n} a_{ij} c_{jk} + \sum_{j=1}^{n} b_{ij} c_{jk}に等しい。これは右辺の(i,k)(i, k)成分である。

(3)について。三つの行列はいずれもm×pm \times p行列である。λ(AB)\lambda(AB)の(i,k)(i, k)成分はλ∑j=1naijbjk\lambda \sum_{j=1}^{n} a_{ij} b_{jk}であり、実数の分配法則により∑j=1nλ aijbjk\sum_{j=1}^{n} \lambda\, a_{ij} b_{jk}に等しい。実数の積の結合法則と交換法則により、この式は∑j=1n(λaij)bjk\sum_{j=1}^{n} (\lambda a_{ij}) b_{jk}とも∑j=1naij(λbjk)\sum_{j=1}^{n} a_{ij} (\lambda b_{jk})とも書くことができ、それぞれ(λA)B(\lambda A)BとA(λB)A(\lambda B)の(i,k)(i, k)成分である。▨

5 積が交換法則を満たさないこと

実数の積とは異なり、行列の積は順序を入れ替えると一般には値が異なります。例 3.4で見たように、そもそも片方だけが定義される場合や、両方が定義されても型が異なる場合があります。両方が定義され、型も一致する正方行列どうしでも、値は一般に異なります。

例 5.1 (積が交換法則を満たさない).A=(0100)A = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}、B=(0010)B = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix}とする。定義に従って計算すると

AB=(1000),BA=(0001)AB = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}, \qquad BA = \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}

であり、AB≠BAAB \ne BAである。たとえばABABの(1,1)(1, 1)成分は0⋅0+1⋅1=10 \cdot 0 + 1 \cdot 1 = 1、BABAの(1,1)(1, 1)成分は0⋅0+0⋅0=00 \cdot 0 + 0 \cdot 0 = 0である。

したがって、行列を含む等式を変形するときに、積の順序を入れ替えてはなりません。等式の両辺へ同じ行列を掛ける操作についても、左から掛けることと右から掛けることを区別する必要があります。

6 積が零行列であることと、二つの因子

実数では、xy=0xy = 0ならばx=0x = 0またはy=0y = 0が成り立ちます。行列ではこれが成り立ちません。

例 6.1 (積が零行列でありながらどちらの因子も零行列でない).A=(1111)A = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}、B=(11−1−1)B = \begin{pmatrix} 1 & 1 \\ -1 & -1 \end{pmatrix}とする。このとき

AB=(1⋅1+1⋅(−1)1⋅1+1⋅(−1)1⋅1+1⋅(−1)1⋅1+1⋅(−1))=OAB = \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≠OA \ne OかつB≠OB \ne Oであるから、積が零行列であることから因子の一方が零行列であることを導くことはできない。さらに

BA=(22−2−2)≠OBA = \begin{pmatrix} 2 & 2 \\ -2 & -2 \end{pmatrix} \ne O

であり、この例は積が交換法則を満たさないことの例にもなっている。

同じ現象は一つの行列だけでも起こる。N=(0100)N = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}はN≠ON \ne Oを満たすが、NN=ONN = Oである。

注意 6.2 (積を消去することができない). 実数では、zx=zyzx = zyかつz≠0z \ne 0ならばx=yx = yが成り立つ。行列ではこれが成り立たない。実際、例 6.1のAAとBBについてAB=OAB = Oである。他方、積の定義に現れる和の各項が00になるのでAO=OAO = Oでもある。したがってAB=AOAB = AOかつA≠OA \ne OでありながらB≠OB \ne Oであり、等式AB=AOAB = AOの両辺からAAを消去してB=OB = Oと結論することはできない。

同様に、OB=OOB = OであるからAB=OBAB = OBである。しかもB≠OB \ne OかつA≠OA \ne Oであるため、等式AB=OBAB = OBの両辺から右の因子BBを消去してA=OA = Oと結論することもできない。

一方、等式の両辺の左側に掛けた正方行列が逆行列をもつ場合は、その逆行列を両辺の左から掛けることで消去することができる。右側に掛けた場合も、逆行列を両辺の右から掛ければ消去することができる。逆行列をもつことは消去の十分条件であり、この条件を扱うのは「逆行列」である。

7 転置

行と列の役割を入れ替える操作を転置といいます。転置は、行列式や直交行列を扱うときに繰り返し用いる操作です。

定義 7.1 (転置行列).A=(aij)A = (a_{ij})をm×nm \times n行列とする。(i,j)(i, j)成分がajia_{ji}であるn×mn \times m行列をAAの転置行列 (transpose matrix) といい、A⊤A^\topと書く。すなわち、A⊤A^\topはAAの第ii行をそのまま第ii列とする行列である。

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

転置は和と実数倍をそのまま保ちますが、積については順序を入れ替えます。

命題 7.2 (転置の基本性質). 次の三つが成り立つ。

  1. AAをm×nm \times n行列とすると(A⊤)⊤=A(A^\top)^\top = A。
  2. AAとBBをm×nm \times n行列、λ\lambdaを実数とすると(A+B)⊤=A⊤+B⊤(A + B)^\top = A^\top + B^\topかつ(λA)⊤=λA⊤(\lambda A)^\top = \lambda A^\top。
  3. AAをm×nm \times n行列、BBをn×pn \times p行列とすると(AB)⊤=B⊤A⊤(AB)^\top = B^\top A^\top。

証明.(1)について。(A⊤)⊤(A^\top)^\topはm×nm \times n行列であり、その(i,j)(i, j)成分はA⊤A^\topの(j,i)(j, i)成分、すなわちaija_{ij}である。

(2)について。両辺はともにn×mn \times m行列である。(A+B)⊤(A + B)^\topの(i,j)(i, j)成分はA+BA + Bの(j,i)(j, i)成分aji+bjia_{ji} + b_{ji}であり、これはA⊤A^\topの(i,j)(i, j)成分とB⊤B^\topの(i,j)(i, j)成分の和である。実数倍についても同様に、(λA)⊤(\lambda A)^\topの(i,j)(i, j)成分はλaji\lambda a_{ji}であり、λA⊤\lambda A^\topの(i,j)(i, j)成分に等しい。

(3)について。ABABはm×pm \times p行列であるから(AB)⊤(AB)^\topはp×mp \times m行列である。B⊤B^\topはp×np \times n行列、A⊤A^\topはn×mn \times m行列であるから、積B⊤A⊤B^\top A^\topが定まり、その型もp×mp \times mである。(AB)⊤(AB)^\topの(k,i)(k, i)成分はABABの(i,k)(i, k)成分∑j=1naijbjk\sum_{j=1}^{n} a_{ij} b_{jk}である。一方、B⊤A⊤B^\top A^\topの(k,i)(k, i)成分は

∑j=1n(B⊤)kj(A⊤)ji=∑j=1nbjk aij\sum_{j=1}^{n} (B^\top)_{kj} (A^\top)_{ji} = \sum_{j=1}^{n} b_{jk}\, a_{ij}

である。実数の積の交換法則により各項が一致するので、両者は等しい。▨

注意 7.3.命題 7.2 (3)で右辺をA⊤B⊤A^\top B^\topと書くことはできません。A⊤A^\topはn×mn \times m行列、B⊤B^\topはp×np \times n行列であるため、m≠pm \ne pの場合には積A⊤B⊤A^\top B^\topがそもそも定義されません。

8 演習

問題 8.1 (長方形行列での結合法則).

A=(101011),B=(100111),C=(12)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}

とする。(AB)C(AB)CとA(BC)A(BC)が定まることを型から確認し、両方の積を計算せよ。

解答.

AA、BB、CCの型はそれぞれ2×32 \times 3、3×23 \times 2、2×12 \times 1である。したがって、ABABは2×22 \times 2行列、(AB)C(AB)Cは2×12 \times 1行列として定まる。また、BCBCは3×13 \times 1行列、A(BC)A(BC)は2×12 \times 1行列として定まる。実際、

AB=(2112),(AB)C=(2112)(12)=(45)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}

である。一方、

BC=(123),A(BC)=(101011)(123)=(45)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}

である。したがって、この三つの行列について(AB)C=A(BC)(AB)C=A(BC)が成り立つ。▨

問題 8.2 (交換法則を満たさない行列の構成).ABABとBABAがともに零行列ではなく、AB≠BAAB \ne BAとなる二つの22次正方行列AA、BBを構成し、二つの積を計算して条件を確認せよ。

解答.A=(1101),B=(1002)A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix},\qquad B = \begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix}

とおく。このとき

AB=(1202),BA=(1102)AB = \begin{pmatrix} 1 & 2 \\ 0 & 2 \end{pmatrix},\qquad BA = \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix}

である。両方の積が零行列ではなく、(1,2)(1,2)成分が異なるのでAB≠BAAB \ne BAである。▨

問題 8.3 (積が零行列になる正方行列).A≠O3,3A \ne O_{3,3}かつAA=O3,3AA=O_{3,3}を満たす33次正方行列AAを構成し、積を計算して条件を確認せよ。

解答.A=(010000000)A = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}

とおく。(1,2)(1,2)成分が11であるからA≠O3,3A\ne O_{3,3}である。また、AAの第22行は零行であり、AAの零でない成分は(1,2)(1,2)成分だけである。積AAAAの(i,j)(i,j)成分∑k=13aikakj\sum_{k=1}^3 a_{ik}a_{kj}において、前の因子から零でない成分が選ばれる可能性があるのは(i,k)=(1,2)(i,k)=(1,2)の場合だけであるが、この場合もa2j=0a_{2j}=0である。したがって、すべての成分が00となり、

AA=(000000000)=O3,3AA = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} =O_{3,3}

である。▨

閑話休題:積の順序が結果を変える場面 行列の積が交換法則を満たさないことは、計算上の不便ではなく、行列が表している操作の性質を反映しています。平面や空間の回転、拡大、射影は、いずれも行列を掛ける操作として表され、二つの操作を続けて行うことが行列の積に対応します。この対応を正確に述べるのは「線形写像と表現行列」です。三次元の空間で、ある軸のまわりの回転と別の軸のまわりの回転を続けて行うとき、順序を変えると最後の位置が変わります。立方体を手に取り、二度の回転を順序を変えて行えば、この違いを実際に確かめることができます。回転を表す行列の積が交換法則を満たさないことは、この事実に対応します。

物理学では、1925 年に Heisenberg が、粒子の位置と運動量を数の配列として表す形式を提出し、 Born と Jordan がその配列を行列として定式化しました。この形式では、位置に対応するXXと運動量に対応するPPがXP−PX≠OXP - PX \ne Oを満たします。この差が、位置と運動量を同時にどこまで確定することができるかの限界を定めます。ここに現れる配列は行と列がともに無限に続くものであり、本記事が扱う有限の行列ではありません。ただし、積を行と列の組み合わせによって定める点と、その積が交換法則を満たさない点は共通しています。この形式は行列力学と呼ばれました。

行列の積は、計算の規模の面でも広く現れます。三次元の図形を画面へ描く処理は、頂点の座標へ回転・拡大・平行移動を表す行列を掛ける計算です。画素の値を並べた行列に直交行列を掛けて周波数の成分へ分けることは、JPEG をはじめとする画像の圧縮方式が用いる操作です。画素の行列を少数の項の和で近似する方法を扱うのは、展望の「特異値分解と低ランク近似」です。また、ウェブページのリンクの関係から作った行列について、その固有ベクトルを求めることによってページの重要度を測る方法があり、PageRank と呼ばれます。固有ベクトルを定義するのは「固有値と固有ベクトル」です。

参考文献

  1. 齋藤正彦『線型代数入門』基礎数学 1, 東京大学出版会, 1966.行列の演算を成分によって定義し、結合法則と分配法則を成分の計算で示す順序を参考にしました。
  2. Kenneth Hoffman and Ray Kunze, Linear Algebra, 2nd ed., Prentice Hall, Englewood Cliffs, N.J., 1971.積の定義を線形写像の合成から動機づける説明と、転置の基本性質の並べ方を参考にしました。
  3. Serge Lang, Linear Algebra, 3rd ed., Springer, New York, 1987.積が交換法則を満たさない例と、積が零行列でありながらどちらの因子も零行列でない例の選び方を参考にしました。

前提記事