コンテンツにスキップ

二次の理論

連立一次方程式と逆行列

2つの未知数からなる連立一次方程式

{𝑥+𝑦=8,2𝑥+4𝑦=26

を考えよう。 この問題は鶴と亀が合わせて8匹いて脚の数が合計して26本であるという、鶴亀算の典型的な例題として小学校で紹介され、いったん8匹すべてが鶴としてから徐々に亀に変えていって脚の数の帳尻を合わせるなどという解法を学習する。 その後、中学校で連立一次方程式を習うと鶴の数を𝑥匹で亀の数を𝑦匹とすることで上記の方程式に帰着され、加減法あるいは代入法などの解法を適用できることを学ぶ。 大学の教科書である本テキストではこの連立一次方程式を行列の理論、特に逆行列を使う解法を紹介する。

係数を一般化して連立一次方程式

{𝑎𝑥+𝑏𝑦=𝑒,𝑐𝑥+𝑑𝑦=𝑓

を考える。 これを行列に結びつける第一歩は次のように書くことである。

(𝑎𝑥+𝑏𝑦𝑐𝑥+𝑑𝑦)=(𝑒𝑓).

ここで両辺に現れる、2つの数を縦に並べて括弧でくくったものを(2次の)(縦)ベクトルという。 二つのベクトル(𝑝𝑞)と(𝑢𝑣)が等しいとは𝑝=𝑢かつ𝑞=𝑣が成り立つとすることで上記の変形が可能となる。 さらに左辺を次のように変形できたとしよう。

(𝑎𝑥+𝑏𝑦𝑐𝑥+𝑑𝑦)=(𝑎𝑏𝑐𝑑)(𝑥𝑦).

この時の右辺に現れる4つの数𝑎,𝑏,𝑐,𝑑を2×2に並べたものを(2×2型のあるいは2次正方)行列といい、上記の式は行列とベクトルの積を定義する。 以上によって最初の連立一次方程式は行列とベクトルを使って

(𝑎𝑏𝑐𝑑)(𝑥𝑦)=(𝑒𝑓)

と表すことができる。 この時の行列を係数行列といい、左辺のベクトルを未知数ベクトル、右辺のベクトルを定数ベクトルという。 係数行列、未知数ベクトル、定数ベクトルをそれぞれ𝐴, 𝒙, 𝒃とおくと連立一次方程式は

𝐴𝒙=𝒃

とあたかも未知数が1つの場合の一次方程式であるかのように書くことができる(現時点では書くことができるだけだが)。

以下では行列やベクトルでない実数や複素数などの数単体のことをスカラーと呼ぶ。 スカラーの一次方程式は係数で両辺を割ればすぐに解けるのであった。 しかしながら今回の場合では行列で割るというのはどういうことだろうか。 それに答えるには、0でない実数や複素数には逆数があるように、行列に対して逆行列なるものを導入できればよいことに気がつく。 2次正方行列に対しては逆行列は以下のようにして得られる。

定義 1 (2次の逆行列)

2次正方行列𝐴=(𝑎𝑏𝑐𝑑)が𝑎𝑑−𝑏𝑐≠0を満たすとき定義される次の行列

𝐴−1=1𝑎𝑑−𝑏𝑐(𝑑−𝑏−𝑐𝑎)

を𝐴の逆行列という。 また、𝑎𝑑−𝑏𝑐のことを2次正方行列の行列式といい、逆行列を持つ正方行列は可逆行列または正則行列と呼ばれる。

この逆行列は次の性質を満たす。 ただし、二つの2次正方行列の積を

(𝑎𝑏𝑐𝑑)(𝑒𝑓𝑔ℎ)=(𝑎𝑒+𝑏𝑔𝑎𝑓+𝑏ℎ𝑐𝑒+𝑑𝑔𝑐𝑓+𝑑ℎ)

として定め、次の特殊な行列

𝐼=𝐼2=(1001)

を(2次の)単位行列という。 任意の2次正方行列𝐴に対して、

𝐴𝐼=𝐼𝐴=𝐴

が成り立つことに注意する。

命題 2 (逆行列)

逆行列𝐴−1を持つ2次正方行列𝐴に対して、

𝐴𝐴−1=𝐴−1𝐴=𝐼

が成り立つ。

証明

計算すると

𝐴𝐴−1=(𝑎𝑏𝑐𝑑)(𝑑𝑎𝑑−𝑏𝑐−𝑏𝑎𝑑−𝑏𝑐−𝑐𝑎𝑑−𝑏𝑐𝑎𝑎𝑑−𝑏𝑐)=(𝑎𝑑−𝑏𝑐𝑎𝑑−𝑏𝑐−𝑎𝑏+𝑏𝑎𝑎𝑑−𝑏𝑐𝑐𝑑−𝑑𝑐𝑎𝑑−𝑏𝑐−𝑐𝑏+𝑑𝑎𝑎𝑑−𝑏𝑐)=𝐼,𝐴−1𝐴=1𝑎𝑑−𝑏𝑐(𝑑−𝑏−𝑐𝑎)(𝑎𝑏𝑐𝑑)=1𝑎𝑑−𝑏𝑐(𝑑𝑎−𝑏𝑐𝑑𝑏−𝑏𝑑−𝑐𝑎+𝑎𝑐−𝑐𝑏+𝑎𝑑)=𝐼

である。

これにより連立一次方程式𝐴𝒙=𝒃の両辺に係数行列𝐴の逆行列𝐴−1を(左から)かけることで

𝐴−1𝐴𝒙=𝒙=𝐴−1𝒃

となり、2つの未知数からなる連立一次方程式は逆行列を作って定数ベクトルにかけることで解くことができる。

例 3

鶴亀算の方程式

{𝑥+𝑦=8,2𝑥+4𝑦=26

は

(1124)(𝑥𝑦)=(826)

と表示でき、係数行列の逆行列は

(1124)−1=11⋅4−1⋅2(4−1−21)=12(4−1−21)

なので、解は

(𝑥𝑦)=12(4−1−21)(826)=12(4⋅8+(−1)⋅26(−2)⋅8+1⋅26)=(35)

と求まる。

線形漸化式と対角化

𝑛=0,1,2,3,…として、2つの数列𝑥𝑛と𝑦𝑛が二項間斉次線形漸化式

{𝑥𝑛+1=𝑎𝑥𝑛+𝑏𝑦𝑛,𝑥0=𝑒,𝑦𝑛+1=𝑐𝑥𝑛+𝑑𝑦𝑛,𝑦0=𝑓

を満たす状況を考える。 例えば、1リットルと2リットルの液体が入った二つの容器があるとして、 1回の操作でそれぞれの容器から4割の液体を取り出しもう片方の容器に移すことを考える。 𝑛回目の操作が終わった段階での容器の中の液体の量を𝑥𝑛リットルと𝑦𝑛リットルとすると、

{𝑥𝑛+1=0.6𝑥𝑛+0.4𝑦𝑛,𝑥0=1,𝑦𝑛+1=0.4𝑥𝑛+0.6𝑦𝑛,𝑦0=2

が成り立つ。 一般論に戻ると前節同様これは行列とベクトルを用いて

(𝑥𝑛+1𝑦𝑛+1)=(𝑎𝑏𝑐𝑑)(𝑥𝑛𝑦𝑛),(𝑥0𝑦0)=(𝑒𝑓)

と表される。 数列ベクトル、係数行列、初項ベクトルをそれぞれ𝒙𝑛, 𝐴, 𝒃とおくと漸化式は

𝒙𝑛+1=𝐴𝒙𝑛,𝒙0=𝒃

と表現できる。 これは𝑛を1つ増やすごとに𝐴を左からかけているので、2次正方行列𝐴の𝑛乗𝐴𝑛を単位行列𝐼に𝐴を𝑛回かけたものとして定義することで、

𝒙𝑛=𝐴𝑛𝒃

となる。 つまり二項間(斉次線形)漸化式を解くことは𝐴𝑛を計算することに帰着される。

この行列の𝑛乗などの計算をする際に重要になるのが対角化と呼ばれる手法である。 ここで対角とは(2次)正方行列𝐴=(𝑎𝑏𝑐𝑑)の左上から右下にかけての対角線上に位置する成分のことで、 対角成分以外の成分が全て0である正方行列を対角行列という。 対角化とは(2次)正方行列𝐴を対角行列𝐷=(𝑠00𝑡)と可逆行列𝑃を使って

𝐴=𝑃𝐷𝑃−1=𝑃(𝑠00𝑡)𝑃−1

と変形することである。 もし対角化ができたとしたら𝑛乗は

𝐴𝑛=(𝑃𝐷𝑃−1)𝑛=𝑃𝐷𝑛𝑃−1=𝑃(𝑠𝑛00𝑡𝑛)𝑃−1

と容易に計算することができる。

例 1

先述の液体の移し替えの漸化式

{𝑥𝑛+1=0.6𝑥𝑛+0.4𝑦𝑛,𝑥0=1,𝑦𝑛+1=0.4𝑥𝑛+0.6𝑦𝑛,𝑦0=2

は

(𝑥𝑛+1𝑦𝑛+1)=(0.60.40.40.6)(𝑥𝑛𝑦𝑛),(𝑥0𝑦0)=(12)

と表示でき、 詳細は省略するが係数行列は

(0.60.40.40.6)=(111−1)(1000.2)(111−1)−1

と対角化される(実際に右辺を計算すると左辺に一致する)。 よって、この数列の一般項は

(𝑥𝑛+1𝑦𝑛+1)=(0.60.40.40.6)𝑛(12)=(111−1)(1000.2𝑛)(111−1)−1(12)=12(3−0.2𝑛3+0.2𝑛)

と計算できる。

なお、対角化のための重要な過程が固有値と固有ベクトルを計算することであり、その際には行列式が重要な役割を果たす。

また、三項間斉次線形漸化式

𝑥𝑛+2=𝑎𝑥𝑛+1+𝑏𝑥𝑛

は𝑦𝑛=𝑥𝑛+1を導入すると𝑦𝑛+1=𝑎𝑦𝑛+𝑏𝑥𝑛より、

(𝑥𝑛+1𝑦𝑛+1)=(01𝑏𝑎)(𝑥𝑛𝑦𝑛),

を得る。 これにより行列での二項間線形漸化式は幅広い問題に対応できることがわかる。

回転行列

2次正方行列の中でも𝜃を実数として

𝑅(𝜃)=(cos𝜃−sin𝜃sin𝜃cos𝜃)

と表される行列を𝜃回転の回転行列という。 この行列が回転行列と呼ばれるのは座標平面上の点(𝑎,𝑏)に対して、回転行列をかけるつまり

(𝑥𝑦)=𝑅(𝜃)(𝑎𝑏)

として得られる点(𝑥,𝑦)は点(𝑎,𝑏)を原点中心に𝜃回転させた点に一致するためである。

この回転行列は上記のように回転にまつわる問題で登場するほか、積の計算が楽である。

命題 1 (回転行列の積)

𝛼, 𝛽を実数とする時、

𝑅(𝛼)𝑅(𝛽)=𝑅(𝛼+𝛽)

が成り立つ。

証明

計算すると

𝑅(𝛼)𝑅(𝛽)=(cos𝛼−sin𝛼sin𝛼cos𝛼)(cos𝛽−sin𝛽sin𝛽cos𝛽)=(cos𝛼cos𝛽−sin𝛼sin𝛽−cos𝛼sin𝛽−sin𝛼cos𝛽sin𝛼cos𝛽+cos𝛼sin𝛽−sin𝛼sin𝛽+cos𝛼cos𝛽).

よって加法定理により

𝑅(𝛼)𝑅(𝛽)=(cos(𝛼+𝛽)−sin(𝛼+𝛽)sin(𝛼+𝛽)cos(𝛼+𝛽))=𝑅(𝛼+𝛽)

である。

特に

𝑅(𝜃)𝑅(−𝜃)=𝑅(0)=𝐼

なので、𝜃回転の回転行列の逆行列は反対向きに𝜃回転の回転行列である、つまり

𝑅(𝜃)−1=𝑅(−𝜃)=(cos𝜃sin𝜃−sin𝜃cos𝜃)

が成り立つ。 また、

𝑅(𝜃)𝑛=𝑅(𝑛𝜃)

も成り立つ。

例 2

連立一次方程式

{𝑥−3𝑦=1,3𝑥+𝑦=0

を考える。 係数行列は

(1−331)=2(12−323212)=2𝑅(𝜋3)

なので、逆行列は12𝑅(−𝜋3)であり、解は

(𝑥𝑦)=12(1232−3212)(10)=(14−34)

と計算できる。