コンテンツにスキップ

行列と連立一次方程式:線形写像の座標表示と解の構造

前提:ベクトル空間と線形変換:8 つの公理から次元定理まで

生 Markdown
  • 定義域と値域の基底を 1 組ずつ固定すると、有限次元ベクトル空間の間の線形写像は行列と 1 対 1 に対応します。行列とは線形写像の「座標表示」であって、数の並びそのものに意味があるわけではありません。
  • 行列の積は「行と列を掛けて足す」という奇妙な規則で定義されます。この規則は、写像の合成の表現行列を計算すると必然的に現れます。積が結合的なのも、合成が結合的だからです。
  • 基底を取り替えると、同じ線形写像の表現行列は A=Q1APA' = Q^{-1} A P に変わります。行列の見た目の複雑さは、写像の性質ではなく基底の選び方の反映です。
  • 連立一次方程式 Ax=bA\boldsymbol{x} = \boldsymbol{b} は、「b\boldsymbol{b} は線形写像 xAx\boldsymbol{x} \mapsto A\boldsymbol{x} の像に入るか。入るなら逆像は何か」という問いに翻訳されます。
  • ガウスの消去法は、解集合を変えない変形だけで係数行列を簡約階段形へ直す手続きです。そこに現れるピボットの個数が階数 rankA\operatorname{rank} A であり、像の次元に一致します。
  • 解集合は空か、さもなければ「特殊解 1 つ + 核」という平行移動された部分空間で、次元は nrankAn - \operatorname{rank} A です。可解性は rankA=rank[Ab]\operatorname{rank} A = \operatorname{rank} [A \mid \boldsymbol{b}] で判定できます。

1. 動機 — 数表はなぜ「代数」になるのか

Section titled “1. 動機 — 数表はなぜ「代数」になるのか”

連立一次方程式は古い主題です。中国の『九章算術』(1 世紀頃)の第 8 章「方程」には、算木を並べて係数を配置し、列どうしを引き算して未知数を消す手続きが記されています。実質的に掃き出し法です。19 世紀にはガウスが、小惑星の軌道決定にともなう最小二乗法の計算でこの方法を系統的に使いました。係数だけを並べて機械的に処理する発想は、行列という言葉より二千年近く古いのです。

では、行列という概念は何を付け加えたのでしょうか。「行列 (matrix)」という語は 1850 年に J. J. シルヴェスターが導入し、1858 年にケイリーが論文「行列論の覚書」で、行列そのものを足したり掛けたりする代数として扱いました。決定的だったのは積の定義です。ケイリーは行列の積を、一次変換(一次の変数変換)を続けて行った結果に対応するものとして定めました。ここで数表は、単なる係数の置き場所から、演算をもつ数学的対象へ格上げされます。

初めて行列を学ぶとき、多くの人が引っかかるのはこの積です。足し算は成分ごとなのに、掛け算はなぜ

(BA)ij=kbikakj(BA)_{ij} = \sum_{k} b_{ik} a_{kj}

という込み入った形なのか。成分ごとに掛ければよいではないか、と。この疑問への答えは 1 つしかありません。行列は線形写像を表すためにあり、積は写像の合成を表すために定義されたからです。成分ごとの積(アダマール積)も定義はできますが、それは合成に対応しません。合成に対応させたいという要求が、あの和の形を強制するのです。

この記事では、まずその対応(表現行列)を作ります。行列は基底を決めたときの線形写像の顔であり、基底を変えれば顔は変わる。この視点に立つと、Ax=bA\boldsymbol{x} = \boldsymbol{b} は「線形写像 fAf_A による b\boldsymbol{b} の逆像を求めよ」という幾何の問題になります。解が 0 個か 1 個か無限個かという分類も、像と核という 2 つの部分空間の言葉で一度に片づきます。

2. 準備 — 基底・座標・線形写像

Section titled “2. 準備 — 基底・座標・線形写像”

以下、KK は体を表し、K=RK = \mathbb{R} または K=CK = \mathbb{C} と思って読んで構いません。ベクトル空間、一次独立、基底、次元、線形写像、核と像については ベクトル空間と線形変換 で扱いました(線形独立・生成系・基底(定義 5.1)[ベクトル空間と線形変換]核と像(定義 7.1)[ベクトル空間と線形変換])。ここでは以降で繰り返し使う 2 つの事実を、証明つきで確認しておきます。

VVKK 上のベクトル空間、B=(e1,,en)\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n) をその基底(順序を込めて考えるので順序基底といいます)とします。m×nm \times n 行列全体の集合を Mm,n(K)M_{m,n}(K)nn 次正方行列全体を Mn(K)M_n(K)nn 次単位行列を InI_n と書きます。KnK^n の元は列ベクトルとして扱い、転置は ATA^{\mathsf{T}} と書きます。

命題 2.1座標同型と、基底による線形写像の決定

VVKK 上の nn 次元ベクトル空間、B=(e1,,en)\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n) をその順序基底とする。

  1. vV\boldsymbol{v} \in V に対し v=j=1nxjej\boldsymbol{v} = \sum_{j=1}^{n} x_j \boldsymbol{e}_j と表す係数 (x1,,xn)(x_1, \ldots, x_n) はただ 1 通りに定まり、写像
φB:VKn,φB(v)=(x1,,xn)T\varphi_{\mathcal{B}} : V \to K^n, \qquad \varphi_{\mathcal{B}}(\boldsymbol{v}) = (x_1, \ldots, x_n)^{\mathsf{T}}

は線形同型である。これを B\mathcal{B} に関する座標同型と呼ぶ。 2. WWKK 上の任意のベクトル空間、w1,,wnW\boldsymbol{w}_1, \ldots, \boldsymbol{w}_n \in W を任意の元とする。このとき f(ej)=wj (j=1,,n)f(\boldsymbol{e}_j) = \boldsymbol{w}_j\ (j = 1, \ldots, n) を満たす線形写像 f:VWf : V \to W がただ 1 つ存在する。

証明(命題 2.1)
  1. B\mathcal{B}VV を張るので、少なくとも 1 通りの表示 v=jxjej\boldsymbol{v} = \sum_j x_j \boldsymbol{e}_j があります。jxjej=jyjej\sum_j x_j \boldsymbol{e}_j = \sum_j y_j \boldsymbol{e}_j とすると j(xjyj)ej=0\sum_j (x_j - y_j)\boldsymbol{e}_j = \boldsymbol{0} ですが、B\mathcal{B} は一次独立なのですべての jjxjyj=0x_j - y_j = 0、すなわち表示は一意です。したがって φB\varphi_{\mathcal{B}} は矛盾なく定義されます。

線形性を確かめます。v=jxjej\boldsymbol{v} = \sum_j x_j \boldsymbol{e}_jw=jyjej\boldsymbol{w} = \sum_j y_j \boldsymbol{e}_jcKc \in K とすると、ベクトル空間の公理から v+cw=j(xj+cyj)ej\boldsymbol{v} + c\boldsymbol{w} = \sum_j (x_j + c y_j)\boldsymbol{e}_j であり、表示の一意性よりこれが v+cw\boldsymbol{v} + c\boldsymbol{w} の座標です。ゆえに φB(v+cw)=φB(v)+cφB(w)\varphi_{\mathcal{B}}(\boldsymbol{v} + c\boldsymbol{w}) = \varphi_{\mathcal{B}}(\boldsymbol{v}) + c\,\varphi_{\mathcal{B}}(\boldsymbol{w})

全射性は、(x1,,xn)TKn(x_1, \ldots, x_n)^{\mathsf{T}} \in K^n に対し v=jxjej\boldsymbol{v} = \sum_j x_j \boldsymbol{e}_j が原像を与えることから従います。単射性は、φB(v)=0\varphi_{\mathcal{B}}(\boldsymbol{v}) = \boldsymbol{0} なら v=j0ej=0\boldsymbol{v} = \sum_j 0 \cdot \boldsymbol{e}_j = \boldsymbol{0} であり、線形写像は核が {0}\{\boldsymbol{0}\} のとき単射だからです。

  1. 存在: 1 の一意性を使って f(jxjej):=jxjwjf\left(\sum_j x_j \boldsymbol{e}_j\right) := \sum_j x_j \boldsymbol{w}_j と定めます。座標が一意なのでこの定義に曖昧さはありません。線形性は 1 と同じ計算です。ej\boldsymbol{e}_j の座標は第 jj 成分だけが 11 で他が 00 なので f(ej)=wjf(\boldsymbol{e}_j) = \boldsymbol{w}_j です。

一意性: g:VWg : V \to W も線形で g(ej)=wjg(\boldsymbol{e}_j) = \boldsymbol{w}_j を満たすとすると、任意の v=jxjej\boldsymbol{v} = \sum_j x_j \boldsymbol{e}_j に対し gg の線形性から g(v)=jxjg(ej)=jxjwj=f(v)g(\boldsymbol{v}) = \sum_j x_j g(\boldsymbol{e}_j) = \sum_j x_j \boldsymbol{w}_j = f(\boldsymbol{v}) となり g=fg = f です。

命題 2.1 の 2 は「線形写像は基底の行き先だけで決まり、しかもその行き先は自由に指定してよい」と読みます。無限個の点での値を決めるはずの写像が nn 個のデータで決まる。これが、行列という有限のデータで写像を記述できる理由です。

3. 表現行列 — 線形写像を数表に翻訳する

Section titled “3. 表現行列 — 線形写像を数表に翻訳する”

定義 3.1表現行列

VVnn 次元、WWmm 次元の KK ベクトル空間とし、B=(e1,,en)\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)VV の、C=(u1,,um)\mathcal{C} = (\boldsymbol{u}_1, \ldots, \boldsymbol{u}_m)WW の順序基底とする。線形写像 f:VWf : V \to W に対し、各 jj について f(ej)Wf(\boldsymbol{e}_j) \in WC\mathcal{C} で展開したときの係数を aija_{ij} とおく。すなわち

f(ej)=i=1maijui(j=1,,n).f(\boldsymbol{e}_j) = \sum_{i=1}^{m} a_{ij}\,\boldsymbol{u}_i \qquad (j = 1, \ldots, n).

このとき A=(aij)Mm,n(K)A = (a_{ij}) \in M_{m,n}(K) を、ff の基底 B,C\mathcal{B}, \mathcal{C} に関する表現行列といい、MCB(f)M_{\mathcal{C}\mathcal{B}}(f) と書く。

添字に注意してください。aija_{ij} の第 2 添字 jj が「どの基底ベクトルを写したか」、第 1 添字 ii が「その行き先の第何成分か」です。言い換えると

A の第 j 列=φC(f(ej))A \text{ の第 } j \text{ 列} = \varphi_{\mathcal{C}}\bigl(f(\boldsymbol{e}_j)\bigr)

であり、表現行列の列は基底ベクトルの行き先を並べたものです。行列を見たら、まず列を 1 本ずつ「どこへ行くベクトルか」として読んでください。

定理 3.2線形写像と行列の対応

V,W,B,CV, W, \mathcal{B}, \mathcal{C}定義 3.1 のとおりとし、dimV=n\dim V = ndimW=m\dim W = m とする。x=(x1,,xn)TKn\boldsymbol{x} = (x_1, \ldots, x_n)^{\mathsf{T}} \in K^nA=(aij)Mm,n(K)A = (a_{ij}) \in M_{m,n}(K) に対し、AxKmA\boldsymbol{x} \in K^m

(Ax)i=j=1naijxj(i=1,,m)(A\boldsymbol{x})_i = \sum_{j=1}^{n} a_{ij} x_j \qquad (i = 1, \ldots, m)

で定める。このとき次が成り立つ。

  1. A=MCB(f)A = M_{\mathcal{C}\mathcal{B}}(f) とおくと、すべての vV\boldsymbol{v} \in V に対し φC(f(v))=AφB(v)\varphi_{\mathcal{C}}\bigl(f(\boldsymbol{v})\bigr) = A\,\varphi_{\mathcal{B}}(\boldsymbol{v}) が成り立つ。
  2. 写像 MCB:Hom(V,W)Mm,n(K)M_{\mathcal{C}\mathcal{B}} : \operatorname{Hom}(V, W) \to M_{m,n}(K)fMCB(f)f \mapsto M_{\mathcal{C}\mathcal{B}}(f) は線形同型である。ここで Hom(V,W)\operatorname{Hom}(V,W)VV から WW への線形写像全体のなすベクトル空間を表す。

特に dimHom(V,W)=mn\dim \operatorname{Hom}(V, W) = mn である。

証明(定理 3.2)
  1. vV\boldsymbol{v} \in V を取り、φB(v)=(x1,,xn)T\varphi_{\mathcal{B}}(\boldsymbol{v}) = (x_1, \ldots, x_n)^{\mathsf{T}}、すなわち v=jxjej\boldsymbol{v} = \sum_{j} x_j \boldsymbol{e}_j とします。ff の線形性と 定義 3.1 から
f(v)=f(j=1nxjej)=j=1nxjf(ej)=j=1nxji=1maijui=i=1m(j=1naijxj)ui.\begin{aligned} f(\boldsymbol{v}) &= f\Bigl(\sum_{j=1}^{n} x_j \boldsymbol{e}_j\Bigr) = \sum_{j=1}^{n} x_j\, f(\boldsymbol{e}_j) \\ &= \sum_{j=1}^{n} x_j \sum_{i=1}^{m} a_{ij}\,\boldsymbol{u}_i = \sum_{i=1}^{m} \Bigl(\sum_{j=1}^{n} a_{ij} x_j\Bigr) \boldsymbol{u}_i . \end{aligned}

最後の等号は有限和の順序交換です。命題 2.1 の 1 より C\mathcal{C} に関する座標は一意なので、f(v)f(\boldsymbol{v}) の第 ii 座標は jaijxj=(Ax)i\sum_j a_{ij}x_j = (A\boldsymbol{x})_i です。これが主張です。

なお、AxA\boldsymbol{x} の定義はこの計算結果を書き写したものにすぎません。行列とベクトルの積は、天下り式の規則ではなく「座標で書いた線形写像」そのものです。

  1. 線形性: f,g:VWf, g : V \to WcKc \in K に対し (f+cg)(ej)=f(ej)+cg(ej)(f + cg)(\boldsymbol{e}_j) = f(\boldsymbol{e}_j) + c\,g(\boldsymbol{e}_j) であり、右辺を C\mathcal{C} で展開した係数は、それぞれの係数の和と cc 倍です(命題 2.1 の 1 の線形性)。よって MCB(f+cg)=MCB(f)+cMCB(g)M_{\mathcal{C}\mathcal{B}}(f + cg) = M_{\mathcal{C}\mathcal{B}}(f) + c\,M_{\mathcal{C}\mathcal{B}}(g)

単射性: MCB(f)=OM_{\mathcal{C}\mathcal{B}}(f) = O(零行列)とすると、すべての jjf(ej)=i0ui=0f(\boldsymbol{e}_j) = \sum_i 0 \cdot \boldsymbol{u}_i = \boldsymbol{0} です。零写像もこの条件を満たすので、命題 2.1 の 2 の一意性から f=0f = 0。線形写像の核が {0}\{0\} なので単射です。

全射性: A=(aij)Mm,n(K)A = (a_{ij}) \in M_{m,n}(K) を任意に取り、wj:=i=1maijuiW\boldsymbol{w}_j := \sum_{i=1}^{m} a_{ij}\boldsymbol{u}_i \in W とおきます。命題 2.1 の 2 より f(ej)=wjf(\boldsymbol{e}_j) = \boldsymbol{w}_j を満たす線形写像 ff が存在し、その表現行列はまさに AA です。

最後に dimMm,n(K)=mn\dim M_{m,n}(K) = mn(成分がちょうど 1 つだけ 11 の行列 mnmn 個が基底をなす)ですから、同型により dimHom(V,W)=mn\dim \operatorname{Hom}(V,W) = mn です。

定理 3.2 の 1 は、次の図式が可換であること、つまり「上を通っても下を通っても同じ」ことを主張しています。座標同型で V,WV, WKn,KmK^n, K^m に取り替えると、抽象的な ff が行列の掛け算に化けるわけです。

flowchart LR
V["V (基底 B)"] -->|"f"| W["W (基底 C)"]
V -->|"座標同型 φ_B"| Kn["K^n"]
W -->|"座標同型 φ_C"| Km["K^m"]
Kn -->|"x ↦ Ax"| Km
表現行列とは、座標同型で写した先での f のふるまいのこと

例 3.3平面の回転

V=W=R2V = W = \mathbb{R}^2E=(e1,e2)\mathcal{E} = (\boldsymbol{e}_1, \boldsymbol{e}_2) を標準基底、f=Rθf = R_\theta を原点のまわりの角 θ\theta の回転とします。表現行列を求めるには、基底ベクトルの行き先だけを見れば十分です。e1=(1,0)T\boldsymbol{e}_1 = (1,0)^{\mathsf{T}} は単位円周上の角 00 の点なので、回転後は角 θ\theta の点、すなわち (cosθ,sinθ)T(\cos\theta, \sin\theta)^{\mathsf{T}} に移ります。e2=(0,1)T\boldsymbol{e}_2 = (0,1)^{\mathsf{T}} は角 π/2\pi/2 の点なので、回転後は角 θ+π/2\theta + \pi/2 の点、すなわち (cos(θ+π/2),sin(θ+π/2))T=(sinθ,cosθ)T(\cos(\theta + \pi/2), \sin(\theta+\pi/2))^{\mathsf{T}} = (-\sin\theta, \cos\theta)^{\mathsf{T}} です。これらを列に並べて

MEE(Rθ)=(cosθsinθsinθcosθ).M_{\mathcal{E}\mathcal{E}}(R_\theta) = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}.

暗記すべきは行列ではなく「第 1 列は e1\boldsymbol{e}_1 の行き先」という読み方です。

例 3.4多項式の微分は行列である

PnP_n を次数 nn 以下の実係数多項式全体のなす空間とします。P3P_3 の基底として B=(1,x,x2,x3)\mathcal{B} = (1, x, x^2, x^3)P2P_2 の基底として C=(1,x,x2)\mathcal{C} = (1, x, x^2) を取り、微分写像 D:P3P2D : P_3 \to P_2D(p)=pD(p) = p' を考えます。DD が線形であることは微分の線形性そのものです。基底の行き先は

D(1)=0,D(x)=1,D(x2)=2x,D(x3)=3x2D(1) = 0, \quad D(x) = 1, \quad D(x^2) = 2x, \quad D(x^3) = 3x^2

ですから、これを C\mathcal{C} の座標に直して列に並べると

MCB(D)=(010000200003)M3,4(R).M_{\mathcal{C}\mathcal{B}}(D) = \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 3 \end{pmatrix} \in M_{3,4}(\mathbb{R}).

確かめてみます。p(x)=2x+4x2+x3p(x) = 2 - x + 4x^2 + x^3 の座標は (2,1,4,1)T(2, -1, 4, 1)^{\mathsf{T}} で、

(010000200003)(2141)=(183)\begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 3 \end{pmatrix} \begin{pmatrix} 2 \\ -1 \\ 4 \\ 1 \end{pmatrix} = \begin{pmatrix} -1 \\ 8 \\ 3 \end{pmatrix}

となり、1+8x+3x2-1 + 8x + 3x^2 を表します。一方 p(x)=1+8x+3x2p'(x) = -1 + 8x + 3x^2 ですから一致しました。微分という無限小の操作が、基底を選ぶだけで 3×43 \times 4 の数表になります。行列は数値計算だけの道具ではなく、線形な操作すべての共通言語です。

線形写像を 2 つ続けて施すとどうなるかを、表現行列の言葉で計算してみます。これが積の定義の出どころです。

U,V,WU, V, W をそれぞれ p,n,mp, n, m 次元の KK ベクトル空間、順序基底を D=(d1,,dp)\mathcal{D} = (\boldsymbol{d}_1, \ldots, \boldsymbol{d}_p)B=(e1,,en)\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)C=(u1,,um)\mathcal{C} = (\boldsymbol{u}_1, \ldots, \boldsymbol{u}_m) とします。線形写像 f:UVf : U \to Vg:VWg : V \to W の表現行列を A=(akj)=MBD(f)Mn,p(K)A = (a_{kj}) = M_{\mathcal{B}\mathcal{D}}(f) \in M_{n,p}(K)B=(bik)=MCB(g)Mm,n(K)B = (b_{ik}) = M_{\mathcal{C}\mathcal{B}}(g) \in M_{m,n}(K) とおきます。合成 gf:UWg \circ f : U \to W も線形ですから表現行列を持ちます。それを求めましょう。定義 3.1 に従って基底ベクトルの行き先を計算します。

(gf)(dj)=g(f(dj))=g(k=1nakjek)=k=1nakjg(ek)=k=1nakji=1mbikui=i=1m(k=1nbikakj)ui.\begin{aligned} (g \circ f)(\boldsymbol{d}_j) &= g\bigl(f(\boldsymbol{d}_j)\bigr) = g\Bigl(\sum_{k=1}^{n} a_{kj}\boldsymbol{e}_k\Bigr) = \sum_{k=1}^{n} a_{kj}\, g(\boldsymbol{e}_k) \\ &= \sum_{k=1}^{n} a_{kj} \sum_{i=1}^{m} b_{ik}\,\boldsymbol{u}_i = \sum_{i=1}^{m} \Bigl(\sum_{k=1}^{n} b_{ik} a_{kj}\Bigr) \boldsymbol{u}_i . \end{aligned}

3 番目の等号で gg の線形性を使いました。結果として、(gf)(g\circ f) の表現行列の (i,j)(i,j) 成分は kbikakj\sum_k b_{ik}a_{kj} になります。この式を「積」と名づければ、表現行列の対応が合成と両立します。

定義 4.1行列の積

B=(bik)Mm,n(K)B = (b_{ik}) \in M_{m,n}(K)A=(akj)Mn,p(K)A = (a_{kj}) \in M_{n,p}(K) とする。BB の列数と AA の行数がともに nn で一致しているとき、積 BAMm,p(K)BA \in M_{m,p}(K)

(BA)ij=k=1nbikakj(1im, 1jp)(BA)_{ij} = \sum_{k=1}^{n} b_{ik} a_{kj} \qquad (1 \le i \le m,\ 1 \le j \le p)

で定める。

p=1p = 1 の場合が 定理 3.2 の行列とベクトルの積です。また定義から、BABA の第 jj 列は B(A の第 j 列)B \cdot (A \text{ の第 } j \text{ 列}) に等しいことがわかります(両辺の第 ii 成分がともに kbikakj\sum_k b_{ik}a_{kj} だからです)。この「列ごとに見る」性質は後で使います。

定理 4.2積は合成の表現行列

上の記号のもとで

MCD(gf)=MCB(g)  MBD(f)M_{\mathcal{C}\mathcal{D}}(g \circ f) = M_{\mathcal{C}\mathcal{B}}(g)\; M_{\mathcal{B}\mathcal{D}}(f)

が成り立つ。

証明(定理 4.2)

上で行った計算がそのまま証明です。(gf)(dj)=i(kbikakj)ui(g\circ f)(\boldsymbol{d}_j) = \sum_{i} \bigl(\sum_k b_{ik}a_{kj}\bigr)\boldsymbol{u}_i であり、命題 2.1 の 1 より C\mathcal{C} に関する係数は一意に定まるので、MCD(gf)M_{\mathcal{C}\mathcal{D}}(g\circ f)(i,j)(i,j) 成分は kbikakj\sum_k b_{ik}a_{kj} です。これは 定義 4.1 により (BA)ij(BA)_{ij} に一致します。

行列の積のわかりにくさは、合成写像のわかりにくさを引き受けたものです。そのぶん、写像の性質はそのまま行列の性質に翻訳されます。次の系はその典型で、成分計算を一切せずに証明できます。

系 4.3積の結合法則

AMn,p(K)A \in M_{n,p}(K)BMm,n(K)B \in M_{m,n}(K)CMl,m(K)C \in M_{l,m}(K) に対し (CB)A=C(BA)(CB)A = C(BA) が成り立つ。

証明(系 4.3)

行列 AMn,p(K)A \in M_{n,p}(K) に対し線形写像 fA:KpKnf_A : K^p \to K^nfA(x)=Axf_A(\boldsymbol{x}) = A\boldsymbol{x} を対応させます。Kp,KnK^p, K^n の標準基底に関する fAf_A の表現行列は AA 自身です。実際、標準基底ベクトル ej\boldsymbol{e}_j に対し AejA\boldsymbol{e}_j の第 ii 成分は kaik(ej)k=aij\sum_k a_{ik}(\boldsymbol{e}_j)_k = a_{ij}、つまり AejA\boldsymbol{e}_jAA の第 jj 列だからです。

定理 4.2 を 2 回使うと、C(BA)C(BA)fC(fBfA)f_C \circ (f_B \circ f_A) の、(CB)A(CB)A(fCfB)fA(f_C \circ f_B) \circ f_A の表現行列です。ところが写像の合成は結合的で、どちらも xfC(fB(fA(x)))\boldsymbol{x} \mapsto f_C\bigl(f_B(f_A(\boldsymbol{x}))\bigr) という同一の写像です。表現行列は写像から一意に定まる(定理 3.2 の 2 の単射性)ので、C(BA)=(CB)AC(BA) = (CB)A が従います。

例 4.4回転の合成と三角関数の加法定理

例 3.3 の回転行列について、RαRβ=Rα+βR_\alpha \circ R_\beta = R_{\alpha + \beta} は幾何的に明らかです(角 β\beta 回してから角 α\alpha 回すのは、角 α+β\alpha + \beta 回すのと同じ)。定理 4.2 により、表現行列の側でも同じ等式が成り立たなければなりません。左辺を 定義 4.1 に従って計算すると

(cosαsinαsinαcosα)(cosβsinβsinβcosβ)=(cosαcosβsinαsinβ(cosαsinβ+sinαcosβ)sinαcosβ+cosαsinβcosαcosβsinαsinβ)\begin{pmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & \cos\alpha \end{pmatrix} \begin{pmatrix} \cos\beta & -\sin\beta \\ \sin\beta & \cos\beta \end{pmatrix} = \begin{pmatrix} \cos\alpha\cos\beta - \sin\alpha\sin\beta & -(\cos\alpha\sin\beta + \sin\alpha\cos\beta) \\ \sin\alpha\cos\beta + \cos\alpha\sin\beta & \cos\alpha\cos\beta - \sin\alpha\sin\beta \end{pmatrix}

となります。右辺は Rα+βR_{\alpha+\beta}、すなわち (1,1)(1,1) 成分が cos(α+β)\cos(\alpha+\beta)(2,1)(2,1) 成分が sin(α+β)\sin(\alpha+\beta) の行列です。成分を比較して

cos(α+β)=cosαcosβsinαsinβ,sin(α+β)=sinαcosβ+cosαsinβ\cos(\alpha+\beta) = \cos\alpha\cos\beta - \sin\alpha\sin\beta, \qquad \sin(\alpha+\beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta

が得られます。加法定理は「回転の合成」を座標で書いたものにほかならない、というわけです。

注意 4.5積が可換でない理由

実数の掛け算と違い、行列の積は一般に ABBAAB \ne BA です。これも幾何で見えます。R=(0110)R = \begin{pmatrix} 0 & -1 \\ 1 & 0\end{pmatrix}9090^\circ の回転、S=(1001)S = \begin{pmatrix} 1 & 0 \\ 0 & -1\end{pmatrix}xx 軸に関する鏡映とすると

RS=(0110),SR=(0110)RS = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \qquad SR = \begin{pmatrix} 0 & -1 \\ -1 & 0 \end{pmatrix}

です(たとえば (RS)12=00+(1)(1)=1(RS)_{12} = 0\cdot 0 + (-1)\cdot(-1) = 1(SR)12=1(1)+00=1(SR)_{12} = 1\cdot(-1) + 0\cdot 0 = -1)。RSRS は直線 y=xy = x に関する鏡映、SRSR は直線 y=xy = -x に関する鏡映で、別の変換です。本を「表紙を上にしてから右に 9090^\circ 回す」のと順序を入れ替えるのとで結果が違うのと同じで、非可換性は変換が順序に依存するという事実の反映です。

同じ線形写像でも、基底を変えれば表現行列は変わります。ここを曖昧にしたまま先へ進むと、後の章で対角化の意味がわからなくなります。まず、基底の取り替え自体を行列で書きます。

定義 5.1基底変換行列

VVnn 次元 KK ベクトル空間、B=(e1,,en)\mathcal{B} = (\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)B=(e1,,en)\mathcal{B}' = (\boldsymbol{e}'_1, \ldots, \boldsymbol{e}'_n) をその 2 組の順序基底とする。各 ej\boldsymbol{e}'_jB\mathcal{B} で展開して

ej=i=1npijei(j=1,,n)\boldsymbol{e}'_j = \sum_{i=1}^{n} p_{ij}\,\boldsymbol{e}_i \qquad (j = 1, \ldots, n)

と書くとき、P=(pij)Mn(K)P = (p_{ij}) \in M_n(K)B\mathcal{B}' から B\mathcal{B} への基底変換行列という。定義から P=MBB(idV)P = M_{\mathcal{B}\mathcal{B}'}(\mathrm{id}_V) である。

PP は恒等写像の表現行列であり、定理 3.2 の 1 を f=idVf = \mathrm{id}_V に適用すると、すべての vV\boldsymbol{v} \in V について

φB(v)=PφB(v)\varphi_{\mathcal{B}}(\boldsymbol{v}) = P\,\varphi_{\mathcal{B}'}(\boldsymbol{v})

が成り立ちます。つまり PP は「新しい座標を入れると古い座標が出てくる」変換です。基底の変換 BB\mathcal{B} \to \mathcal{B}' と座標の変換 BB\mathcal{B}' \to \mathcal{B} が逆向きになるので、ここは混乱しやすいところです。

定理 5.2表現行列の変換則

f:VWf : V \to W を線形写像とする。VV に 2 組の順序基底 B,B\mathcal{B}, \mathcal{B}' を、WW に 2 組の順序基底 C,C\mathcal{C}, \mathcal{C}' を取り、P=MBB(idV)P = M_{\mathcal{B}\mathcal{B}'}(\mathrm{id}_V)Q=MCC(idW)Q = M_{\mathcal{C}\mathcal{C}'}(\mathrm{id}_W) を基底変換行列とする。このとき P,QP, Q は正則で、

MCB(f)=Q1MCB(f)PM_{\mathcal{C}'\mathcal{B}'}(f) = Q^{-1}\, M_{\mathcal{C}\mathcal{B}}(f)\, P

が成り立つ。

証明(定理 5.2)

まず MBB(idV)=InM_{\mathcal{B}\mathcal{B}}(\mathrm{id}_V) = I_n です。実際 idV(ej)=ej\mathrm{id}_V(\boldsymbol{e}_j) = \boldsymbol{e}_j なので、定義 3.1 の係数は aij=δija_{ij} = \delta_{ij}i=ji = j のとき 11、それ以外は 00)です。

P:=MBB(idV)P^{\ast} := M_{\mathcal{B}'\mathcal{B}}(\mathrm{id}_V) とおくと、定理 4.2idVidV=idV\mathrm{id}_V \circ \mathrm{id}_V = \mathrm{id}_V に適用して

PP=MBB(idV)MBB(idV)=MBB(idV)=In,P P^{\ast} = M_{\mathcal{B}\mathcal{B}'}(\mathrm{id}_V)\, M_{\mathcal{B}'\mathcal{B}}(\mathrm{id}_V) = M_{\mathcal{B}\mathcal{B}}(\mathrm{id}_V) = I_n,

同様に PP=MBB(idV)=InP^{\ast} P = M_{\mathcal{B}'\mathcal{B}'}(\mathrm{id}_V) = I_n となるので、PP は正則で P1=MBB(idV)P^{-1} = M_{\mathcal{B}'\mathcal{B}}(\mathrm{id}_V) です。QQ についても同じです。

次に f=idWfidVf = \mathrm{id}_W \circ f \circ \mathrm{id}_V と書き、定理 4.2 を 2 回使います。

MCB(f)=MCC(idW)  MCB(f)  MBB(idV)=Q1MCB(f)P.M_{\mathcal{C}'\mathcal{B}'}(f) = M_{\mathcal{C}'\mathcal{C}}(\mathrm{id}_W)\; M_{\mathcal{C}\mathcal{B}}(f)\; M_{\mathcal{B}\mathcal{B}'}(\mathrm{id}_V) = Q^{-1} M_{\mathcal{C}\mathcal{B}}(f)\, P .

ここで最後の等号に、いま示した MCC(idW)=Q1M_{\mathcal{C}'\mathcal{C}}(\mathrm{id}_W) = Q^{-1} を使いました。

注意 5.3相似 — 同じ写像の別の顔

V=WV = W で、定義域と値域に同じ基底を使う場合(C=B\mathcal{C} = \mathcal{B}C=B\mathcal{C}' = \mathcal{B}')は Q=PQ = P となり、変換則は

A=P1APA' = P^{-1} A P

という形になります。この関係にある 2 つの正方行列を相似であるといいます(相似の定義(定義 2.1)[対角化とジョルダン標準形])。相似な行列は「同じ線形変換を別の基底から眺めた姿」です。したがって相似で不変な量(後の章の行列式・跡・固有値・階数など)は写像そのものの性質であり、そうでない量は基底の選び方に依存する見かけの性質です。行列を扱うときは「これは写像の性質か、座標の性質か」と問うてください。

例 5.4射影 — 良い基底では対角行列になる

R2\mathbb{R}^2 で、直線 =span{a}\ell = \operatorname{span}\{\boldsymbol{a}\}a=(2,1)T\boldsymbol{a} = (2,1)^{\mathsf{T}})の上への、直線 span{b}\operatorname{span}\{\boldsymbol{b}\}b=(1,2)T\boldsymbol{b} = (-1,2)^{\mathsf{T}})に沿った射影 pp を考えます。a\boldsymbol{a}b\boldsymbol{b} は直交していて一次独立なので B=(a,b)\mathcal{B}' = (\boldsymbol{a}, \boldsymbol{b}) は基底です。pp は定義から p(a)=ap(\boldsymbol{a}) = \boldsymbol{a}p(b)=0p(\boldsymbol{b}) = \boldsymbol{0} を満たし、命題 2.1 の 2 によりこの 2 条件で一意に定まります。基底 B\mathcal{B}' に関する表現行列は、基底ベクトルの行き先を並べるだけで

A=MBB(p)=(1000)A' = M_{\mathcal{B}'\mathcal{B}'}(p) = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}

です。射影という操作の本質(片方の方向は残し、もう片方は潰す)が、そのまま見えています。

では標準基底 E\mathcal{E} での表現行列 A=MEE(p)A = M_{\mathcal{E}\mathcal{E}}(p) は何でしょうか。基底変換行列は、新しい基底 a,b\boldsymbol{a}, \boldsymbol{b} の標準座標を列に並べた

P=(2112),P1=15(2112)P = \begin{pmatrix} 2 & -1 \\ 1 & 2 \end{pmatrix}, \qquad P^{-1} = \frac{1}{5}\begin{pmatrix} 2 & 1 \\ -1 & 2 \end{pmatrix}

です(PP1=I2P P^{-1} = I_2 は直接計算で確かめられます)。注意 5.3 の式 A=P1APA' = P^{-1}APAA について解くと A=PAP1A = P A' P^{-1} なので

A=(2112)(1000)15(2112)=(2010)15(2112)=15(4221).A = \begin{pmatrix} 2 & -1 \\ 1 & 2\end{pmatrix}\begin{pmatrix} 1 & 0 \\ 0 & 0\end{pmatrix} \cdot \frac{1}{5}\begin{pmatrix} 2 & 1 \\ -1 & 2\end{pmatrix} = \begin{pmatrix} 2 & 0 \\ 1 & 0 \end{pmatrix}\cdot \frac{1}{5}\begin{pmatrix} 2 & 1 \\ -1 & 2\end{pmatrix} = \frac{1}{5}\begin{pmatrix} 4 & 2 \\ 2 & 1 \end{pmatrix}.

検算します。Aa=15(42+21,  22+11)T=15(10,5)T=(2,1)T=aA\boldsymbol{a} = \frac{1}{5}(4\cdot 2 + 2\cdot 1,\; 2\cdot 2 + 1\cdot 1)^{\mathsf{T}} = \frac{1}{5}(10, 5)^{\mathsf{T}} = (2,1)^{\mathsf{T}} = \boldsymbol{a}Ab=15(4+4,  2+2)T=0A\boldsymbol{b} = \frac{1}{5}(-4+4,\; -2+2)^{\mathsf{T}} = \boldsymbol{0} となり、確かに pp の表現行列です。

同じ写像が、良い基底では diag(1,0)\operatorname{diag}(1,0)、標準基底では分数の入った行列になりました。行列が複雑なのではなく、基底が写像に合っていないのです。写像に合った基底を探す作業が、固有値と固有ベクトル対角化とジョルダン標準形 の主題になります。

6. 連立一次方程式を Ax = b と読む

Section titled “6. 連立一次方程式を Ax = b と読む”

mm 個の一次方程式からなる nn 変数の連立一次方程式

{a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm\begin{cases} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1 \\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2 \\ \qquad\qquad\qquad \vdots \\ a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n = b_m \end{cases}

は、A=(aij)Mm,n(K)A = (a_{ij}) \in M_{m,n}(K)x=(x1,,xn)T\boldsymbol{x} = (x_1,\ldots,x_n)^{\mathsf{T}}b=(b1,,bm)T\boldsymbol{b} = (b_1,\ldots,b_m)^{\mathsf{T}} とおけば、定理 3.2 で定めた行列とベクトルの積を使って Ax=bA\boldsymbol{x} = \boldsymbol{b} と一行で書けます。AA係数行列AA の右に b\boldsymbol{b} を 1 列付け加えた m×(n+1)m \times (n+1) 行列 [Ab][A \mid \boldsymbol{b}]拡大係数行列といいます。

この一行の式には 3 通りの読み方があり、場面によって使い分けます。

読み方式の見方幾何的な意味
行で読む各行 jaijxj=bi\sum_j a_{ij}x_j = b_i を 1 本の式と見るKnK^n 内の mm 枚の超平面の共通部分を求める
列で読むx1a1++xnan=bx_1 \boldsymbol{a}_1 + \cdots + x_n \boldsymbol{a}_n = \boldsymbol{b}aj\boldsymbol{a}_jAA の第 jj 列)b\boldsymbol{b} を列ベクトルの一次結合で表せるか
写像で読むfA(x)=bf_A(\boldsymbol{x}) = \boldsymbol{b}fA(x)=Axf_A(\boldsymbol{x}) = A\boldsymbol{x}線形写像 fAf_A による b\boldsymbol{b} の逆像 fA1(b)f_A^{-1}(\boldsymbol{b}) を求める

高校までの「2 直線の交点」は行の読み方ですが、理論で強力なのは後の 2 つです。列の読み方が正しいことは積の定義から確かめられます。AxA\boldsymbol{x} の第 ii 成分 jaijxj\sum_j a_{ij}x_jjxjaj\sum_j x_j \boldsymbol{a}_j の第 ii 成分と同じだからです。つまり

Ax=x1a1+x2a2++xnanA\boldsymbol{x} = x_1\boldsymbol{a}_1 + x_2\boldsymbol{a}_2 + \cdots + x_n\boldsymbol{a}_n

がすべての x\boldsymbol{x} で成り立ちます。行列とベクトルの積は、列ベクトルの一次結合である。この一言は覚えておく価値があります。

ベクトル空間と線形変換 で線形写像の核と像を定義しました。行列 AMm,n(K)A \in M_{m,n}(K) に対しては、線形写像 fA:KnKmf_A : K^n \to K^m の核と像をそのまま AA の核・像と呼び、

KerA={xKn:Ax=0}Kn,ImA={Ax:xKn}Km\operatorname{Ker} A = \{\boldsymbol{x} \in K^n : A\boldsymbol{x} = \boldsymbol{0}\} \subseteq K^n, \qquad \operatorname{Im} A = \{A\boldsymbol{x} : \boldsymbol{x} \in K^n\} \subseteq K^m

と書きます。どちらも部分空間です(核と像の基本性質(命題 7.2)[ベクトル空間と線形変換] の特別な場合です)。上で示した一次結合の表示から

ImA=span{a1,,an}\operatorname{Im} A = \operatorname{span}\{\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n\}

すなわち像は AA の列ベクトルが張る部分空間(列空間)に一致します。この言葉で、可解性の問題は「bImA\boldsymbol{b} \in \operatorname{Im}A か」という 1 つの問いに集約されます。

命題 6.1解集合の構造

AMm,n(K)A \in M_{m,n}(K)bKm\boldsymbol{b} \in K^m とし、S={xKn:Ax=b}S = \{\boldsymbol{x} \in K^n : A\boldsymbol{x} = \boldsymbol{b}\} とおく。

  1. bImA\boldsymbol{b} \notin \operatorname{Im}A ならば S=S = \varnothing である。
  2. x0S\boldsymbol{x}_0 \in S が 1 つ存在すれば、S=x0+KerA:={x0+z:zKerA}S = \boldsymbol{x}_0 + \operatorname{Ker}A := \{\boldsymbol{x}_0 + \boldsymbol{z} : \boldsymbol{z} \in \operatorname{Ker}A\} である。
証明(命題 6.1)
  1. ImA\operatorname{Im}A の定義そのものです。SS \ne \varnothing なら、その元 x\boldsymbol{x} について b=AxImA\boldsymbol{b} = A\boldsymbol{x} \in \operatorname{Im}A となります。

  2. まず \supseteq を示します。zKerA\boldsymbol{z} \in \operatorname{Ker}A に対し、fAf_A の線形性から

A(x0+z)=Ax0+Az=b+0=bA(\boldsymbol{x}_0 + \boldsymbol{z}) = A\boldsymbol{x}_0 + A\boldsymbol{z} = \boldsymbol{b} + \boldsymbol{0} = \boldsymbol{b}

なので x0+zS\boldsymbol{x}_0 + \boldsymbol{z} \in S です。

次に \subseteq を示します。xS\boldsymbol{x} \in S とし z:=xx0\boldsymbol{z} := \boldsymbol{x} - \boldsymbol{x}_0 とおくと、線形性から Az=AxAx0=bb=0A\boldsymbol{z} = A\boldsymbol{x} - A\boldsymbol{x}_0 = \boldsymbol{b} - \boldsymbol{b} = \boldsymbol{0} なので zKerA\boldsymbol{z} \in \operatorname{Ker}A であり、x=x0+zx0+KerA\boldsymbol{x} = \boldsymbol{x}_0 + \boldsymbol{z} \in \boldsymbol{x}_0 + \operatorname{Ker}A です。

命題 6.1 は理論のほとんどを先取りしています。非斉次系の解集合は、空でない限り、斉次系の解集合(核)を特殊解 1 つ分だけ平行移動したものです。核は原点を通る部分空間、解集合はその平行移動(アフィン部分空間)です。

Ozx₀x₀ + zKer A(Ax = 0 の解)Ax = b の解集合
解集合は核を特殊解だけ平行移動したもの

図の状況では dimKerA=1\dim\operatorname{Ker}A = 1 なので、解は 1 次元分の自由度をもちます。核が {0}\{\boldsymbol{0}\} だけなら解は高々 1 つ、核が正の次元をもち解が 1 つでもあれば解は無限個です(KK が無限体のとき)。「解は 0 個・1 個・無限個のいずれか」という高校で習う事実は、核の次元の問題に還元されました。あとは核の次元を計算する手段、すなわちガウスの消去法です。

連立方程式を解くとき、私たちは「式を何倍かして別の式に足す」「式を入れ替える」といった操作をします。これが許されるのは解集合を変えないからです。同じ操作を拡大係数行列の行への操作として定式化し、どこまで簡単にできるかを突き詰めたのが掃き出し法です。

定義 7.1基本行変形と行同値

行列 AA に対する次の 3 種類の操作を基本行変形という。

  1. (型 I)第 pp 行と第 qq 行を入れ替える(pqp \ne q)。
  2. (型 II)第 pp 行を c0c \ne 0 倍する。
  3. (型 III)第 qq 行の cc 倍を第 pp 行に加える(pqp \ne qcKc \in K)。

AA に有限回の基本行変形を施して AA' が得られるとき、AAAA'行同値であるという。

補題 7.2基本行変形の三つの性質

AMm,n(K)A \in M_{m,n}(K) とし、AA に 1 回の基本行変形 oo を施した行列を o(A)o(A) と書く。

  1. Eo:=o(Im)E_o := o(I_m)(単位行列に同じ変形を施した行列。基本行列という)とおくと、任意の AMm,n(K)A \in M_{m,n}(K) に対し o(A)=EoAo(A) = E_o A が成り立つ。
  2. EoE_o は正則であり、その逆行列もまた基本行列である。したがって行同値な行列は、正則行列を左から掛けて移り合う。
  3. [Ab][A' \mid \boldsymbol{b}'][Ab][A \mid \boldsymbol{b}] と行同値ならば、Ax=bA\boldsymbol{x} = \boldsymbol{b}Ax=bA'\boldsymbol{x} = \boldsymbol{b}' の解集合は一致する。
証明(補題 7.2)
  1. 鍵になるのは次の観察です。任意の EMm(K)E \in M_m(K)AMm,n(K)A \in M_{m,n}(K) に対し、定義 4.1 より (EA)ij=k=1meikakj(EA)_{ij} = \sum_{k=1}^{m} e_{ik}a_{kj} なので、
EA の第 i 行=k=1meik(A の第 k 行)EA \text{ の第 } i \text{ 行} = \sum_{k=1}^{m} e_{ik}\,\bigl(A \text{ の第 } k \text{ 行}\bigr)

が成り立ちます。つまり左から行列を掛けると、各行が元の行の一次結合に置き換わり、その係数は掛ける行列の行に書かれているわけです。あとは 3 つの型それぞれで Eo=o(Im)E_o = o(I_m) の行を読めば済みます。

型 I では o(Im)o(I_m) の第 pp 行が ImI_m の第 qq 行(第 qq 成分だけが 11)なので、EoAE_oA の第 pp 行は AA の第 qq 行、第 qq 行は AA の第 pp 行、他は不変です。型 II では第 pp 行が「第 pp 成分が cc」なので EoAE_oA の第 pp 行は AA の第 pp 行の cc 倍。型 III では第 pp 行が「第 pp 成分が 11、第 qq 成分が cc」なので EoAE_oA の第 pp 行は(AA の第 pp 行)+c+ c \cdotAA の第 qq 行)。いずれも主張どおりです。

  1. 各基本行変形には、同じ型の逆変形があります。型 I の逆は同じ入れ替え、型 II(cc 倍)の逆は c1c^{-1} 倍(c0c \ne 0 だから可能)、型 III(第 qq 行の cc 倍を加える)の逆は第 qq 行の c-c 倍を加える操作です。この逆変形を oo' とし Eo=o(Im)E_{o'} = o'(I_m) とおくと、1 より
EoEo=Eo(EoIm)=o(o(Im))=ImE_{o'}E_o = E_{o'}\,\bigl(E_o I_m\bigr) = o'\bigl(o(I_m)\bigr) = I_m

です(ImI_moo を施してから oo' を施すと元に戻るため)。同様に EoEo=ImE_oE_{o'} = I_m なので EoE_o は正則で Eo1=EoE_o^{-1} = E_{o'} です。行同値なら A=EosEo1AA' = E_{o_s}\cdots E_{o_1}A と書け、正則行列の積は正則((EosEo1)1=Eo11Eos1(E_{o_s}\cdots E_{o_1})^{-1} = E_{o_1}^{-1}\cdots E_{o_s}^{-1})なので後半も従います。

  1. 1 回の基本行変形について示せば十分です(有限回の繰り返しは帰納法)。定義 4.1 の直後に述べた「積の第 jj 列は左の行列と右の行列の第 jj 列の積」より E[Ab]=[EAEb]E[A \mid \boldsymbol{b}] = [EA \mid E\boldsymbol{b}] ですから、A=EAA' = EAb=Eb\boldsymbol{b}' = E\boldsymbol{b}E=EoE = E_o)です。Ax=bA\boldsymbol{x} = \boldsymbol{b} なら両辺に左から EE を掛けて Ax=EAx=Eb=bA'\boldsymbol{x} = E A\boldsymbol{x} = E\boldsymbol{b} = \boldsymbol{b}'。逆に Ax=bA'\boldsymbol{x} = \boldsymbol{b}' なら、2 で示した正則性より両辺に E1E^{-1} を掛けて Ax=bA\boldsymbol{x} = \boldsymbol{b}。よって解集合は一致します。

3 が掃き出し法の正当性そのものです。どれだけ変形しても解集合は動かない。ならば読み取りやすい形まで変形してしまえばよい、というのが次の定義と定理です。

定義 7.3階段形と簡約階段形

行列 RR が次の 2 条件を満たすとき**(行)階段形**であるという。

  1. 零ベクトルでない行は、すべての零行より上にある。
  2. 零でない各行について、左端の 00 でない成分(その行の主成分、またはピボットという)の列番号は、行が下に進むにつれて真に増加する。

さらに次の 2 条件も満たすとき、RR簡約階段形であるという。

  1. すべてのピボットの値が 11 である。
  2. ピボットを含む列は、そのピボット以外の成分がすべて 00 である。

定理 7.4掃き出し法

任意の AMm,n(K)A \in M_{m,n}(K) は、有限回の基本行変形により簡約階段形に変形できる。さらに、AA と行同値な簡約階段形はただ 1 つに定まる。

証明(定理 7.4)

ここでは存在を、具体的な手続き(ガウス・ジョルダンの消去法)によって示します。一意性の証明は Appendix に回します。

作業行を表す変数 rr を用意し、r=1r = 1 から始めます。列 j=1,2,,nj = 1, 2, \ldots, n の順に、次を実行します。

  • r>mr > m ならば終了する。
  • jj 列の第 rr 行以下の成分がすべて 00 ならば、何もせず次の列へ進む。
  • そうでなければ、aij0a_{ij} \ne 0 となる iri \ge r を 1 つ選び、第 ii 行と第 rr 行を入れ替える(型 I)。次に第 rr 行を arj1a_{rj}^{-1} 倍して、(r,j)(r,j) 成分を 11 にする(型 II)。さらに、iri \ne r であるすべての行 ii から、第 rr 行の aija_{ij} 倍を引く(型 III)。これで第 jj 列は (r,j)(r,j) 成分だけが 11、他は 00 になる。rr11 増やして次の列へ進む。

各列を高々 1 回処理するので、高々 nn 段階、各段階は高々 m+1m+1 回の基本行変形で終わります。

出力が簡約階段形であることを確かめます。ピボットを立てるたびに rrjj がともに真に増えるので、ピボットの列番号は行が下がるにつれ真に増加します(条件 2)。ここで重要なのは、第 jj 列でピボットを立てるとき第 rr 行の第 1,,j11, \ldots, j-1 成分がすべて 00 である点です(00 でない成分があれば、その列を処理した段階でピボットが立っていたはずです)。したがって型 III で第 rr 行の定数倍を他の行に加えても、整えた左側は壊れません。終了時、ピボットのある行が上に並び残りは零行なので条件 1、正規化により条件 3、掃き出しにより条件 4 が成り立ちます。

注意 7.5一意性の証明の所在

定理 7.4 の一意性は、この記事の Appendix で証明します。ただし次節で階数を扱うために必要なのは「ピボットの個数が変形の仕方によらない」ことだけで、これは一意性を使わずに 定理 8.2 で独立に示されます。

例 7.6掃き出し法の実行

次の連立一次方程式を解きます。

{x1+2x2x3+3x4=12x1+4x2x3+8x4=5x12x2+2x3x4=2\begin{cases} x_1 + 2x_2 - x_3 + 3x_4 = 1 \\ 2x_1 + 4x_2 - x_3 + 8x_4 = 5 \\ -x_1 - 2x_2 + 2x_3 - x_4 = 2 \end{cases}

拡大係数行列は次のとおりです。

[Ab]=(121312418512212)[A \mid \boldsymbol{b}] = \left(\begin{array}{cccc|c} 1 & 2 & -1 & 3 & 1 \\ 2 & 4 & -1 & 8 & 5 \\ -1 & -2 & 2 & -1 & 2 \end{array}\right)

第 1 列のピボットは (1,1)(1,1) 成分の 11 です。第 2 行から第 1 行の 22 倍を引き、第 3 行に第 1 行を加えます(型 III を 2 回)。

(121310012300123)\longrightarrow \left(\begin{array}{cccc|c} 1 & 2 & -1 & 3 & 1 \\ 0 & 0 & 1 & 2 & 3 \\ 0 & 0 & 1 & 2 & 3 \end{array}\right)

第 2 列は第 2 行以下がすべて 00 なので、ピボットを立てずに飛ばします。第 3 列に移り、(2,3)(2,3) 成分の 11 をピボットとして、第 3 行から第 2 行を引き、第 1 行に第 2 行を加えます。

(120540012300000)\longrightarrow \left(\begin{array}{cccc|c} 1 & 2 & 0 & 5 & 4 \\ 0 & 0 & 1 & 2 & 3 \\ 0 & 0 & 0 & 0 & 0 \end{array}\right)

これが簡約階段形です。ピボットは第 1 列と第 3 列にあり、その個数は 22 です。ピボットのある列に対応する変数 x1,x3x_1, x_3従属変数、残りの x2,x4x_2, x_4自由変数と呼びます。補題 7.2 の 3 より、この行列が表す方程式

{x1+2x2+5x4=4x3+2x4=3\begin{cases} x_1 + 2x_2 + 5x_4 = 4 \\ x_3 + 2x_4 = 3 \end{cases}

の解集合は元の方程式の解集合と同じです。x2=sx_2 = sx4=tx_4 = t とおくと x1=42s5tx_1 = 4 - 2s - 5tx3=32tx_3 = 3 - 2t なので

x=(4030)+s(2100)+t(5021)(s,tR)\boldsymbol{x} = \begin{pmatrix} 4 \\ 0 \\ 3 \\ 0\end{pmatrix} + s\begin{pmatrix} -2 \\ 1 \\ 0 \\ 0\end{pmatrix} + t\begin{pmatrix} -5 \\ 0 \\ -2 \\ 1 \end{pmatrix} \qquad (s, t \in \mathbb{R})

が解の全体です。検算します。x0=(4,0,3,0)T\boldsymbol{x}_0 = (4,0,3,0)^{\mathsf{T}} は元の 3 式に代入して 43=14 - 3 = 183=58 - 3 = 54+6=2-4 + 6 = 2z1=(2,1,0,0)T\boldsymbol{z}_1 = (-2,1,0,0)^{\mathsf{T}}2+2=0-2+2 = 04+4=0-4+4 = 022=02-2 = 0z2=(5,0,2,1)T\boldsymbol{z}_2 = (-5,0,-2,1)^{\mathsf{T}}5+2+3=0-5+2+3 = 010+2+8=0-10+2+8 = 0541=05-4-1 = 0 でともに核に属します。

命題 6.1 の言葉でいえば、x0\boldsymbol{x}_0 が特殊解、{sz1+tz2}\{s\boldsymbol{z}_1 + t\boldsymbol{z}_2\} が核で、解集合は R4\mathbb{R}^4 内の 2 次元アフィン部分空間です。自由変数の個数 22 が核の次元、ピボットの個数 22 が次節で定義する階数になります。

前節の例では、ピボットの個数 22、自由変数の個数 22、そして 2+2=4=n2 + 2 = 4 = n という関係が現れました。これが偶然でないことを示すのが本節の目標です。まず、計算手続きに依存しない形で階数を定義します。

定義 8.1階数

AMm,n(K)A \in M_{m,n}(K) に対し、AA階数を像の次元

rankA:=dimImA=dimspan{a1,,an}\operatorname{rank} A := \dim \operatorname{Im} A = \dim \operatorname{span}\{\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n\}

で定める(aj\boldsymbol{a}_jAA の第 jj 列)。また、AAmm 個の行ベクトルが張る KnK^n の部分空間を行空間といい RowA\operatorname{Row}A と書く。

なぜピボットの個数ではなく像の次元を定義に採るのか。計算手続きを参照しない定義であり、かつ幾何的な意味が明快だからです。fAf_AKnK^nKmK^m 内の rankA\operatorname{rank}A 次元の部分空間へ写します。階数が小さいほど写像は空間を強く潰しており、rankA\operatorname{rank}AfAf_A を通り抜けて残る情報の次元だと言えます。以下、KmK^m の標準基底を ε1,,εm\boldsymbol{\varepsilon}_1, \ldots, \boldsymbol{\varepsilon}_m と書きます。

定理 8.2階数はピボットの個数であり、行階数に等しい

AMm,n(K)A \in M_{m,n}(K) とし、RRAA と行同値な簡約階段形の 1 つ、そのピボットの個数を rr とする。このとき

rankA=r=dimRowA\operatorname{rank} A = r = \dim \operatorname{Row} A

が成り立つ。特に rr は変形の仕方によらず、また列ベクトルの張る空間の次元(列階数)と行ベクトルの張る空間の次元(行階数)は一致する。

証明(定理 8.2)

補題 7.2 の 2 より、正則行列 PMm(K)P \in M_m(K) が存在して R=PAR = PA と書けます。

第 1 段(RR の階数)RR のピボットの位置を (1,j1),(2,j2),,(r,jr)(1, j_1), (2, j_2), \ldots, (r, j_r)j1<j2<<jrj_1 < j_2 < \cdots < j_r)とします。定義 7.3 の条件 3, 4 より、RR の第 jtj_t 列はちょうど εt\boldsymbol{\varepsilon}_t です。また第 r+1r+1 行以下は零行なので、RR のどの列も第 r+1r+1 成分以下が 00 であり、ε1,,εr\boldsymbol{\varepsilon}_1, \ldots, \boldsymbol{\varepsilon}_r の一次結合として書けます。よって ImR=span{ε1,,εr}\operatorname{Im}R = \operatorname{span}\{\boldsymbol{\varepsilon}_1, \ldots, \boldsymbol{\varepsilon}_r\} であり、ε1,,εr\boldsymbol{\varepsilon}_1,\ldots,\boldsymbol{\varepsilon}_r は一次独立ですから rankR=r\operatorname{rank}R = r です。

第 2 段(正則行列を掛けても階数は変わらない)Im(PA)={PAx:xKn}=P(ImA)\operatorname{Im}(PA) = \{PA\boldsymbol{x} : \boldsymbol{x} \in K^n\} = P\bigl(\operatorname{Im}A\bigr) です。写像 yPy\boldsymbol{y} \mapsto P\boldsymbol{y}yP1y\boldsymbol{y}\mapsto P^{-1}\boldsymbol{y} を逆写像にもつ線形同型です。同型は部分空間の次元を保ちます。実際、(v1,,vk)(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_k)ImA\operatorname{Im}A の基底とすると、Pv1,,PvkP\boldsymbol{v}_1, \ldots, P\boldsymbol{v}_kP(ImA)P(\operatorname{Im}A) を張り(P(ctvt)=ctPvtP(\sum c_t\boldsymbol{v}_t) = \sum c_t P\boldsymbol{v}_t による)、かつ一次独立です(tctPvt=0\sum_t c_t P\boldsymbol{v}_t = \boldsymbol{0} なら P(tctvt)=0P(\sum_t c_t \boldsymbol{v}_t) = \boldsymbol{0}PP は単射だから tctvt=0\sum_t c_t\boldsymbol{v}_t = \boldsymbol{0}、基底の一次独立性から ct=0c_t = 0)。よって rankA=rank(PA)=rankR=r\operatorname{rank}A = \operatorname{rank}(PA) = \operatorname{rank}R = r です。rr が変形の仕方によらないのは、rankA\operatorname{rank}AAA だけで決まる量だからです。

第 3 段(行空間)補題 7.2 の 1 より EAEA の各行は AA の行の一次結合なので Row(EA)Row(A)\operatorname{Row}(EA) \subseteq \operatorname{Row}(A) です。EE は正則で A=E1(EA)A = E^{-1}(EA) ですから、同じ議論を E1E^{-1} に適用して Row(A)Row(EA)\operatorname{Row}(A) \subseteq \operatorname{Row}(EA)、すなわち等号が成り立ちます。これを繰り返して RowA=RowR\operatorname{Row}A = \operatorname{Row}R を得ます。

RR の零でない行を ρ1,,ρr\boldsymbol{\rho}_1, \ldots, \boldsymbol{\rho}_r とすると、零行は和に寄与しないのでこれらは RowR\operatorname{Row}R を張ります。一次独立性を見ます。t=1rctρt=0\sum_{t=1}^{r} c_t \boldsymbol{\rho}_t = \boldsymbol{0} とし、この等式の第 juj_u 成分(uu11 から rr のいずれか)を取ると、第 1 段で見たように RR の第 juj_u 列は εu\boldsymbol{\varepsilon}_u なので ρt\boldsymbol{\rho}_t の第 juj_u 成分は t=ut = u のとき 11、それ以外は 00 です。したがって第 juj_u 成分は cuc_u に等しく、cu=0c_u = 0 が全ての uu で従います。ゆえに dimRowA=dimRowR=r\dim\operatorname{Row}A = \dim\operatorname{Row}R = r です。

行階数と列階数の一致は、よく考えると不思議な主張です。AA の列は KmK^m の、行は KnK^n のベクトルで、住む空間が違います。それでも張る空間の次元だけは必ず一致する。両者を結んでいるのは「簡約階段形のピボットの個数」という共通の中継点です。

定理 8.3次元定理

AMm,n(K)A \in M_{m,n}(K) に対し

dimKerA+rankA=n\dim \operatorname{Ker} A + \operatorname{rank} A = n

が成り立つ。

証明(定理 8.3)

RRAA と行同値な簡約階段形とし、ピボットの列番号を j1<<jrj_1 < \cdots < j_r、それ以外の列番号の集合(自由変数の添字集合)を FF とします。F=nr|F| = n - r です。定理 8.2 より rankA=r\operatorname{rank}A = r なので、dimKerA=nr\dim\operatorname{Ker}A = n - r を示せば十分です。

まず KerA=KerR\operatorname{Ker}A = \operatorname{Ker}R です。これは 補題 7.2 の 3 を b=0\boldsymbol{b} = \boldsymbol{0} に適用すれば従います(基本行変形で 0\boldsymbol{0}0\boldsymbol{0} のままです)。

次に、射影 π:KnKnr\pi : K^n \to K^{n-r}π(x)=(xk)kF\pi(\boldsymbol{x}) = (x_k)_{k \in F}(自由変数の成分だけを取り出す写像)の KerR\operatorname{Ker}R への制限を考えます。π\pi は線形写像の制限なので線形です。これが同型であることを示します。

RR の第 tt 行(1tr1 \le t \le r)が定める方程式は、定義 7.3 の条件 3, 4 より

xjt+kF,  k>jtrtkxk=0x_{j_t} + \sum_{k \in F,\; k > j_t} r_{tk}\,x_k = 0

の形をしています(jtj_t より左の成分は階段形の条件から 00、他のピボット列の成分は条件 4 から 00)。第 r+1r+1 行以下は零行なので何の条件も課しません。

単射性: xKerR\boldsymbol{x} \in \operatorname{Ker}Rπ(x)=0\pi(\boldsymbol{x}) = \boldsymbol{0}、すなわちすべての自由変数の成分が 00 を満たすとすると、上の式から xjt=0x_{j_t} = 0 がすべての tt について従い、x=0\boldsymbol{x} = \boldsymbol{0} です。

全射性: (ck)kFKnr(c_k)_{k\in F} \in K^{n-r} を任意に取り、x\boldsymbol{x} を「kFk \in F に対し xk=ckx_k = c_kxjt=kF,k>jtrtkckx_{j_t} = -\sum_{k \in F, k > j_t} r_{tk}c_k」で定めると、RR のすべての行の方程式が満たされるので xKerR\boldsymbol{x} \in \operatorname{Ker}R であり、π(x)=(ck)kF\pi(\boldsymbol{x}) = (c_k)_{k\in F} です。

よって KerA=KerRKnr\operatorname{Ker}A = \operatorname{Ker}R \cong K^{n-r} で、dimKerA=nr\dim\operatorname{Ker}A = n - r です。

次元定理は「潰れた分 + 残った分 = 元の次元」と読めます(抽象的なベクトル空間についての 次元定理(定理 7.3)[ベクトル空間と線形変換] を、行列の言葉で述べ直したものです)。fAf_AKnK^ndimKerA\dim\operatorname{Ker}A 次元分を原点へ潰し、残りを像に忠実に写します。例 7.6 では n=4n = 4r=2r = 2、自由変数 2 個で 2+2=42 + 2 = 4 でした。

定理 8.4可解条件と解の個数

AMm,n(K)A \in M_{m,n}(K)bKm\boldsymbol{b} \in K^m とする。

  1. Ax=bA\boldsymbol{x} = \boldsymbol{b} が解をもつことと rankA=rank[Ab]\operatorname{rank}A = \operatorname{rank}[A \mid \boldsymbol{b}] は同値である。解をもたないときは rank[Ab]=rankA+1\operatorname{rank}[A\mid\boldsymbol{b}] = \operatorname{rank}A + 1 である。
  2. 解をもつとき、解集合は nrankAn - \operatorname{rank}A 次元のアフィン部分空間 x0+KerA\boldsymbol{x}_0 + \operatorname{Ker}A である。特に解がただ 1 つであることと rankA=n\operatorname{rank}A = n は同値である。
  3. すべての bKm\boldsymbol{b} \in K^m に対して解をもつことと rankA=m\operatorname{rank}A = m は同値である。
証明(定理 8.4)
  1. Ax=bA\boldsymbol{x} = \boldsymbol{b} が解をもつことは、定義から bImA\boldsymbol{b} \in \operatorname{Im}A と同値です。一方 [Ab][A\mid\boldsymbol{b}] の列は a1,,an,b\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n, \boldsymbol{b} なので、定義 8.1 より Im[Ab]=span{a1,,an,b}\operatorname{Im}[A\mid\boldsymbol{b}] = \operatorname{span}\{\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n,\boldsymbol{b}\}、すなわち ImA\operatorname{Im}Ab\boldsymbol{b} を付け加えて張った空間です。

bImA\boldsymbol{b} \in \operatorname{Im}A の場合、b\boldsymbol{b} を付け加えても張る空間は増えないので Im[Ab]=ImA\operatorname{Im}[A\mid\boldsymbol{b}] = \operatorname{Im}A、両者の次元は等しくなります。

bImA\boldsymbol{b} \notin \operatorname{Im}A の場合、ImA\operatorname{Im}A の基底 (v1,,vs)(\boldsymbol{v}_1,\ldots,\boldsymbol{v}_s)s=rankAs = \operatorname{rank}A)に b\boldsymbol{b} を加えた組は一次独立です。実際 cb+tctvt=0c\boldsymbol{b} + \sum_t c_t\boldsymbol{v}_t = \boldsymbol{0}c0c \ne 0 なら b=c1tctvtImA\boldsymbol{b} = -c^{-1}\sum_t c_t \boldsymbol{v}_t \in \operatorname{Im}A となって仮定に反するので c=0c = 0、すると基底の一次独立性から ct=0c_t = 0 です。この s+1s+1 個のベクトルは Im[Ab]\operatorname{Im}[A\mid\boldsymbol{b}] を張るので、rank[Ab]=s+1=rankA+1\operatorname{rank}[A\mid\boldsymbol{b}] = s + 1 = \operatorname{rank}A + 1 です。

以上より、解をもつ場合と階数が一致する場合が過不足なく対応します。

  1. 前半は 命題 6.1 の 2 と 定理 8.3 から従います。解がただ 1 つであることは KerA={0}\operatorname{Ker}A = \{\boldsymbol{0}\}、すなわち dimKerA=0\dim\operatorname{Ker}A = 0 と同値で、定理 8.3 よりこれは rankA=n\operatorname{rank}A = n と同値です。

  2. すべての b\boldsymbol{b} に対して解をもつことは ImA=Km\operatorname{Im}A = K^m と同値です。ImAKm\operatorname{Im}A \subseteq K^m なので、これは dimImA=m\dim\operatorname{Im}A = m と同値です。実際、次元が等しい部分空間は全体と一致します(ImA\operatorname{Im}A の基底は KmK^m の一次独立な mm 個の組であり、mm 次元空間ではそれ自体が基底になるからです)。

定理 8.4 の内容を表にまとめておきます。実際の判定は、拡大係数行列を 1 回だけ簡約階段形に直せば、rankA\operatorname{rank}Arank[Ab]\operatorname{rank}[A\mid\boldsymbol{b}] が同時に読み取れるので済みます。

階数の比較解の様子
rankA<rank[Ab]\operatorname{rank}A < \operatorname{rank}[A \mid \boldsymbol{b}]解なし(不能)
rankA=rank[Ab]=n\operatorname{rank}A = \operatorname{rank}[A \mid \boldsymbol{b}] = n解がただ 1 つ
rankA=rank[Ab]<n\operatorname{rank}A = \operatorname{rank}[A \mid \boldsymbol{b}] < n解は nrankAn - \operatorname{rank}A 次元の自由度をもつ

例 8.5解をもたない例

例 7.6 と同じ係数行列 AA に対し、右辺だけを b=(1,5,3)T\boldsymbol{b}' = (1, 5, 3)^{\mathsf{T}} に変えます。同じ手順で消去すると

(121312418512213)(121310012300124)(121310012300001)\left(\begin{array}{cccc|c} 1 & 2 & -1 & 3 & 1 \\ 2 & 4 & -1 & 8 & 5 \\ -1 & -2 & 2 & -1 & 3 \end{array}\right) \longrightarrow \left(\begin{array}{cccc|c} 1 & 2 & -1 & 3 & 1 \\ 0 & 0 & 1 & 2 & 3 \\ 0 & 0 & 1 & 2 & 4 \end{array}\right) \longrightarrow \left(\begin{array}{cccc|c} 1 & 2 & -1 & 3 & 1 \\ 0 & 0 & 1 & 2 & 3 \\ 0 & 0 & 0 & 0 & 1 \end{array}\right)

となります。最後の行は 0=10 = 1 という式で、これを満たす x\boldsymbol{x} はありません。階数で見ると、AA の側のピボットは 2 個で rankA=2\operatorname{rank}A = 2、拡大係数行列のピボットは第 1・第 3・第 5 列の 3 個で rank[Ab]=3\operatorname{rank}[A\mid\boldsymbol{b}'] = 3 です。定理 8.4 の 1 のとおり階数が食い違い、解はありません。

幾何的には、b\boldsymbol{b}' が列空間 ImA\operatorname{Im}AR3\mathbb{R}^3 内の 2 次元平面)から外れているということです。b=(1,5,2)T\boldsymbol{b} = (1,5,2)^{\mathsf{T}} はこの平面上にあり、b=(1,5,3)T\boldsymbol{b}' = (1,5,3)^{\mathsf{T}} はわずかに外れている。解けるかどうかは、右辺が平面に載っているかだけで決まります。

注意 8.6未知数が式より多いとき

n>mn > m ならば、斉次系 Ax=0A\boldsymbol{x} = \boldsymbol{0} は必ず自明でない解をもちます。実際 ImAKm\operatorname{Im}A \subseteq K^m より rankAm\operatorname{rank}A \le m なので、定理 8.3 から

dimKerA=nrankAnm>0\dim\operatorname{Ker}A = n - \operatorname{rank}A \ge n - m > 0

となり、核は {0}\{\boldsymbol{0}\} より大きいからです。「式の本数より未知数が多ければ解は決まらない」という直観が、次元の不等式として正確に述べられました。

注意 8.7数値計算での注意

理論上は 00 でないピボットならどれを選んでも構いませんが、浮動小数点数で計算する場合は選び方が結果を左右します。たとえば

(1020111)(x1x2)=(12)\begin{pmatrix} 10^{-20} & 1 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} x_1 \\ x_2\end{pmatrix} = \begin{pmatrix} 1 \\ 2 \end{pmatrix}

(1,1)(1,1) 成分をピボットに選ぶと、第 2 行から第 1 行の 102010^{20} 倍を引くことになり、110201 - 10^{20}210202 - 10^{20} を倍精度で計算した時点で下位の情報が失われ、答えが大きく狂います。行を入れ替えて絶対値最大の成分をピボットに選べば(部分ピボット選択)避けられます。実用の実装はこの工夫を組み込んだ LU 分解で、nn 次正方行列の演算量はおよそ 23n3\frac{2}{3}n^3 回の乗除算です(Golub–Van Loan)。

注意 8.8データサイエンスとのつながり

実データの解析では、式の本数が未知数より多い過剰決定系m>nm > n)がほとんどです。b\boldsymbol{b} が列空間に載る保証はなく、定理 8.4 の意味では通常「解なし」です。そこで残差 Axb\lVert A\boldsymbol{x} - \boldsymbol{b}\rVert を最小にする x\boldsymbol{x} を探すのが最小二乗法で、これは b\boldsymbol{b} を列空間へ正射影する操作です。長さと直交性が要るので、舞台は 内積空間とグラム・シュミット直交化 に移ります(最小二乗法 — 直線あてはめ(例 7.5)[内積空間とグラム・シュミット直交化])。

NN 個のサンプルを行に並べ、各特徴量の平均を引いたデータ行列 XMN,d(R)X \in M_{N,d}(\mathbb{R}) では、rankX\operatorname{rank}X がデータの実質的な広がりの次元です。主成分分析は共分散行列 1NXTX\frac{1}{N}X^{\mathsf{T}}X を対角化する正規直交基底を選ぶ手続きで、例 5.4 の「写像に合った基底では行列が対角になる」がそのまま応用として現れます。裏づけは 固有値と固有ベクトルスペクトル定理(対称行列が正規直交基底で対角化できることは 実対称行列の直交対角化(系 4.3)[スペクトル定理] が保証します)、正則性を 1 つの数で判定する道具は次章の 行列式とその性質正則性の判定(定理 7.1)[行列式とその性質] にあります。

演習 9.1

P2P_2 を次数 22 以下の実係数多項式全体、B=(1,x,x2)\mathcal{B} = (1, x, x^2) をその基底とする。線形写像 T:P2P2T : P_2 \to P_2(Tp)(x)=p(x+1)(Tp)(x) = p(x+1) で定める。

  1. TTB\mathcal{B} に関する表現行列 A=MBB(T)A = M_{\mathcal{B}\mathcal{B}}(T) を求めよ。
  2. A2A^2 を計算し、それが (T2p)(x)=p(x+2)(T^2 p)(x) = p(x+2) の表現行列に一致することを確かめよ。
解答
  1. 定義 3.1 に従い、基底の行き先を B\mathcal{B} で展開します。
T(1)=1,T(x)=x+1=1+x,T(x2)=(x+1)2=1+2x+x2.T(1) = 1, \qquad T(x) = x + 1 = 1 + x, \qquad T(x^2) = (x+1)^2 = 1 + 2x + x^2 .

係数を列に並べて

A=(111012001).A = \begin{pmatrix} 1 & 1 & 1 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{pmatrix}.
  1. 定義 4.1 に従って計算します。第 1 行は (1,1,1)(1,1,1) と各列の積で (1,  1+1,  1+2+1)=(1,2,4)(1,\; 1+1,\; 1+2+1) = (1,2,4)、第 2 行は (0,1,2)(0,1,2) と各列の積で (0,  1,  2+2)=(0,1,4)(0,\; 1,\; 2 + 2) = (0,1,4)、第 3 行は (0,0,1)(0,0,1) と各列の積で (0,0,1)(0,0,1) です。よって
A2=(124014001).A^2 = \begin{pmatrix} 1 & 2 & 4 \\ 0 & 1 & 4 \\ 0 & 0 & 1\end{pmatrix}.

一方 T2=TTT^2 = T \circ T(T2p)(x)=(Tp)(x+1)=p(x+2)(T^2p)(x) = (Tp)(x+1) = p(x+2) なので、基底の行き先は 111 \mapsto 1xx+2x \mapsto x + 2x2(x+2)2=4+4x+x2x^2 \mapsto (x+2)^2 = 4 + 4x + x^2 です。これを列に並べると上の A2A^2 に一致します。定理 4.2 の主張どおりです。

演習 9.2標準

R2\mathbb{R}^2 の線形変換 ff

f(11)=(31),f(11)=(13)f\begin{pmatrix} 1 \\ 1\end{pmatrix} = \begin{pmatrix} 3 \\ 1 \end{pmatrix}, \qquad f\begin{pmatrix} 1 \\ -1\end{pmatrix} = \begin{pmatrix} 1 \\ 3 \end{pmatrix}

を満たすとする。p1=(1,1)T\boldsymbol{p}_1 = (1,1)^{\mathsf{T}}p2=(1,1)T\boldsymbol{p}_2 = (1,-1)^{\mathsf{T}}B=(p1,p2)\mathcal{B}' = (\boldsymbol{p}_1, \boldsymbol{p}_2)E\mathcal{E} を標準基底とする。

  1. A=MBB(f)A' = M_{\mathcal{B}'\mathcal{B}'}(f) を求めよ。
  2. A=MEE(f)A = M_{\mathcal{E}\mathcal{E}}(f) を求め、A=P1APA' = P^{-1}APPPB\mathcal{B}' から E\mathcal{E} への基底変換行列)が成り立つことを確かめよ。
解答

p1,p2\boldsymbol{p}_1, \boldsymbol{p}_2 は一次独立(一方が他方のスカラー倍でない)なので B\mathcal{B}' は基底であり、命題 2.1 の 2 より与えられた 2 条件で ff は一意に定まります。

  1. 行き先を B\mathcal{B}' で展開します。(3,1)T=ap1+bp2(3,1)^{\mathsf{T}} = a\boldsymbol{p}_1 + b\boldsymbol{p}_2 とすると a+b=3a + b = 3ab=1a - b = 1 より a=2a = 2b=1b = 1(1,3)T=ap1+bp2(1,3)^{\mathsf{T}} = a\boldsymbol{p}_1 + b\boldsymbol{p}_2 とすると a+b=1a+b = 1ab=3a - b = 3 より a=2a = 2b=1b = -1。よって
A=(2211).A' = \begin{pmatrix} 2 & 2 \\ 1 & -1 \end{pmatrix}.
  1. e1=12(p1+p2)\boldsymbol{e}_1 = \frac{1}{2}(\boldsymbol{p}_1 + \boldsymbol{p}_2)e2=12(p1p2)\boldsymbol{e}_2 = \frac{1}{2}(\boldsymbol{p}_1 - \boldsymbol{p}_2) なので、線形性から
f(e1)=12((3,1)T+(1,3)T)=(2,2)T,f(e2)=12((3,1)T(1,3)T)=(1,1)T.f(\boldsymbol{e}_1) = \tfrac{1}{2}\bigl((3,1)^{\mathsf{T}} + (1,3)^{\mathsf{T}}\bigr) = (2,2)^{\mathsf{T}}, \qquad f(\boldsymbol{e}_2) = \tfrac{1}{2}\bigl((3,1)^{\mathsf{T}} - (1,3)^{\mathsf{T}}\bigr) = (1,-1)^{\mathsf{T}} .

よって A=(2121)A = \begin{pmatrix} 2 & 1 \\ 2 & -1\end{pmatrix} です。

基底変換行列は p1,p2\boldsymbol{p}_1, \boldsymbol{p}_2 の標準座標を列に並べた P=(1111)P = \begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix} で、P2=2I2P^2 = 2I_2 より P1=12PP^{-1} = \frac{1}{2}P です。実際に計算すると

AP=(2121)(1111)=(3113),P1(AP)=12(1111)(3113)=12(4422)=(2211)AP = \begin{pmatrix} 2 & 1 \\ 2 & -1\end{pmatrix}\begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix} = \begin{pmatrix} 3 & 1 \\ 1 & 3\end{pmatrix}, \qquad P^{-1}(AP) = \frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix}\begin{pmatrix} 3 & 1 \\ 1 & 3\end{pmatrix} = \frac{1}{2}\begin{pmatrix} 4 & 4 \\ 2 & -2\end{pmatrix} = \begin{pmatrix} 2 & 2 \\ 1 & -1\end{pmatrix}

となり、1 で求めた AA' に一致します。定理 5.2 の確認になっています。

演習 9.3標準

実数の定数 a,ca, c を含む連立一次方程式

{x+y+z=1x+2y+3z=2x+3y+az=c\begin{cases} x + y + z = 1 \\ x + 2y + 3z = 2 \\ x + 3y + az = c \end{cases}

について、係数行列 AA と拡大係数行列の階数を a,ca, c で場合分けして求め、解の個数を分類せよ。解が存在する場合は解を具体的に書け。

解答

拡大係数行列に基本行変形を施します。第 2 行から第 1 行を引き、第 3 行から第 1 行を引きます。

(1111123213ac)(1111012102a1c1)(1111012100a5c3)\left(\begin{array}{ccc|c} 1&1&1&1 \\ 1&2&3&2 \\ 1&3&a&c\end{array}\right) \longrightarrow \left(\begin{array}{ccc|c} 1&1&1&1 \\ 0&1&2&1 \\ 0&2&a-1&c-1\end{array}\right) \longrightarrow \left(\begin{array}{ccc|c} 1&1&1&1 \\ 0&1&2&1 \\ 0&0&a-5&c-3\end{array}\right)

最後は第 3 行から第 2 行の 22 倍を引きました。補題 7.2 の 3 より、解集合は変わっていません。

(i) a5a \ne 5 のとき。 第 3 行のピボットが (3,3)(3,3) に立つので rankA=rank[Ab]=3=n\operatorname{rank}A = \operatorname{rank}[A\mid\boldsymbol{b}] = 3 = n となり、定理 8.4 の 2 より解はただ 1 つです。下から順に解くと z=c3a5z = \dfrac{c-3}{a-5}y=12zy = 1 - 2zx=1yz=zx = 1 - y - z = z なので

(x,y,z)=(c3a5,  12(c3)a5,  c3a5).(x, y, z) = \left(\frac{c-3}{a-5},\; 1 - \frac{2(c-3)}{a-5},\; \frac{c-3}{a-5}\right).

たとえば a=6,c=4a = 6, c = 4 なら (1,1,1)(1, -1, 1) で、実際 11+1=11 - 1 + 1 = 112+3=21 - 2 + 3 = 213+6=41 - 3 + 6 = 4 と 3 式すべてを満たします。

(ii) a=5a = 5c3c \ne 3 のとき。 第 3 行は (0,0,0c3)(0, 0, 0 \mid c - 3)c30c - 3 \ne 0 ですから、rankA=2\operatorname{rank}A = 2rank[Ab]=3\operatorname{rank}[A\mid\boldsymbol{b}] = 3 です。定理 8.4 の 1 より解は存在しません。

(iii) a=5a = 5c=3c = 3 のとき。 第 3 行は零行なので rankA=rank[Ab]=2<3=n\operatorname{rank}A = \operatorname{rank}[A\mid\boldsymbol{b}] = 2 < 3 = n で、解は 32=13 - 2 = 1 次元の自由度をもちます。z=tz = t を自由変数として y=12ty = 1 - 2tx=1yz=tx = 1 - y - z = t なので

(x,y,z)=(0,1,0)+t(1,2,1)(tR).(x,y,z) = (0,1,0) + t\,(1,-2,1) \qquad (t \in \mathbb{R}).

第 3 式で確かめると x+3y+5z=t+36t+5t=3=cx + 3y + 5z = t + 3 - 6t + 5t = 3 = c となり成立します。(0,1,0)(0,1,0) が特殊解、span{(1,2,1)T}\operatorname{span}\{(1,-2,1)^{\mathsf{T}}\} が核で、命題 6.1 の形になっています。

演習 9.4

AMm,n(K)A \in M_{m,n}(K)BMn,p(K)B \in M_{n,p}(K) とする。

rank(AB)min{rankA,  rankB}\operatorname{rank}(AB) \le \min\{\operatorname{rank}A,\; \operatorname{rank}B\}

を示せ。また、等号が成り立たない例を挙げよ。

解答

rank(AB)rankA\operatorname{rank}(AB) \le \operatorname{rank}A。任意の xKp\boldsymbol{x} \in K^p に対し (AB)x=A(Bx)(AB)\boldsymbol{x} = A(B\boldsymbol{x}) です(系 4.3 の結合法則、あるいは BxB\boldsymbol{x} を 1 列の行列と見て積の定義から)。よって Im(AB)ImA\operatorname{Im}(AB) \subseteq \operatorname{Im}A であり、部分空間の包含は次元の不等号を与えるので rank(AB)rankA\operatorname{rank}(AB) \le \operatorname{rank}A です。

rank(AB)rankB\operatorname{rank}(AB) \le \operatorname{rank}BBx=0B\boldsymbol{x} = \boldsymbol{0} ならば (AB)x=A0=0(AB)\boldsymbol{x} = A\boldsymbol{0} = \boldsymbol{0} なので KerBKer(AB)\operatorname{Ker}B \subseteq \operatorname{Ker}(AB)、したがって dimKerBdimKer(AB)\dim\operatorname{Ker}B \le \dim\operatorname{Ker}(AB) です。ABMm,p(K)AB \in M_{m,p}(K)BMn,p(K)B \in M_{n,p}(K) はともに列数が pp なので、定理 8.3 を両方に適用して

rank(AB)=pdimKer(AB)pdimKerB=rankB.\operatorname{rank}(AB) = p - \dim\operatorname{Ker}(AB) \le p - \dim\operatorname{Ker}B = \operatorname{rank}B .

等号が成り立たない例A=(0100)A = \begin{pmatrix} 0 & 1 \\ 0 & 0\end{pmatrix}B=(0100)B = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} とすると rankA=rankB=1\operatorname{rank}A = \operatorname{rank}B = 1(列空間はともに span{(1,0)T}\operatorname{span}\{(1,0)^{\mathsf{T}}\})ですが、AB=OAB = O なので rank(AB)=0\operatorname{rank}(AB) = 0 です。BB の像が AA の核に含まれているため、2 段目でつぶれるわけです。

  • 齋藤正彦『線型代数入門』東京大学出版会、1966 — 第 1 章・第 2 章。連立一次方程式と行列の基本変形を、日本語の標準的な流儀で丁寧に扱っています。
  • 佐武一郎『線型代数学』裳華房、1958(新装版 2015)— 第 I 章・第 II 章。行列を線形写像の表現として扱う立場が明確です。
  • S. Axler, Linear Algebra Done Right, 4th ed., Springer, 2024 — Chapter 3 (Linear Maps). 行列式を使わずに線形写像から出発する構成で、表現行列と次元定理の位置づけが明快です。オープンアクセス版が linear.axler.net で公開されています。
  • G. Strang, Introduction to Linear Algebra, 5th ed., Wellesley-Cambridge Press, 2016 — 第 2 章・第 3 章。「列で読む」立場と四つの基本部分空間の説明が充実しています。講義は MIT OpenCourseWare 18.06 で公開されています。
  • G. H. Golub and C. F. Van Loan, Matrix Computations, 4th ed., Johns Hopkins University Press, 2013 — Chapter 3 (General Linear Systems). ピボット選択と数値的安定性、演算量の議論はここに詳しくあります。
  • A. Cayley, “A Memoir on the Theory of Matrices”, Philosophical Transactions of the Royal Society of London 148 (1858), 17–37. 行列の積を一次変換の合成として定めた原論文です。

定理 7.4 のうち、まだ証明していない一意性を示します。主張は AMm,n(K)A \in M_{m,n}(K) と行同値な簡約階段形はただ 1 つである というものです。消去の途中でどの行を選び、どの順に掃き出すかには任意性がありますが、最終形は AA だけで決まります。

方針。 R,RR, R' をともに AA と行同値な簡約階段形とします。補題 7.2 の 3(b=0\boldsymbol{b} = \boldsymbol{0} の場合)より KerR=KerA=KerR\operatorname{Ker}R = \operatorname{Ker}A = \operatorname{Ker}R' です。そこで 簡約階段形の行列はその核だけから復元できる ことを示せば、R=RR = R' が従います。以下 N=KerRN = \operatorname{Ker}R と書き、RR のピボット列を j1<<jrj_1 < \cdots < j_r、自由変数の添字集合を FF とします。

第 1 段: ピボット列の位置は核から決まる。jj 列がピボット列でないことは、「zj=1z_j = 1 かつ第 j+1j+1 成分以降がすべて 00 である zN\boldsymbol{z} \in N が存在すること」と同値です。

実際、jFj \in F なら、定理 8.3 の証明の全射性の構成で「xj=1x_j = 1、他の自由変数は 00」と指定して得られる zN\boldsymbol{z} \in N がこの条件を満たします。jj より右の成分は、自由変数なら 00 と指定され、ピボット変数 xjtx_{j_t}jt>jj_t > j)についてはその行の式 xjt+kF,k>jtrtkxk=0x_{j_t} + \sum_{k \in F,\, k > j_t} r_{tk}x_k = 0 の右側の自由変数がすべて 00 だから xjt=0x_{j_t} = 0 となるためです。逆にそのような z\boldsymbol{z} があって第 jj 列がピボット列(ピボットは第 tt 行)だとすると、Rz=0R\boldsymbol{z} = \boldsymbol{0} の第 tt 行は zj+k>jrtkzk=0z_j + \sum_{k > j} r_{tk}z_k = 0 ですが、zj=1z_j = 1 かつ k>jk > jzk=0z_k = 0 なので 1=01 = 0 となり矛盾です。この条件は NN だけで書かれているので、KerR=KerR\operatorname{Ker}R = \operatorname{Ker}R' ならピボット列の位置は完全に一致します。

第 2 段: 成分も核から決まる。 ピボット列が一致したとします。定義 7.3 の条件 3, 4 より RR の第 jtj_t 列は εt\boldsymbol{\varepsilon}_t で、RR' でも同じです。残るのは自由変数の列です。

jFj \in F とし、zN\boldsymbol{z} \in N を「zj=1z_j = 1、他の自由変数の成分はすべて 00」を満たすものとします。これは NN の中でただ 1 つです。2 つあればその差は NN に属して自由変数の成分がすべて 00 ですから、定理 8.3 の証明の単射性により差は 0\boldsymbol{0} だからです。つまり z\boldsymbol{z}NNjj だけで決まります。一方 Rz=0R\boldsymbol{z} = \boldsymbol{0} の第 tt 行は、他の自由変数の成分が 00、他のピボット列の成分が条件 4 により 00 なので zjt+rtjzj=0z_{j_t} + r_{tj}z_j = 0、すなわち rtj=zjtr_{tj} = -z_{j_t} です。第 r+1r+1 成分以下は零行なので 00RR' にも同じ式が成り立ち z\boldsymbol{z} は共通ですから、第 jj 列は一致します。

以上でピボット列も自由変数の列も一致し、R=RR = R' が示されました。この一意性により、簡約階段形は行列の標準形として意味をもちます。2 つの行列が行同値であることと簡約階段形が一致することは同値です。なお簡約でない階段形は一意ではなく(第 2 行を 22 倍しても階段形のまま)、一意性には条件 3 と 4 の正規化が要ります。

この記事の誤りを報告する ・運営: 夢現技研合同会社料金プラン利用条件特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・本文の LLM への入力は自由です。コード例は MIT ライセンスです。