静岡理工科大学 総合情報学部 (by 菅沼) 菅沼ホーム 目次 索引

線形代数

  1. 1.行列( Matrix )とベクトル( Vector )
    1. 1.1 定義
    2. 1.2 いろいろな行列
    3. 1.3 ベクトル
  2. 2.行列式
    1. 2.1 偶順列と奇順列
    2. 2.2 行列式の定義
    3. 2.3 行列式の性質
    4. 2.4 行列式の展開
  3. 3.行列の階数
  4. 4.行列の演算
  5. 5.逆行列
    1. 5.1 定義
    2. 5.2 逆行列の求め方
  6. 6.固有値と固有ベクトル
  7. 7.二次形式
1.行列( Matrix )とベクトル( Vector )

1.1 定義

[定義] 数値を以下に示すように,n 行 m 列の形に並べたものを,n 行 m 列行列n×m 型行列)という.
ここで,aij を行列 A(i,j) 要素(i,j) 成分i 行 j 列の成分等という.特に,1 行 m 列の行列を m 次の行ベクトル,また,n 行 1 列の行列を n 次の列ベクトル(単に,ベクトル)という.

  行列は,様々な分野で使用されますが,ここでは,連立一次方程式を取り上げてみます.例えば,
2x + 4y - 2z = 4
2x +  y +  z = 7
 x +  y +  z = 6
		
のような連立一次方程式は,3 つの行列,
	
		
を導入すると,
	Ax = b
		
のように,非常に簡単に記述できます.記述方法が簡単になることも,行列を使用する大きな利点です.この方程式の解も,逆行列を利用して,以下のように簡単に記述できます.なお,行列の演算や逆行列については,後の節を参照してください.
	x = A-1b
		
1.2 いろいろな行列

  行列の要素や形によって,以下のような行列(言葉)が存在します.

  1. 実行列  aij が実数( aij は行列の i 行 j 列要素とする)

  2. 複素行列  aij が複素数

  3. 転置行列  B = AT ( bij = aji )  行と列を入れ替えた行列

  4. 正方行列  n 行 n 列の行列

    1. 主対角線  左上から右下に向かう対角線

    2. 対角成分  aii

    3. トレース  tr A = Σ aii  (対角成分の和)

    4. 対角行列  対角成分以外の成分がすべて 0 である行列

    5. 単位行列  対角成分が 1 である対角行列( I,または,E で表す)

    6. 三角行列

      • 上三角行列  i > j に対し,aij = 0 である行列
      • 下三角行列  i < j に対し,aij = 0 である行列

    7. 対称行列  A = AT

    8. 交代行列  A = -AT (対角成分はすべて 0)

    9. 直交行列  ATA = AAT = I

1.3 ベクトル

  ベクトルは,行列の定義の項で述べたように,行列の特別なものとしても定義されますが,ここでは幾何学的な立場から考えてみます.例えば,温度や長さなどは,単位は別として,その大きさだけで表現できます.しかし,力のように,大きさだけでなく,その向きが重要になる場合があります.そこで,右図に示すような大きさと向きを持った量 a = [a1 a2 ・・・ an]T を( n 次元)ベクトルと呼びます(右図は,2 次元ベクトル a = [a1 a2]T の場合を表す).それに対応して,大きさだけを持った量をスカラーと呼びます.

  ベクトルの演算は,後に述べる行列の演算と同じように,加算と減算は要素どうしの加算と減算,定数倍はすべての要素を定数倍したものになります.例えば,a = [a1 a2]Tb = [b1 b2]Tの場合,c = a + b,及び,ka は以下のようにして計算でき,その幾何学的イメージは右図のようになります.

  この演算の性質を使用すれば,右上の図に示すベクトル ab によって,2 次元辺面上の任意のベクトル c をこれら 2 つのベクトルの線形結合によって次式のように表現できます(右図).このことを念頭に置いて,以下の定義を読んでみてください.,

c = k1a + k2b

[定義] 一次従属一次独立  n 個のベクトル ai ( i = 1, 2, ・・・, n )の線形結合が 0 となる式,
c1a1 + c2a2 + ・・・ + cnan = 0
において,同時には 0 でない実定数 ci が存在する場合(あるベクトルが,他のベクトルの線形結合で表現できる場合),n 個のベクトルは一次従属であるという.また,同時には 0 でない実定数 ci が存在しない場合,n 個のベクトルは一次独立であるという.

  ベクトルの一次従属と一次独立については,幾何学的なイメージを浮かべると分かりやすいと思います.2 次元平面上において,2 つのベクトルが線形従属であることは,片方のベクトルを定数倍すれば他方のベクトルになること,つまり,2 つのベクトルが平行であることを意味しています.先の図に示した 2 つのベクトル ab は平行ではありませんので,1 次独立になります.逆に,2 次元平面上では,3 つ以上のベクトルが 1 次独立になることはあり得ません.なぜなら,3 つの内 2 つのベクトルが線形独立であれば,先の図に示したように,他の 1 つのベクトルはそれら 2 つのベクトルの線形結合によって表現できるからです.一般的に,n 次元空間では.最大 n 個の 1 次独立なベクトルを定義できます.

[定義] 内積外積  2 つのベクトル ab が与えられ,それらのなす角を θ としたとき,ベクトル ab の内積(スカラー積) ab を以下のように定義する.
ab = |a||b| cos θ = a1b1 + a2b2 + ・・・ + anbn
また,外積(ベクトル積) a×b を以下のように定義する(右図の赤いベクトル).
a×b = (|a||b| sin θ)e
ただし,ベクトル e は,ベクトル a をベクトル b に重なるように回転したとき(θ < π),右ねじが進む方向に向かう単位ベクトルである(ベクトル ab を含む平面に直交するベクトル).

  内積は,その定義からも明らかなように,2 つのベクトルが直交( θ = π / 2 )するとき,0 になります.一般に,内積が 0 であることは,2 つのベクトルが直交するための必要十分条件となります.

  外積の大きさは,ベクトル ab で構成される平行四辺形の面積になります.定義の箇所で示した図においては,
a1b2 - a2b1
となります.また,ca×b の内積,
c・(a×b
は,右図からも明らかなように,平行六面体の体積になり,その値は,
a1b2c3 + a2b3c1 + a3b1c2 - a1b3c2 - a2b1c3 - a3b2c1
となります.

2.行列式

2.1 偶順列と奇順列

  行列式の定義に入る前に,まず,順列の定義を行っておきます.

[定義] 一つの順列において,2 要素の順序が,標準の順列における同じ 2 要素の順序と異なるときには,その 2 要素の間には一つの転位または転倒があるという.一つの順列において,転位をもつ 2 要素の組数をその順列の転位の数という.そして,偶数個の転位をもつ順列を偶順列,奇数個の転位をもつ順列を奇順列という.

  上記の定義に従い,例えば,標準の順列を ( 1 2 3 ) とした場合,以下のようになります.

( 1 2 3 )  偶順列,転位の数は 0
( 2 3 1 )  偶順列,転位の数は 2
( 1 3 2 )  奇順列,転位の数は 1
( 3 2 1 )  奇順列,転位の数は 3

2.2 行列式の定義

[定義] n × n ( n 次)の正方行列 A
の各行及び各列から必ず 1 個,そして,唯 1 個の要素を取って,これを a,b,・・・,k の順に並べて積を作ると,この積の中には,n 個の文字 a,b,・・・,k,及び,添え字 1,2,・・・,n は必ず一度,そして,唯一度ずつ現れる.その積は,aαbβ・・・kλ とうい形をもち,αβ・・・λ は,1,2,・・・,n の一つの順列とみなすことができる.
  そこで,順列 αβ・・・λ が偶順列の時には,積 aαbβ・・・kλ に + をつけ,奇順列の時には - をつけて作ったすべての積( n! 個存在する)の和を作ると多項式が得られる.この多項式を,行列 A行列式といい,以下のように表す.

例2.1: n = 2 の場合,標準の順列 (1 2) に対し,積は,

偶順列 (1 2)
奇順列 (2 1)
であり,行列式は以下のようになります.
= a1b2 - a2b1
幾何学的には,右図に示す平行四辺形の面積を表しています.

例2.2: n = 3 の場合,標準の順列 (1 2 3) に対し,積は,

偶順列 (1 2 3), (2 3 1), (3 1 2)
奇順列 (1 3 2), (2 1 3), (3 2 1)
であり,行列式は以下のようになります.

= a1b2c3 + a2b3c1 + a3b1c2 - a1b3c2 - a2b1c3 - a3b2c1
幾何学的には,右図に示す平行六面体の体積を表しています.

  一般に,n 次の正方行列 A の行列式の値は,行列 A を構成する n 個の行ベクトル(列ベクトル)が,一次従属の時 0 になり,一次独立の時 0 以外の値になります.なお,行列式は,後に述べる逆行列を計算する際に重要となります.

2.3 行列式の性質

  行列式には,以下のような性質があります.

  1. 行と列を入れ換えても値は変わらない.

  2. 二つの行(列)を入れ換えると符号だけが変化する.

  3. ある行(列)のすべての要素が二つの数の和で表現できるときは,その行(列)の各要素を行(列)とし,他の行(列)の要素はすべて同じである二つの行列式の和として表現できる.

  4. ある行(列)を k 倍すると全体の値が k 倍になる.

  5. ある行(列)の各要素に他の行(列)の対応する要素の k 倍を掛けて加えても行列式の値は変わらない.

  6. ある行(列)のすべての要素の値が 0 の時は,行列式の値も 0 になる.

  7. 二つの行(列)の対応する要素が比例関係にあるときは,行列式の値は 0 になる.

  8. ある行(列)のすべての要素が,他の行(列)の線形結合で表現可能なときは,行列式の値は 0 になる.

2.4 行列式の展開

[定義] 行列式において,一つの要素を含む行と列を除いた残りの要素で作った行列式をその要素の小行列式という.たとえば,i 行 j 列要素の小行列式を Mij のように表す.また,
Aij = (-1)i+jMij
を,要素 (i,j) の余因数余因子)という.

  n が 2 や 3 の場合は,例 2.1 や例 2.2 のようにして行列式の値を計算できますが,n の値が大きくなると,可能な積の組み合わせ数が膨大になり,例のような方法で計算することはほとんど不可能になります.

  行列式 |A| は,余因子を使用して,任意の行 r(列 s)で以下のように展開可能です.この関係を利用し,できるだけ 0 である要素が多い行(列)で展開することによって,大きな n に対する行列式の値を計算することができます(余因子の次数が 3 より大きければ,さらにそれを展開する).

|A| = ar1Ar1 + ar2Ar2 + ・・・ + arnArn   第 r 行で展開
  = a1sA1s + a2sA2s + ・・・ + ansAns   第 s 列で展開

  例として,3 次の行列式を第 1 行で展開してみます.


= a1b2c3 + a2b3c1 + a3b1c2 - a1b3c2 - a2b1c3 - a3b2c1

3.行列の階数

[定義] n×m の行列 A から,任意に r 個の行と r 個の列をとって,その交わりの上にある要素をそのままとって作った r 次の行列式をAの r 次の小行列式という.r 次の小行列式の中には 0 でないものが少なくとも一つあって,(r+1) 次以上の小行列式はいずれも 0 であるときは,行列 A階数ランク,または,)は r であるという.そして,A の階数を
r = Rank A
で表す.また,行列 A の階数は,行列 A の一次独立な列(行)ベクトルの数とも言える.

  例えば,2 つの行列

において,行列 A の場合は,1 列目,2 列目,1 行目,及び,2 行目からなる小行列式の値が 0 ではありません.従って,その階数は 2 となります.しかし,行列 B の場合,いずれの列を組み合わせても,2 次の小行列式は 0 となってしまいます.しかし,明らかに,1 次の小行列式(各要素に相当)は 0 ではありません.従って,階数は 1 となります.

  次に,ベクトルの一次従属,一次独立の面から階数について検討してみます.行列 B の 1 列目と 2 列目のベクトル(他の列でも同様)を 2 次元平面上に描けば,2 つのベクトルは平行になります.従って,2 列目のベクトルは,1 列目のベクトルを 2 倍することによって表現できます.このように,行列 B においては,一次独立なベクトルの数は 1 つだけです.従って,階数も 1 になります.

  しかし,行列 A の 1 列目と 2 列目( 1 列目と 3 列目でも同様)のベクトルを 2 次元平面上に描けば,2 つのベクトルは平行とはならず,これらのベクトルは一次独立になります.しかし,3 列目のベクトルを含めると,それら 3 つのベクトルは一次独立にはなりません.従って,一次独立なベクトルの数は 2 となり,階数も 2 となります.

  先に述べましたように,n 次の正方行列 A の行列式の値は,行列 A を構成する n 個の行ベクトル(列ベクトル)が,一次従属の時 0 になり,一次独立の時 0 以外の値になります.階数の立場からいえば,n 次の正方行列 A の行列式の値は,行列の階数が n 未満であるとき 0 になり,階数が n の時 0 以外の値になります.

4.行列の演算

  この節では,行列の演算について説明します.行列の演算には,以下のようなものがあります.

  1. 定数倍  各要素の値が定数倍されます.

    B = k A   bij = k aij

  2. 加法と減法  同じ型の(行及び列の数が同じ)行列に対してだけ定義されます.

    和  C = A + B   cij = aij + bij
    差  C = A - B   cij = aij - bij

  3. 積  可換ではありません.つまり,ABBA が定義できたとしても,一般的に,AB = BA とはなりません.

       A: m × n, B: n × l, C: m × l の場合だけ定義できる

  4. 行列のべき乗

    A0 = I, A1 = A, A2 = AA, A3 = A2A,・・・

  5. 行列とベクトルの積

      CG において,画像を回転(座標軸を回転)させたいような場合に,行列の演算がしばしば利用されます.ここでは,上の図に示すような行列 A をベクトル a にかける演算 b = Aa について考えてみます.(1) の場合(単位行列),ab は全く同じものになります.(2) の場合,右図に示すように,b は,a の 2 倍の大きさになり,方向は,y = x という直線に対して対称な方向に変化します.(3) は,座標軸を θ だけ回転(ベクトルの方向を −θ だけ回転)します.このように,行列をベクトルにかけることは,ベクトルの大きさや方向を変化させることに相当します.

      (1) から (3) までの行列に関しては,ベクトル a が 2 次元平面の全空間を動けば,ベクトル b も同様に全空間を動きます.しかし,(4) や (5) の場合はどうでしょうか.a に (4) の行列をかけると,その x 成分だけが残り,y 成分は 0 になります.つまり,ベクトル a の x 軸への射影(x 軸に映る影)になります.したがって,ベクトル b は,x 軸上しか動くことができません.これは,行列 (4) の階数が 1 であることによります.同様に,行列 (5) の場合は,すべてのベクトル a が,y = x という線分上に射影されます.

5.逆行列

5.1 定義

  前節における行列の演算において,除算に関する説明をしませんでしたが,除算に相当するものが,ここで説明する逆行列です.

[定義] A が n×n の正方行列のとき,AX = XA = I となるような正方行列 X が存在するとき,XA逆行列といい,A-1 で表す.このとき,正方行列 A正則であるといい,A正則行列という.逆行列が存在するための必要十分条件は,
|A| ≠ 0  ( Rank A = n )
となる.

5.2 逆行列の求め方

  行列 A の逆行列は,以下のようにして計算できます

ただし,adj A は,A余因子行列といい,行列 A の i 行 j 列要素の余因子 Aij を j 行 i 列要素とする行列です.

  例えば,

の場合,その逆行列は,以下のようになります.

例として,先に挙げた連立一次方程式,
	Ax = b
		
		
を解いてみます.この方程式の解は,
	x = A-1b
		
となりますので,まず,逆行列 A-1 を計算する必要があります.これを計算すると,
	
		
となりますので,これを b に掛けることによって,以下に示す解が得られます.
	x = [1 2 3]T
		
6.固有値と固有ベクトル

[定義] n 次の正方行列 A に対して,0 でないベクトル x があって,
Ax = λx
が成り立つとき( x0 の解をもつとき),λ を A固有値x固有ベクトル(一般的に,一意には決まらない.固有ベクトルをスカラー倍したものも固有ベクトルになる)という.したがって,固有値は,
|A - λI| = 0 (固有方程式,又は,特性方程式という)
の根となる.

  行列の演算の節で述べたように,ベクトルに行列を乗ずるとベクトルは様々に変化します.固有ベクトルは,乗数倍になるだけの非常に特殊なベクトルであるといえます.なお,実対称行列(要素がすべて実数の対称行列) A には,以下のような性質があります.

  1. 固有値はすべて実数である.
  2. 二つの異なる固有値に対する固有ベクトルは直交する.
    ベクトルの直交: 2 つのベクトルの内積が 0 ( 2 つのベクトルのなす角が 90 度)
  3. 適当な直交行列 L によって,LTAL が対角行列になるようにすることができる.

  ところで,固有値と固有ベクトルとはどのようなものでしょうか.まず,先に述べた階数の面から見ると,階数は 0 でない固有値の数に一致し,行列のすべての列(行)ベクトルは,0 でない固有値に対応した固有ベクトルの線形結合で表すことができます.

  次に,別の面から固有値と固有ベクトルの意味について考えてみます.行列としては,2 次の実対称行列で,すべての固有値が正の場合(多変量解析によく現れる分散共分散行列の場合は,このようになります)について検討します.そのような行列に対し,次のような 2 次形式(次節参照)を考えます.

[x y] A [x y]T = a11x2 + 2 a12xy + a22y2 = c > 0

  この式は,a122 - a11a22 < 0 で,かつ,a11(a11a22c - a122c) > 0 の場合,楕円の方程式になります.行列 A の固有値を,小さい方から λ1, λ2 とすると,楕円の長軸の方向が λ1 に対する固有ベクトルの方向,また,短軸の方向が λ2 に対する固有ベクトルの方向になります.さらに,短軸と長軸の長さの比が,(λ2 / λ1)0.5 となります.

  例として,次に示すような行列について考えてみます.行列 A は実対称行列であるため,固有値は実数であり,かつ,二つの固有ベクトルが直交しているのが分かると思います.なお,固有ベクトルはその大きさが 1 になるように正規化してあります.

この例の場合,c = 1 とすると,

である楕円の方程式になります(下図参照)

7.二次形式

[定義] n 次の実対称行列 A と n 次元ベクトル x に対して,
A(x) = xTAx = ΣΣaijxixj
を行列 A に対する二次形式という.すべての x に対して,二次形式が非負であるとき,つまり,
xTAx ≧ 0,  ∀x ∈ Rn
のとき,A半正定値( positive semidefinite ),あるは,非負定値( nonnegative definite )であるという.また,すべての x0 に対して二次形式が正であるとき,つまり,
xTAx > 0,  ∀x0 ∈ Rn
のとき,A正定値( positive definite )であるという.正定値,及び,半正定値は,行列 A のすべての固有値が 0 より大きい,及び,0 以上であるということに対応する.

静岡理工科大学 総合情報学部 (by 菅沼) 菅沼ホーム 目次 索引