解を持つための条件
この章では、連立一次方程式の解法について考察します。
はじめに、連立一次方程式を行列により表す方法について再整理して、係数拡大行列という概念を導入した上で、連立一次方程式が解を持つための条件を示します。
係数拡大行列の導入#
連立一次方程式の行列による表現#
n 個の変数 x1,x2,⋯,xn についての m 個の式からなる、次のような連立一次方程式について考えます。
⎩⎨⎧a11x1a21x1am1x1+a12x2+a22x2+am2x2+⋯+⋯⋮+⋯+a1nxn+a2nxn+amnxn=b1=b2=bm(5.1.1) いま、行列 A と列ベクトル x,b を次のように置くと、
A=a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn,x=x1x2⋮xn,b=b1b2⋮bm 連立一次方程式(5.1.1)式は、次のように簡単に表すことができます。
Ax=b(5.1.2) 係数行列#
ここで A は m×n 行列であり、x は n 項列ベクトル、b は m 項列ベクトルです。A を特に係数行列(coefficient matrix)といいます。
ここまでの内容は、クラメルの公式や基底と次元の準備において既に導入した、連立一次方程式を行列を用いて表す方法を再整理したものです。
係数拡大行列#
上記を踏まえて、係数拡大行列の概念を導入します。
係数行列 A に列ベクトル b を付け加えた次のような m×(n+1) 行列を係数拡大行列といい、(A,b) と表します。
(A,b)=a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amnb1b2⋮bn (5.1.1)式からわかるように、m 個の式からなる連立方程式について、係数行列 A の行数(m)と列ベクトル b の要素の数(m)は当然等しいので、一般の連立一次方程式に対して係数拡大行列を定めることができます。
係数拡大行列は、連立方程式が解を持つための条件や具体的に与えられた連立方程式の解法において重要な役割を果たす概念です。
用語について(係数拡大行列)#
参照する際の便利さから係数拡大行列という用語を用いますが、この用語を使わない教科書もあります([2], [5] など)。[13] では、係数行列の項目の中に係数拡大行列の説明があるのみで、見出し語ではありません。
また、[12] においては、対応する語として augmented matrix がみられますが、これも拡大係数行列そのものを指す語というよりも 2 つの行列の列を組み合わせることで得られる行列を指しています。( augment は「拡張する」等を意味する語で、AR : Augmented Reality(拡張現実)等で用いられます。)
解を持つための条件#
上記で導入した係数拡大行列を用いて、一般の連立一次方程式が解を持つことと同値な条件を導きます。
定理 5.1(連立一次方程式が解を持つための条件)#
A を (m,n) 型行列とする。連立一次方程式 Ax=b が解を持つためには、A の階数と (A,b) の階数が等しいことが必要にして十分である。
rankA=rank(A,b)(5.1.3)
定理 5.1の意味(解が存在するための条件)#
定理 5.1(連立一次方程式が解を持つための条件)は、一般の連立一次方程式に解が存在するための条件を与えるものです。
すなわち、連立一次方程式 Ax=b が解を持つための必要十分条件は「係数行列 A と係数拡大行列 (A,b) の階数がそれぞれ等しいこと」であるといえます。
解の有無の判定方法#
定理 5.1(連立一次方程式が解を持つための条件)に基づけば、連立一次方程式 Ax=b の解の有無を判定するために、以下の手順を実行すればよいことがわかります。
- 係数行列の階数 rank(A) を計算する。
- 拡大係数行列の階数 rank(A,b) を計算する。
- それぞれの階数の値を比較する。
- 階数の値が等しい(すなわち、rank(A)=rank(A,b) が成り立つ)とき、Ax=b は解を持つ。
- 階数の値が等しくない(すなわち、rank(A)=rank(A,b) である)とき、Ax=b は解を持たない。
しかしながら、このように定理 5.1を直接適用する解の有無の判定方法は実用的ではありません。この方法では 2 つの行列の階数を求める必要があり、これにかなりの手間がかかるためです。
実際には、行列の基本変形を用いた、次の方法が効率的です。
- 拡大係数行列 (A,b) に基本変形を施して、得られた行列の形から解の存在を判定します。
- 計算の効率性や実用性の点で優れた方法といえます。
定理 5.1の意義は、解の有無の判定方法としての実用性よりも、むしろその基礎となる論理的な側面にあります。この点については、次項以降に詳しくみていきます。
A の列ベクトルを a1,⋯,an とすると、Ax=b が解を持つことは x1a1+⋯+xnan=b を満たすような (x1,⋯,xn)∈Kn が存在することに等しい。これは、b が a1,⋯,an の線型結合で表せることと同値である。したがって、定理 4.35(部分空間の次元)より次が成り立つ。
⇔⇔⇔b∈⟨a1,⋯,an⟩⟨a1,⋯,an⟩=⟨a1,⋯,an,b⟩dim⟨a1,⋯,an⟩=dim⟨a1,⋯,an,b⟩rankA=rank(A,b)
dim⟨a1,⋯,an⟩ は、a1,⋯,an のうち線型独立なベクトルの最大数に等しく、定義より A の階数に他ならない。同様に dim⟨a1,⋯,an,b⟩ は (A,b) の階数に等しい。したがって、Ax=b が解を持つことは、A の階数と (A,b) の階数が等しいことと同値である。□
証明の考え方#
ベクトル空間に関する定理(定理 4.30(線型独立なベクトルと次元)、定理 4.35(部分空間の次元))による同値変形により証明します。
具体的には、(1)連立一次方程式 Ax=b が解を持つことと同値な条件を A の列ベクトルにより表現し、(2)列ベクトルが生成する部分空間の次元に関する定理 4.35(部分空間の次元)を利用します。
(1)解を持つための条件の列ベクトルによる表現#
Ax=b が解を持つことと同値な条件を、A の列ベクトルを用いて表します。
A の列ベクトルを a1,⋯,an とすると、係数行列は A=(a1,⋯,an) のように表すことができます。また、x∈Kn を次のようおきます。
A=(a1,⋯,an),x=x1⋮xn このとき、Ax=b が解を持つことは x1a1+⋯+xnan=b を満たすような x1,⋯,xn が存在することと同値であるといえます。
Ax=b⇔(a1,⋯,an)x1⋮xn=b⇔x1a1+⋯+xnan=b 上式は、b が a1,⋯,an の線型結合で表せることと同値であり、次のように表すことができます(定理 4.16(線型結合))。
b∈⟨a1,⋯,an⟩ すなわち、Ax=b が解を持つことは、b が a1,⋯,an が生成する部分空間の元であることと同値であるといえます。
またこれは、a1,⋯,an が生成する部分空間と、これに b を加えた a1,⋯,an,b が生成する部分空間が等しいことと同値です。
⟨a1,⋯,an⟩=⟨a1,⋯,an,b⟩
⟨a1,⋯,an⟩ は ⟨a1,⋯,an,b⟩ の部分空間であるから、定理 4.35(部分空間の次元)より次が成り立ちます。
⇔⟨a1,⋯,an⟩=⟨a1,⋯,an,b⟩dim⟨a1,⋯,an⟩=dim⟨a1,⋯,an,b⟩ 定理 4.30(線型独立なベクトルと次元)より、dim⟨a1,⋯,an⟩ は a1,⋯,an のうち線型独立なベクトルの最大数に等しく、これは A の階数に他なりません(階数の定義)。同様に dim⟨a1,⋯,an,b⟩ は (A,b) の階数に等しいといえます。
dim⟨a1,⋯,an⟩=dim⟨a1,⋯,an,b⟩⇔rankA=rank(A,b) 以上から、題意が示されました。
まとめ#
- 連立一次方程式 Ax=b が解を持つためには、A の階数と (A,b) の階数が等しいことが必要にして十分である。
rankA=rank(A,b)
参考文献#
[1] 齋藤正彦. 線型代数入門. 東京大学出版会. 1966.
[2] 永田雅宣 他. 理系のための線型代数の基礎. 紀伊國屋書店. 1986.
[3] 川久保勝夫. 線形代数学 [新装版]. 日本評論社. 2010.
[4] 松坂和夫. 線型代数入門 [新装版]. 岩波書店. 2018.
[5] S. Lang. Linear Algebra Third Edition. Springer. 1987.
[6] 雪江明彦. 代数学 1 群論入門. 日本評論社. 2010.
[7] 雪江明彦. 代数学 2 環と体とガロア理論. 日本評論社. 2010.
[8] 桂利行. 代数学 I 群と環. 東京大学出版会. 2004.
[9] 松坂和夫. 代数系入門. 岩波書店. 1976.
[10] 高木貞治. 代数学講義 [改訂新版]. 共立出版. 1965.
[11] S. Lang. Algebra Revised Third Edition. Springer. 2005.
[12] M. Artin. Algebra Second Edition. Pearson Education Limited. 2014.
[13] 青本和彦 他. 数学入門辞典. 岩波書店. 2005.
初版:2023-06-12 | 改訂:2024-11-18