読者です 読者をやめる 読者になる 読者になる

線形代数A前半の範囲の概略:メモ

情報・数理

ほぼラテックスの行列コマンド覚えるために書いただけ。

行列の定義

{ \displaystyle

  A = \left(
    \begin{array}{ccc}
      a_{11} & a_{12} & a_{13} \\
      a_{21} & a_{22} & a_{23} \\
      a_{31} & a_{32} & a_{33}
    \end{array}
  \right)

}

これが行列の記述で添字は{ \displaystyle a_{行・列番} }と覚えれば多分忘れない。{ \displaystyle a_{ij} }のことを第(i,j)成分とも言う。基本的に教科書などは大文字A、Bなどが行列でその成分を小文字a,bなどで記述することが多い。

{ \displaystyle
  A = \left(
    \begin{array}{cccc}
      a_{11} & a_{12} & \ldots & a_{1n} \\
      a_{21} & a_{22} & \ldots & a_{2n} \\
      \vdots & \vdots & \ddots & \vdots \\
      a_{m1} & a_{m2} & \ldots & a_{mn}
    \end{array}
  \right)
}

などと書くことが多い。ここで

{ \displaystyle

  O = \left(
    \begin{array}{ccc}
      0 & 0 & 0 \\
      0 & 0 & 0 \\
      0 & 0 & 0 
    \end{array}
  \right)

}

{ \displaystyle

  E_3 = \left(
    \begin{array}{ccc}
      1 & 0 & 0 \\
      0 & 1 & 0 \\
      0 & 0 & 1 
    \end{array}
  \right)

}


成分がすべて0の行列をゼロ行列、対角線だけ1の行列を単位行列という。

演算

  • 行列和、差
    • 単純に成分ごとに計算するのみ、略
  • 実数倍
    • すべての成分を実数倍する
    • すべての行列の対に大して定義できるわけではなくA*Bならば
      • A:k*l行列
      • B:l*m行列
    • のように行列Aの列数=行列Bの行数となっていないと演算はできない。

行列の列ベクトル

{ \displaystyle

  A = \left(
    \begin{array}{ccc}
      a_{11} & a_{12} & a_{13} \\
      a_{21} & a_{22} & a_{23} \\
      a_{31} & a_{32} & a_{33}
    \end{array}
  \right)

}
の行列について、
{ \displaystyle

  A = \left(
    \begin{array}{ccc}
      \vec{a_1} & \vec{a_2} & \vec{a_3} 
    \end{array}
  \right)

}
と書いたとき、{ \displaystyle  \vec{a_1} }は行列Aの第1列の成分でできたベクトルを意味する。

{ \displaystyle

  A = \left(
    \begin{array}{ccc}
      \vec{a_1} \\
      \vec{a_2} \\
      \vec{a_3} 
    \end{array}
  \right)

}
と書いたとき、{ \displaystyle  \vec{a_1} }は行列Aの第1行の成分でできたベクトルを意味する。

この記述に基づくと、
{ \displaystyle

  A = \left(
    \begin{array}{ccc}
      \vec{a_1} & \vec{a_2} & \vec{a_3} 
    \end{array}
  \right)
\\
\vec{x} = (x_1,x_2,x_3)\\
のとき、A\vec{x}^Tについて\\
A\vec{x}^T = x_1\vec{a_1} + x_2\vec{a_2} + x_3\vec{a_3}\\
となる。
}


なぜならば、
{ \displaystyle
A\vec{x}^T \\
= \left(
    \begin{array}{ccc}
      \vec{a_1} & \vec{a_2} & \vec{a_3} 
    \end{array}
  \right) \left(
    \begin{array}{ccc}
      \vec{x_1} \\
      \vec{x_2} \\
      \vec{x_3} 
    \end{array}
  \right)\\
= \left(
    \begin{array}{ccc}
      x_1 a_{11} + x_2 a_{12} + x_3 a_{13} \\
      x_1 a_{21} + x_2 a_{22} + x_3 a_{23} \\
      x_1 a_{31} + x_2 a_{32} + x_3 a_{33} 
    \end{array}
  \right)\\
= x_1\vec{a_1} + x_2\vec{a_2} + x_3\vec{a_3}\\
}

だからである。以下面倒くさいのでこの最後の式を{ \displaystyle \sum_{k=1}^{3} x_k\vec{a_k} }といった感じに記述する。

連立一次方程式を行列で解く

{ \displaystyle
  \left\{
    \begin{array}{l}
      ax + by = z_1 \\
      cx + dy = z_2
    \end{array}
  \right.
}

この連立一次方程式は
{ \displaystyle
 \left(
    \begin{array}{cc}
      a & b \\
      c & d
    \end{array}
  \right) \left(
    \begin{array}{c}
      x \\
      y
    \end{array}
  \right) = \left(
    \begin{array}{c}
      z_1 \\
      z_2
    \end{array}
  \right)
}
と記述される。この連立一次方程式の解は

  • 無限個の解が存在する
  • ただ一つの解が存在する
  • 解無し

のパターンに分けられる。以下、連立方程式{ \displaystyle A\vec{x} = \vec{b} }などと記述する、つまりこのベクトルxを探すことが行列の解を見つける作業である。ここで、いくつかの言葉の定義をする。

係数行列(定数項行列)

{ \displaystyle
 \left(
    \begin{array}{cc}
      a & b \\
      c & d
    \end{array}
  \right)      \left(
    \begin{array}{c}
      z_1 \\
      z_2
    \end{array}
  \right)
}
などの、成分がすべて定数の行列。

拡大係数行列(拡大定数項行列)

{ \displaystyle
 \left(
    \begin{array}{ccc}
      a & b & z_1\\
      c & d & z_2
    \end{array}
  \right)
}

つまり、上記の係数行列を単純につなげたもの。そしてこの連立一次方程式の行列表現は列ベクトルを利用して、

{ \displaystyle
A\vec{x} = \vec{b}\\

 x_1 \left(
    \begin{array}{c}
      a_{11} \\
      a_{21} \\
      a_{31}
    \end{array}
  \right) +  x_2 \left(
    \begin{array}{c}
      a_{12} \\
      a_{22} \\
      a_{32}
    \end{array}
  \right) + x_3 \left(
    \begin{array}{c}
      a_{13} \\
      a_{23} \\
      a_{33}
    \end{array}
  \right) = \left(
    \begin{array}{c}
      b_{1} \\
      b_{2} \\
      b_{3}
    \end{array}
  \right) 
}

と書くこともできるしそのうちこの記述も使うことになる。

行列の基本変形

簡単に言うと、連立方程式をとくときの行ごとの足し算引き算掛け算の操作をそのまま行列表現した連立一次方程式に行うときそれらがいわゆる行列の基本変形。行列Aを対角行列(対角成分以外は0である行列)にすれば、つまりAを単位行列になるように行列を変形していけばすべての変数xの値が(もしくは解がないことが)求まる。つまり基本変形を用いて連立方程式を解くとは

  • 行を入れ替える
  • ある行に違う行を足す
  • ある行を何倍かにする(0倍だけはアウト)

の三つの操作を繰り替えして、行列Aを単位行列にすること。ここで、対角行列にしなくても上三角行列にすれば答えが求まることがいつもの連立方程式の解き方からわかる。

簡約行列

定義:簡約行列とは行列に含まれる各行の主成分(ゼロでない成分のうち、もっとも左にあるもの)の値が1であり、必ずi行の主成分はi-1行の主成分よりも右側に存在するような行列。つまりすべての行で主成分が1で、同じ列に現れる主成分がひとつも無いならば基本変形ですぐに簡約行列になる。
ここで大切なのは、各行列を基本変形して簡約行列にしたものは一意的に定まるということ。

rank(階)

簡約行列を作ったときのすべての成分が0になっていない行の個数(つまり、主成分の個数)をその行列の階数と呼ぶ。
つまり、連立一次方程式をとくとき、初めに行列を簡約してそのrankを求める、そのrankが未知数の数よりも小さかったら解は無いし同じならば貝畑だ一つ存在する。以下では各行列のrankを rank A といった具合で記述(するし、多分ほとんどの教科書でそんな気がする)。

再:連立一次方程式の解法

ある連立一次方程式から拡大係数行列(A,b)を作成したとする。このとき、

  • rank (A,b) = rank A かつ未知数の個数に等しいならば解はただ一つに決定
  • rank (A,b) ≠ rank A ならば解は存在しない
  • rank (A,b) = rank A だが未知数の個数と一致しないとき、解は無限に存在する

とわかるから、連立一次方程式の問題は

  • 初めに拡大係数行列を作成して
  • それを簡約行列にするために基本変形を繰り返す
  • その結果できた簡約行列の主成分を上のみっつの場合分けに照らし合わせて
  • 解を決定する

とするだけで試験に出てきたらサービスもいいところ、かも。

逆行列

言葉の定義

逆行列

ある行列Aに対応して行列Bがあって、AB=BA=I(単位行列)となるとき、BをAの逆行列と定義。

正則行列

Aが逆行列を持つとき、Aは正則行列という。つまり「Aは正則」→「Aには逆行列がある」と言い換えればいい。
AB=IならばBA=Iだから、BにとってはAは逆行列でAが正則ならBも正則と分かる、あたりまえだけど。

逆行列を持つための条件

  • Aは正則である
  • rank A = Aの行数
  • AB = I となるBが存在する
  • Aの行列式が0でない

この四つは同値、つまり逆行列が存在するかどうかは結局rank A = Aの行数の条件からAを簡約すればわかる。逆行列の簡単な(?)求めかたは(A|I)行列を作成して、この行列を簡約する、このとき、すべての行に主成分が存在すれば逆行列は存在するからAの部分を単位行列になるように基本変形を施す(もう簡約して1となっている成分があるから、すぐにおわるはず)。そうしてこの(A|E)行列のAの部分が単位行列の形になったとき、もとのIの部分、つまり左側がAの逆行列である。

行列とベクトル空間

{ \displaystyle
  \vec{a} = \left(
    \begin{array}{c}
      a_1 \\
      a_2 \\
      \vdots \\
      a_n
    \end{array}
  \right)
}
のような列ベクトルについて、
{ \displaystyle
 R^n = \{ \vec{a} = \left(
    \begin{array}{c}
      a_1 \\
      a_2 \\
      \vdots \\
      a_n
    \end{array}
  \right) | a_1,a_2, \dots , a_n \in R \}
}
という集合 R^n を考えることにする。この様なR^n上のベクトル{ \displaystyle \vec{a} , \vec{b} }に大して以下の性質が成り立つものとする。
{ \displaystyle
 \vec{a} + \vec{b} = \vec{b} + \vec{a} \\
 \vec{a} + \vec{0} = \vec{0} + \vec{a} = \vec{a} \\
 (r_1 + r_2)\vec{a} = r_1 \vec{a} + r_2 \vec{a}\\
 1 \vec{a} = \vec{a}\\
 (\vec{a} + \vec{b}) + \vec{c} = \vec{a} + (\vec{b} + \vec{c})\\
 r_1(r_2\vec{c}) = (r_1 r_2)\vec{c} \\
 r_1 (\vec{a} + \vec{b}) = r_1 \vec{a} + r_2 \vec{b} \\
 0 \vec{a} = \vec{0}\\
 ただし、r_1,r_2 \in R^n
}

一次結合

{ \displaystyle
 \sum_{k=1}^{n} r_k \vec{a_k} = r_1 \vec{a_1} + \dots + r_n \vec{a_n}
}

をベクトル{ \displaystyle  \vec{a_1} , \dots , \vec{a_n}}の一次結合と言う、以下rは断り無く、実数範囲。ただし0が含まれない時は明記。一見、いくつかベクトルを選べば一次結合で任意のベクトルを表せそうだがそうでない場合もある。(簡単な例:成分が一つだけ1で残りがすべて0の単位ベクトルの集合からなる一次結合なら任意のベクトルを表せる、しかしすべての成分が同じ値のベクトルの有限集合があったとして、それらをいくら線型結合しても成分がそれぞれ違うベクトルを作り上げることはできない)このようないくつかのベクトルの線型結合があるベクトルを作り上げられるかどうかを式で表すと、

{ \displaystyle
A\vec{x} = \vec{b}\\

 r_1 \left(
    \begin{array}{c}
      a_{11} \\
      a_{21} \\
      a_{31}
    \end{array}
  \right) +  r_2 \left(
    \begin{array}{c}
      a_{12} \\
      a_{22} \\
      a_{32}
    \end{array}
  \right) + r_3 \left(
    \begin{array}{c}
      a_{13} \\
      a_{23} \\
      a_{33}
    \end{array}
  \right) = \left(
    \begin{array}{c}
      b_{1} \\
      b_{2} \\
      b_{3}
    \end{array}
  \right) 
}

と書くことができる。この式の形は連立一次方程式の解を求める式と同じ⇔ベクトルが一次結合で表せるかどうかと対応する連立一次方程式が解を持つかには関係があると分かる。ここで新しい言葉を定義、

一次独立と一次従属

{ \displaystyle
 \sum_{k=1}^{n} r_k \vec{a_k} = r_1 \vec{a_1} + \dots + r_n \vec{a_n} = \vec{0}
}
であるとする。この時、この式の解となる{ \displaystyle r_1 , \dots , r_n }について、

  • 一次独立:すべて0が解(自明な解)しかないとき一次独立という
  • 一次従属: r_1 = 2 , r_k = 4 といった0で無い解がある時、一次従属という

つまり、自明な解(すべての係数が0)を除いていくつか足し合わせて0ベクトルを作ることができたならそれらは一次従属。そしてこの定義に関して、いくつかの大切な命題を示す。

命題

{ \displaystyle  a_1,a_2, \dots , a_n \in R  }として、これらが一次独立ならば{ \displaystyle  a_1,a_2, \dots , a_n  }のうちのどのベクトルもこれらのベクトルの一次結合で記述することはできない。
証明:
背理法で示す、もしもそうでないとして
{ \displaystyle
\vec{a_1} = r_2 \vec{a_2} + \dots + r_n \vec{a_n} 
}
と記述できたとする、すると式変形して、
{ \displaystyle
 (-1) \vec{a_1} + r_2 \vec{a_2} + \dots + r_n \vec{a_n} = \vec{0}
}
となる、つまりすべての係数が0でない自明でない解が得られたので矛盾。

また、

命題

一次従属なら、nこのベクトルのうち少なくとも一つは他のn-1個のベクトルの一次結合で記述できる。
これも、似たような式変形で示すことができる。

たいがい、いくつかのベクトルが与えられてこれらが一次独立か一次従属かが聞かれるらしい、しかしこれらの式は連立一次方程式の式と同じ形をしているからその時と同じようにとけば答えが求められる。つまり、
{ \displaystyle
A\vec{x} = \vec{b}\\

 r_1 \left(
    \begin{array}{c}
      a_{11} \\
      a_{21} \\
      a_{31}
    \end{array}
  \right) +  r_2 \left(
    \begin{array}{c}
      a_{12} \\
      a_{22} \\
      a_{32}
    \end{array}
  \right) + r_3 \left(
    \begin{array}{c}
      a_{13} \\
      a_{23} \\
      a_{33}
    \end{array}
  \right) = \left(
    \begin{array}{c}
      0 \\
      0 \\
      0
    \end{array}
  \right) 
}
の式から拡大係数行列
{ \displaystyle
  A = \left(
    \begin{array}{cccc}
      a_{11} & a_{12} & a_{13} & 0 \\
      a_{21} & a_{22} & a_{23} & 0 \\
      a_{31} & a_{32} & a_{33} & 0
    \end{array}
  \right) 
}
を簡約して、もしも rank A = 3 (この例の場合)かつ、すべての解が0のとき一次独立だと分かる。
つまり、いくつかのベクトルが一次独立か?を聞かれたら、
1.とりあえず、それらのベクトルに未知の係数をつけて
{ \displaystyle
 r_1 \vec{a_1} + r_2 \vec{a_2} + \dots + r_n \vec{a_n} = \vec{0}
}
の式をつくる。

  • 次に、この式の拡大係数行列を作成
  • その拡大係数行列を簡約する
  • その結果が自明な解のみなら線型独立

といったステップで解ける。

rankと一次従属、独立の関係

  • 行列A(n×k行列)がrank A = kならばAの列ベクトルは一次独立
  • 行列A(n×k行列)がrank A = k' < k ならば、列ベクトルのうちk'個は一次独立で(k-k')個の線型結合で記述できる列ベクトルがある

ことが一般的に言える。

ベクトル空間と部分(ベクトル)空間

定義

部分空間

R^n の部分集合Wについてそれが R^n の部分空間とは

  • { \displaystyle \vec{0} \in W }
  • { \displaystyle \vec{a},\vec{b} \in W }ならば{ \displaystyle \vec{a} + \vec{b}  \in W }
  • { \displaystyle \vec{a} \in W } ならば{ \displaystyle  r_1 \vec{a}} \in W

が成り立つWのこと。

生成

与えられた有限個数のベクトル{ \displaystyle  \vec{x_1},\vec{x_2}, \dots , \vec{x_n} }の一次結合全体の表す集合をVと呼ぶとき、このベクトル{ \displaystyle  \vec{x_1},\vec{x_2}, \dots , \vec{x_n} }はVを生成する、という。

次元

ベクトル{ \displaystyle  \vec{x_1},\vec{x_2}, \dots , \vec{x_n} }が生成するVについて、Vを生成する為に必要なベクトルの最小の数がnのとき、つまりVがn個以下のベクトルからではどのようにしても生成することができないと分かるときVの次元数はnであるとする。これを略してDim V = nと記述する。

与えられた集合が部分空間(部分ベクトル空間)かどうかを調べる

要は、上の三条件をすべて順に調べれば良い。

ある部分空間Vの次元数を求めたい

Dim V = n としてこれは...

  • ベクトル{ \displaystyle  \vec{x_1},\vec{x_2}, \dots , \vec{x_n} }は一次独立で
  • ベクトル{ \displaystyle  \vec{x_1},\vec{x_2}, \dots , \vec{x_n} }はVを生成

するということと同じ(同値)。
なぜか?と言えばもしも一次従属なら、n個のベクトルのうちの一つをほかのn-1個で記述できるからVの生成に必要なベクトル数はn-1個となるが、これはDim V = nに矛盾。そして、このようなnこのベクトル(Dim V = n であるVを生成するのに必要なn個数のベクトル)をVの基底と呼ぶ。

命題

Dim V = nであるとき、Vに含まれる一次独立なn個のベクトルを見つけたならばそれは基底になる。

つまり、いくつかベクトルが与えられてそれらの生成する空間の基底を求める必要があるならば、

  • 与えられたベクトルを縦にした(列ベクトルとした)行列を作成
  • この行列を簡約して主成分を求める
  • 主成分の数が基底の数であり
  • 基底の数よりも与えられたベクトルが多いならば、主成分の含まれない列のベクトルは必ず主成分の含まれる列ベクトルの一次結合で記述可能なのでそれを調べる

のステップで解ける。

命題

  • m×n行列Aについて、{ \displaystyle  A \vec{x} = \vec{0} }の解となるベクトルの集合V(これを{ \displaystyle  A \vec{x} = \vec{0} }解空間と呼ぶ)を求めたとする。つまり{ \displaystyle  V = \{ \vec{x}  \in R^n  | A \vec{x} = \vec{0} \} }なるVについて{ \displaystyle  Dim V = n(=Aの列数) - rank A }が成り立つ。
  • { \displaystyle \vec{a_1},\vec{a_2},\dots ,\vec{a_n}  }が一次独立だとして{ \displaystyle \vec{a} = r_1\vec{a_1} + \dots + r_n \vec{a_n}  }と記述できたとすると{ \displaystyle \vec{a}   }はこの一通りの記述に定まる。またこのとき{ \displaystyle  (r_1 ,r_2 ,\dots ,\r_n) }{ \displaystyle  \vec{a} }の座標と呼ぶ。

基底の変換

Dim A = n のとき、Aを簡約してnこの一次独立なベクトルを見つけたならばそれが基底になる。簡約のステップが一通りでないように基底は一通りではない。だからある基底からある基底への変換ができるかも、と思いつくかも。

とりあえずベクトル空間Vは二種類の基底{ \displaystyle \vec{a_1},\vec{a_2},\dots ,\vec{a_n}  }{ \displaystyle \vec{b_1},\vec{b_2},\dots ,\vec{b_n}  }を持っているとわかったとする。このとき、{ \displaystyle \vec{r} }について
{ \displaystyle  
\vec{r}\\
= r_1\vec{a_1} + r_2\vec{a_2} + \dots r_n\vec{a_n} \\
= r_1'\vec{b_1} + r_2'\vec{b_2} + \dots r_n'\vec{b_n} \\
}
と書けるとする、つまりそれぞれの基底での{ \displaystyle \vec{r} }の座標が既に求まっているとする。ここで、{ \displaystyle \vec{b_1},\vec{b_2},\dots ,\vec{b_n}  }{ \displaystyle \vec{a_1},\vec{a_2},\dots ,\vec{a_n}  }が基底だと定めて書き直すと

{ \displaystyle
\vrc{b_1} = br_{11}\vec{a_1} + br_{21}\vec{a_2} + \dots + br_{n1}\vec{a_n} \\
\vrc{b_2} = br_{12}\vec{a_1} + br_{22}\vec{a_2} + \dots + br_{n2}\vec{a_n} \\
\vdots
\vrc{b_n} = br_{1n}\vec{a_1} + br_{2n}\vec{a_2} + \dots + br_{nn}\vec{a_n} \\
}

といった具合にに書くことができて、案の定行列でまとめて記述できる。
上の式は、違う基底での座標が求まったと言うこと。この座標を用いて行列P

{ \displaystyle
  P = \left(
    \begin{array}{cccc}
      p_{11} & p_{12} & \ldots & p_{1n} \\
      p_{21} & p_{22} & \ldots & p_{2n} \\
      \vdots & \vdots & \ddots & \vdots \\
      p_{n1} & p_{n2} & \ldots & p_{nn}
    \end{array}
  \right)
}

をつくる。つまり、異なる基底でのもとの基底の座標を列ベクトルとして含んだ行列でありその列ベクトルの順番は関係ない。今、基底は一次独立でその座標についてのベクトルも一次独立だからこの行列Pは dim V = n = rank P のはずである。つまり、Pは正則(行数と同じ数の主成分を持つ)だから逆行列が存在する。なのでPの逆行列{ \displaystyle  P^{-1}  }と記述する。

ところで

{ \displaystyle  
\vec{r}\\
= r_1\vec{a_1} + r_2\vec{a_2} + \dots r_n\vec{a_n} \\
= r_1'\vec{b_1} + r_2'\vec{b_2} + \dots r_n'\vec{b_n} \\
= r_1'( br_{11}\vec{a_1} + br_{21}\vec{a_2} + \dots + br_{n1}\vec{a_n} )\\
 + \vdots \\
 + r_n'( br_{1n}\vec{a_1} + br_{2n}\vec{a_2} + \dots + br_{nn}\vec{a_n} ) \\
= (r_1' br_{11} + \dots + r_n' br_{1n} )\vec{a_1} + \dots +  (r_n' br_{n1} + \dots + r_n' br_{nn} )\vec{a_n} \\ 
 
}

と記述できて、最後の式を行列で書き直すと、

{ \displaystyle

\left(
    \begin{array}{c}
      r_{1} \\
      \vdots \\
      r_{n}
    \end{array}
  \right)  = \left(
    \begin{array}{cccc}
      p_{11} & p_{12} & \ldots & p_{1n} \\
      p_{21} & p_{22} & \ldots & p_{2n} \\
      \vdots & \vdots & \ddots & \vdots \\
      p_{n1} & p_{n2} & \ldots & p_{nn}
    \end{array}
  \right)  \left(
    \begin{array}{c}
      r_{1}' \\
      \vdots \\
      r_{n}'
    \end{array}
  \right)

}

と書ける、つまりこの行列Pが基底を変換している行列だと気づく。そしてこの逆行列は基底を逆変換するものだと分かる。

結局のところ、二種類の基底が与えられていてある座標を違う基底の下での座標に変換したいという問題が与えられたならば、

  • 変換先の基底を列ベクトルとする行列を作成する
  • この行列は正則なら必ず逆行列をもつはずだから、逆行列をもとめる
  • その逆行列×ある座標=変換先の基底の座標である。

つまり、基底の変換行列は変換先の基底がわかれば求まる。




{ \displaystyle  }


{ \displaystyle

}