高等学校数学C/数学的な表現の工夫

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:Pathnav 本項は高等学校数学Cの「数学的な表現の工夫」の解説です。

  • 第1節「データの表現方法の工夫」では、身近な事象に関するデータを種類や目的に応じて表現する方法について学びます。
  • 第2節「行列による表現とその演算」では、データの行列を用いた表し方と行列の基礎的な演算について学びます。
  • 第3節「離散グラフによる表現」では、離散グラフを用いた表現方法と離散グラフを活用した問題解決について学びます。
  • 第4節「行列の応用」では、前々課程数学C「行列とその応用」にて扱っていた発展内容と大学で学ぶ線形代数学のうち基礎的な内容を扱います。
  • 第5節「コラム集」では、行列が身近な場面や今まで高校数学で扱ってきた分野に応用されている例を紹介します。

ベクトルの先行履修を推奨します。 複素数平面とはどちらの順番で履修しても構いません。

データの表現方法の工夫

パレート図

バブルチャート

レーダーチャート

モザイク図

ヒートマップ

偏差ベクトル

行列による表現とその演算

行列による表現

次の表は、ある月の第一週と第二週における、2つの店X, Yでの、3種類の色のボールペンの販売数を表したものである。

[第一週]

X556420
Y784536

[第二週]

X504416
Y694025


この表を、数字の並びを括弧で囲んだもので表すと、以下のようになる。

A=(556420784536),B=(504416694025)

上のように、いくつかの数や文字を長方形状に並べて両側を括弧で囲んだものを行列という。括弧の中のそれぞれの数や文字をその行列の成分という。行列は普通、大文字のアルファベットで表す。また、括弧は大括弧[]を用いても良い。

成分の横の並びを、縦の並びをという。行は上から、列は左から数える。m個の行とn個の列からなる行列をm行n列の行列m×n行列)と呼ぶ。特に、行と列の個数が等しいn×n行列をn次の正方行列(あるいは単にn次行列)という。また、第i列と第j列の交わるところにある成分を(i, j)成分という。 例えば、上の行列Aの(1,2)成分は64である。

m×n行列Aの(i, j)成分は普通、aijと表される。つまり、A=(a11a12a1ja1na21a22a2ja2nai1ai2aijainam1am2amjamn)である。

ただ1行からなる行列を行ベクトル、ただ1列からなる行列を列ベクトルという。また、1や3+iのような定数は1×1行列と考えることができる。

2つの行列X, Yについて、行数と列数が共に等しいとき、「XとYは同じ型である」という。行列X, Yが同じ型且つ対応する成分がそれぞれ等しいとき、「XとYは等しい」といい、X=Yと書く。


  • 例題

上の行列Aの第2行に現れる成分の和を求めよ。

  • 解答

第2行にある成分は78, 45, 36であるため、78+45+36=159

  • 例題

上の行列A, Bは同じ型であるかどうか答えよ。

  • 解答

行列Aも行列Bも2×3行列であるため、同じ型である。


行列の和と差

同じ型である複数の行列については、四則演算を考えることができる。ここでは、2つの行列の和と差を考える。

同じ型の2つの行列X,Yの対応する成分の和を成分とする行列をXとYのといい、X+Yと表す。同様に、同じ型の2つの行列X, Yの対応する成分の差を成分とする行列をXとYのといい、XYと表す。

例えば、上の行列A, Bは同じ型であるから、その和と差はそれぞれ以下のようになる。

A+B
=(556420784536)+(504416694025)
=(55+5064+4420+1678+6945+4036+25)
=(105108361478561)
AB
=(556420784536)(504416694025)
=(555064442016786945403625)
=(52049511)


全成分が0である行列を零行列といい、型と無関係にOと表す。

行列の加法と減法について、以下の性質が成り立つ。

交換法則
 
X+Y=Y+X

結合法則

(X+Y)+Z=X+(Y+Z)=X+Y+Z

零行列と加減法

XX=O, X+O=X


行列のスカラー倍

任意の定数kについて、行列Xの各成分のk倍を成分とする行列をkXで表す。

上の行列A, Bについて、その和A+Bは第一週の販売数と第二週の販売数の合計を表すので、12倍した値は平均値となる。P=A+Bとおくと、第一週の販売数と第二週の販売数の平均値は、

12P
=12(105108361478561)
=(121051210812361214712851261)
=(52.5541873.542.530.5)

となる。


行列kAに対して、k=1の時は1X=X, k=0の時は0X=Ok=1の時は1X=Xのように表す。また、aを正の数とするとき、(a)X=(aX) より、これらを単にaXのように書く。


行列のスカラー倍について、k,lを定数として以下の性質が成り立つ。

結合法則

k(lA)=(kl)A=klA

分配法則

(k+l)A=kA+lA, k(A+B)=kA+kB


k,lは実数に限らず、複素数でも良い。


行列の積

ここまでの内容を見返したとき、「似たような内容やったことあるな」と感じた人もいるだろう。 実は、ここまで見てきた行列の演算は、全てベクトルの成分演算を拡張したものになっている。

例えば、a=(1,3),b=(2,5)としたとき、

a+b=(1,3)+(2,5)=(1+2,3+5)=(3,8)
ab=(1,3)(2,5)=(12,35)=(1,2)
3a=3(1,3)=(31,33)=(3,9)

である。

このとき、a=(13),b=(25)あるいはa=(13),b=(25)のように書き、行列とみなして計算しても同じ結果が得られる。

ここから、「行列はベクトルを拡張したもの」ということがわかる。

そこで、行列の積もベクトルの演算を拡張する形で定義しよう。 高校範囲において、数における掛け算に相当するベクトルの演算としてベクトルの内積があった。

内積を忘れてしまったという人向けに書いておくと、

2つの平面ベクトルa=(a1,a2),b=(b1,b2)の内積はab=a1b1+a2b2
2つの空間ベクトルa=(a1,a2,a3),b=(b1,b2,b3)の内積はab=a1b1+a2b2+a3b3

である。

ここで、aをm次の列ベクトル、bをm次の行ベクトルとみなし、abと同じ結果になるように行ベクトルXと列ベクトルYの積XYを定義する。 すなわち、 X=(x1x2xm),Y=(y1y2ym)に対し、 XY=(x1x2xm)(y1y2ym)=k=1mxkykと定義する。

次は、これを元に一般の行列の積を考える。 行列Aの列数と行列Bの行数が等しいとき、Aの各行の成分の個数とBの各列の成分の個数が一致するから、積ABを考えることができる。

例えば、3つの列ベクトルP, Q, Rを並べた行列(PQR)をSとおく。 このとき、行ベクトルAと行列Sの積はAS=(APAQAR)である。 同様に、3つの行ベクトルK, L, Mを並べた行列(KLM)をNとおくと、列ベクトルBと行列Nの積は(BKBLBM)である。

この2つから考えて、Aがl×m行列、Bがm×n行列のとき、積ABを、Aの第i行を取り出した行ベクトルとBの第j列を取り出した列ベクトルの積を(i, j)成分としたl×n行列と定める。

  • 例題
    • 以下を計算せよ
      1. (abcd)(xzyw)
      2. (abcdefghi)(psqtru)
    • 解答
      1. (ax+byaz+bwcx+dycz+dw)
      2. (ap+bq+cras+bt+cudp+eq+frds+et+fugp+hq+irgs+ht+iu)

なお、上とは別の方法で定義された行列の積もある。そちらの計算結果はこちらとは大幅に異なる。詳しくは「w:行列の乗法」を参照。


行列の乗法について、kを実数として以下の性質が成り立つ。

結合法則

(kA)B=A(kB)=k(AB)=kAB, A(BC)=A(BC)=ABC

分配法則

(A+B)C=AC+BC, A(B+C)=AB+AC


なお、結合法則の式において、AB=aあるいはBC=aとなる場合、このaは1次行列であることに注意(行列の演算結果として出てきた一次行列を普通の定数とみなしてスカラー倍計算することはできない)。


  • 例題
    • A=(1102), B=(1230), C=(5207)について、以下を計算せよ。
      1. AB
      2. BA
      3. AC
      4. CA
    • 解答
      1. AB=(4260)
      2. BA=(1533)
      3. AC=(59014)
      4. CA=(59014)


上の例題からわかるように、行列の乗法では交換法則は一般には成り立たない

交換法則が成り立つ、すなわちAB=BAであるとき、「AとBは交換可能可換)である」という。

なお、上の例題においては(A+B)(AB)A2B2(A+C)(AC)=A2C2である。 時間があったら確かめてみよう。


先ほど、「Aがl×m行列、Bがm×n行列のとき、積ABはAの第i行を取り出した行ベクトルとBの第j列を取り出した列ベクトルの積を(i, j)成分としたl×n行列」と定めたが、lとnが一致しない場合はBAが計算できない。一般に、AとBが同じ次数の正方行列ならばAB,BAともに計算できる。


次の表は、太郎君の家で4月から7月までにスーパーで買った、飲食料品と他の商品の税込価格の合計である。

飲食料品費他商品費
4月7452015400
5月6804012100
6月7560013200
7月6912014300

消費税が飲食料品に8%、他の商品に10%掛かっているとして、この表から税額を計算したい。 この表を行列で表記するとA=(7452015400680401210075600132006912014300)であり、第一列と第二列にそれぞれ0.081.08,0.11.1を掛けられるような行列を考える。そのような行列をP=(0.081.08000.11.1)とおくと、AP=(55201400504011005600120051201300)である。第一列、第二列の成分を見ると、条件を満たしていることがわかる。

一般に、行列の左上の成分と右下の成分を結んだ対角線を主対角線といい、主対角線上の成分を対角成分という。対角成分以外の成分が全て0である正方行列を対角行列という。列ごとに定数倍したい場合、対角行列を掛ければ良い。

k番目の対角成分がdkであるn次対角行列をdiag(d1,d2,,dn)と表す。

n次の対角行列において、対角成分が全て1であるものをn次の単位行列と呼び、EまたはInで表す。 例えば、2次の単位行列はE=(1001)である。 n次の正方行列をAとすると、n次の単位行列E, n次の零行列Oとの間には次のような関係がある。

AE=EA=A
AO=OA=O

これは、実数における1、0の掛け算と同様の性質である。


なお、Aが対角行列であるとき、対角成分の和をトレース)と言いtrAと表す。


  • 例題
    • A=(2142), B=(1224)の積ABを計算せよ
  • 解答
    • AB=(0000)=O

上の例題のように、実数とは異なりAOかつBOであってもAB=Oとなる場合がある。このとき、A,B零因子という。


逆行列

0以外の実数において掛けたら1になるような数、逆数を考えたのと同様に、正方行列Xに対し、掛けたら同じ型の単位行列Eになるような行列を考える。この行列を逆行列といい、X1と表す。

正方行列Xの逆行列X1が存在するならば、X1はただ一つに定まり、XX1=X1X=Eを満たす。

2つの実数の商を「割られる数aと割る数bの逆数の積ab(=ab1)」で定義したように、2つの行列の商を「割られる行列Aと割る行列Bの逆行列の積AB1」と定義することができる。注意しなければならないのは、行列の積は先述の通り一般には可換でないので、実数のように分数表記を用いることはできない。

単位行列の逆行列を考える。単位行列の逆行列をIとおくと、逆行列の定義からEI=IE=Eであり、単位行列の性質からEI=IE=IであることからI=Eが成り立つ。すなわち、単位行列の逆行列はその単位行列自身である。

次に、零行列の逆行列を考える。逆行列の定義は「元の行列と掛けたら単位行列になる行列」であり、零行列は他の行列との積が必ず零行列になるため、零行列の逆行列は存在しない

これらは実数における「1の逆数は1自身」「0の逆数は存在しない」という性質と同様である。


2次行列の逆行列について考える。

A=(abcd)に対しP=(dbca)とすると、AP=(adbc00adbc)=(adbc)Eであり、A(1adbcP)=Eが成り立つ。すなわち、逆行列の定義よりA1=1adbcP=1adbc(dbca)である。

ただし、adbc=0の場合、Aは逆行列A1を持たない


正方行列Xに逆行列が存在するなら「Xは正則である」といい、存在しないなら「Xは特異である」という。逆行列が存在する正方行列を正則行列、存在しない正方行列を特異行列という。


  • 問題
    • 零因子が特異行列であることを証明せよ。


2つの正則行列A,Bについて、(AB)1=B1A1が成り立つ。 これは、AB(B1A1)(B1A1)ABの計算結果がともにEとなることから明らかである。


次数が3以上の場合、逆行列の計算には次のガウスの消去法掃き出し法)が用いられる。

ガウスの消去法掃き出し法)I

正方行列Aの横に同じ次数の単位行列Eを並べた行列(AE)に行基本変形を施して(EB)となる場合、B=A1である。


行列を横に並べる際、2つの行列の区別のため境目に縦線|を入れる場合がある。


行基本変形とは、次の3つの操作のことである。

  1. ある行をc(≠0)倍する
  2. 二つの行を交換する
  3. ある行にある行のc(≠0)倍を加える

上の3つの操作は、それぞれ次の行列を右から掛けることと同値である。

  1. n次単位行列Inの(i, j)成分をcに置き換えた行列Pn(i;c)(ただしc0
  2. Inの(i, i)成分と(j, j)成分を0に置き換え、(i, j)成分と(j, i)成分を1に置き換えた行列Pn(i,j)(ただしij
  3. Inの(i, j)成分をcに置き換えた行列Pn(i,j;c)(ただしij

この3つの行列を基本行列という。

なお、基本行列を左から掛けると列に対する操作になり、これを列基本変形という。行基本変形と列基本変形を纏めて「行列の基本変形」と呼ぶ。基本変形は可逆な操作であり、Aに基本変形を施してBになるならば、必ずBに基本変形を施してAに戻すことができる。


  • 例題
    • P=(111201021)の逆行列を求めよ。
  • 解答

Pと3次単位行列Eを並べた行列は

(111100201010021001)

である。

一行目の2倍を二行目に加えて

(111100021210021001)

二行目の1/2倍を一行目から引き、三行目から二行目を引いて

(10120120021210002211)

三行目の1/4倍を一行目に加え、三行目の1/2倍を二行目に加えて

(10012341402011212002211)

二行目と三行目を1/2倍して

(10012341401012141400111212)

線で区切った左側の行列がEになっているので、求める逆行列は線で区切った右側の行列、すなわち(12341412141411212)である。


発展:転置と表操作

行列Aに対し、その列と行を入れ替えた行列をA転置行列といい、tAと表す。AからtAを作ることを、「Aを転置する(Aの転置をとる)」という。

例えば、A=(abcd)に対し、tA=(acbd)である。

また、列ベクトルの転置は行ベクトルとなる。


その定義より、t(tA)=Aである。


X, Yを同じ型の行列、kを定数とするとt(X+Y)=tX+tY,t(kX)=ktXが成り立つ。

また、行列A,Bとその転置行列tA,tBについて、t(AB)=tBtAが成り立つ。


tA=Aを満たす行列を対称行列tA=Aを満たす行列を交代行列という。

例えば、対角行列は対称行列である。

対称行列かつ交代行列である行列はOのみである。

また、任意の正方行列Aに対し、A=A+tA2+AtA2が成り立つ。このとき、A+tA2は対称行列、AtA2は交代行列であることが、それぞれの転置をとることで確認できる。

正則行列Aに関して、(tA)1=t(A1)が成り立つ。


この節の最初に「行列は数や文字を長方形状に並べたもの」と述べたが、行列の積を考えるときに「行列は数ベクトルを1方向に並べたもの」という考え方を使った。 この考え方を用いると、以下が成り立つことがわかる。

a1,a2,,anを同じ型の列ベクトルとすると、A=(a1a2an)についてtA=(ta1ta2tan)である。


行列Aがm×n行列であるとき、その転置行列tAはn×m行列である。そのため、AtAtAAは常に計算可能である。また、計算結果は対称行列となる。


AtA=tAA=Eとなる正方行列Aを考える。このような行列を直交行列という。

一般に直交行列は正則行列であり、tA=A1が成り立つ。直交行列の逆行列は直交行列であり、上式から直交行列の転置行列も直交行列である。2つの直交行列の積もまた直交行列になる。


次の表は、3人の中学生Aさん, Bさん, Cさんの定期テストの点数を表した表である。

国語数学英語理科社会
A6582789667
B8563906594
C9876708590

この表を行列で表すと、P=(658278966785639065949876708590)である。

この行列から一部の行や列のみを取り出すことを考える。


例えば国語の点数(一列目)のみを取り出したい場合、(10000)という行列を右から掛ければ良い。実際に計算すると、P(10000)=(658598)である。

ここで、一つの成分が1で残りの成分が0である列ベクトルを基本ベクトルといい、1である場所が上からi番目であるとき、eiと表す。例えば、上の計算で用いた5次列ベクトルはe1である。なお、この記号は列ベクトルの型によらず用いるため、常に型に注意する必要がある

複数列を抽出する場合、取り出したい列をa,b, とすると、Pに行列(eaeb)を右からかければ良い。


また、複数列の抽出を応用することにより、表の列を並べ替えることができる。

例えば、上の表の点数を「英語, 数学, 国語 , 社会, 理科」の順に並べ替えたい場合、P(e3e2e1e5e4)を計算すれば良い。


行に対して操作する場合、基本ベクトルを転置して左から掛ければ良い。

例えば、Cさんの点数を抽出する場合、te2P=(010)(658278966785639065949876708590)=(9876708590)と計算する。

複数行の抽出や行の並べ替えも同様にできる。

例えば、「Cさん, Aさん, Bさん」の順番で並べる場合、(te3te1te2)Pを計算すれば良い。

列操作と行操作を同時に行うことで、特定の成分を取り出すこともできる。


一般に、各行各列に1が一つづつ配置され、残りの成分が全て0である行列を置換行列という。例えば、単位行列は置換行列である。置換行列は直交行列でもある。


次に、各行・各列の和を求めることを考える。

行列の積を考えたとき、先に列ベクトルと行ベクトルの積を考えた。その考え方を用いると、各列の和を求めたい場合、元の行列に成分が全て1である列ベクトルを右から掛ければ良い。

ここでは、全ての成分が1であるn次列ベクトルをJnと表すこととする。

例えば、上の表で3人の点数の合計を計算すると、PJ5=(658278966785639065949876708590)(11111)=(388397419)である。

各行の和を求める場合、tJnを左からかければ良い。

また、掛ける数ベクトルの成分の値を変えることにより、目的に応じてさまざまな合計を出すことができる。


ここまで行列の積・転置操作の応用として表操作を見てきたが、もう一つ応用を考えよう。

2つのベクトルOP,OQの成分を列ベクトルを用いてOP=(ab),OQ=(cd)と表す。 このとき、|OP|2=a2+b2,|OQ|2=c2+d2,OPOQ=ac+bdである。

A=(OPOQ)とおくと、 tAA=(abcd)(acbd)=(a2+b2ac+bdac+bdc2+d2)=(|OP|2OPOQOPOQ|OQ|2)となる。


特に|OP|=|OQ|=1のとき、tAA=(1cosθcosθ1)である(ただし、θOPOQの成す角)。

このようにして、ベクトルの成す角θを求めることができる。


ここまで行列のさまざまな演算を見てきたが、普通の数と同様に演算順が決まっている。 具体的には、

  1. 括弧の中の計算
  2. 逆行列・転置をとる計算
  3. スカラー倍・積の計算
  4. 和・差の計算

を式の左側から順に行っていく。


離散グラフによる表現

離散グラフ

点とそれらを結ぶ線で構成された図を離散グラフという。離散グラフの点を頂点、線を、頂点に集まる辺の本数をその頂点の次数という。 ここでは辺の向きは考えない(無向グラフのみを扱う)。

グラフGを構成する頂点の集合をV、辺の集合をEとし、G=(V,E)と表記する。頂点をuvで表すことが多く、頂点u,vを結ぶ辺を{u,v}と表記する。

  • 例題
    • グラフG=({v1,v2,v3,v4},{{v1,v2},{v1,v3},{v1,v4},{v2,v3},{v3,v4}})を作図せよ。
    • 解答


一筆書き

以下、「ケーニヒスベルクの橋の問題」を例に、離散グラフの一筆書きについて考える。

ブレーゲル川と七つの橋を示したオイラーの時代のケーニヒスベルク

18世紀の初め頃、東プロイセンの首都であるケーニヒスベルク (現・ロシア、カリーニングラード)という大きな町があった。この町の中央には、プレーゲル川という大きな川が流れており、七つの橋が架けられていた。あるとき町の人が、次のように言った。

「このプレーゲル川に架かっている7つの橋を2度通らずに、全て渡って、元の所に帰ってくることができるか。ただし、どこから出発してもよい」

町の人が言ったことはできるだろうか。


1736年、レオンハルト・オイラーは、この問題を以下の離散グラフに置き換えて考えた。

このグラフが一筆書き可能であれば、ケーニヒスベルクの橋を全て1度ずつ通って元の場所に戻ってくるルートが存在することになる。


離散グラフのどの2頂点も幾つかの辺を辿って一方から他方へ行けるとき、その離散グラフは「連結である」という。

ここでは、次数が奇数である頂点を奇点、次数が偶数である頂点を偶点、一筆書きの始める頂点を始点、一筆書きを終える頂点を終点、そのどちらでもない頂点を途中点と呼ぶことにする。


途中点ではその頂点に集まる辺を使って「入る」「出る」が繰り返され、最後は必ず「出る」で終わる。つまり、途中点は必ず偶点になる。 奇点が始点である場合、終点では「入る」「出る」が繰り返され、最後は「入る」でおわる。つまり、奇点が始点であるならば、終点もまた奇点である。

したがって、一筆書きができる離散グラフに奇点があれば、奇点は2つあり、それらは必ず始点・終点のペアになる。すなわち、離散グラフにおいて、奇点の個数が1または3以上であるならば一筆書きはできない。

このことを言い換えたのが、次のオイラーグラフの定理である。

オイラーグラフの定理

連結である離散グラフにおいて一筆書きができるための必要十分条件は、奇点の個数が0または2であることである。


奇点の数が0であるとき、離散グラフには偶点しか存在せず、どの偶点を始点にしても必ず元の点に戻ってくる。このように、一筆書きが可能でどの点から始めても始点と終点が一致する離散グラフをオイラーグラフという。


最短経路

離散グラフと隣接行列

経路の数え上げ

行列の冪乗についても指数法則が成り立つ。

離散グラフの応用

多面体と離散グラフ
場合の数と離散グラフ


発展:行列の応用

行列式・固有値

二次行列A=(abcd)に対しA1が存在する必要十分条件はadbc0であった。つまり、adbcという式はAの判別式のような役割をする。 この式を二次行列の行列式といい、|A|もしくはdetAと表す。行列の成分を表示して記す場合、行列の括弧を外して絶対値記号の中に成分を並べ|abcd|のように表すか、括弧の左にdetを書いてdet(abcd)と表す。絶対値記号を用いてはいるが、行列式は負の値をとり得るので注意。


3次行列(abcdefghi)の行列式は|abcdefghi|=aeiafh+bfgbdi+cdhcegである。


一般に、n次行列の行列式の値はn!個の項の足し算/引き算で求まり、各項はn個の成分の積となっている。


行列式の正式な定義は省略するが、実用上、4次以上の行列式を定義通りに計算することはほとんどない。また、行列式は正方行列にしか定義されない。


|(detA)|はAを構成する列ベクトルの張る図形の体積であることが知られている。例えば、3次行列の場合、行列式の値の絶対値は各列ベクトルの張る平行六面体の体積と一致する。


次の公式が成り立つ。 |a11a12a1na22a2nOann|=|a11Oa21a22an1an2ann|=k=1nakk

第一式の中身は上三角行列、第二式の中身は下三角行列と呼ばれる行列である。ただし、Oは0の集まりを表す。2つ合わせて三角行列という。第三式のk=1nは「kに1からnまで代入したものを全て掛ける」という意味の記号(簡単に言えばk=1nの掛け算バージョン)であり、Ππの大文字である。


n次行列Aからi行目とj列目を除いた行列をAijと表す。 このとき、(1)i+j×detAij(i, j)余因子と呼び、Δijと表す。


正方行列Aに対し、(i, j)成分がΔijである行列の転置行列を余因子行列といい、A~と表す。


Aが正則ならば、A1=A~detAが成り立つが、これを利用して逆行列を求めるよりは、行基本変形で求めた方が遙かに計算量が少なくて済む。


余因子展開

正方行列Aの行列式detAについて、iを任意の非負整数とするとdetA=j=inaijΔijと展開できる。


実際に行列式を計算する場合、余因子展開を行う前に基本変形で一行目・一列目に0を増やすと計算しやすくなる。余因子展開を繰り返すことにより二次・三次または三角行列の行列式の四則演算に帰着でき、次数の大きい行列の行列式が簡単に計算できる。


対角行列の行列式は対角成分の総積となる。単位行列は成分が全て1である対角行列なので、その行列式は1である。零行列の行列式は0である。


正方行列Aについて、

Aが正則detA0Aを構成する行/列ベクトル同士が一次独立

が成り立つ。


一般の正方行列についてdet(tA)=detAが成り立つ。また、正則行列についてdet(A1)=(detA)1=1detAが成り立つ。


正方行列に対して基本変形を施すと、行列式は以下のように変化する。

  1. 第i行/列のc倍を第j列/行に加える変形をしても、行列式の値は変わらない。
  2. 第i行/列と第j行/列を入れ替える変形をすると、行列式の符号が逆転する。
  3. 第j行/列をc(0)倍すると、行列式の値もc倍される。


行列の積についてdet(AB)=detA×detBが成り立つ。


  • 問題
    • 行列式を用いて次の行列が正則行列であるかどうか判定せよ。
      1. (3624)
      2. (124738596)
      3. (1242731418234167937345711)


直交行列Aについて、|(detA)|=1が成り立つ。

  • 例題
    • 上記を証明せよ
  • 解答

直交行列はその転置行列が逆行列に等しい行列なので、

detE=det(AA1)=det(AtA)=detA×det(tA)=(detA)2

ここでdetE=1なので、二次方程式(detA)2=1を解いて|(detA)|=1となる。


ベクトルの外積は行列式を用いて表記できる。

a=(axayaz),b=(bxbybz)、3つの座標軸の基本ベクトルをそれぞれex,ey,ezとしたとき、a×b=(aybzazbyazbxaxbzaxbyaybx)を基本ベクトルの一次結合で表すと、

(aybzazby)ex+(azbxaxbz)ey+(axbyaybx)ez

係数部分を行列式表記にすると、

|ayazbybz|ex+|azaxbzbx|ey+|axaybxby|ez

2つ目の行列式の各列を入れ替えると基本変形の性質より、

|ayazbybz|ex|axazbxbz|ey+|axaybxby|ez

3つの基本ベクトルを3次の行列式の一行目の成分と考えて余因子展開の逆を行なうと、

|exeyezaxayazbxbybz|

よって、

a×b=|exeyezaxayazbxbybz|

この式を見ると、一行目は座標軸の基本ベクトル、二行目はaの成分、三行目はbの成分がx,y,zの順番で並んでいて整然としている。


ケーリー・ハミルトンの定理
 
二次行列Aについて、A2(trA)A+(detA)E=Oが成り立つ。

これを用いて、Anの次数下げを行うことができる。 具体的には、An=An2A2=An4A2A2と変形し、A2=(trA)A(detA)Eを順次代入していく。代入の過程で出たA2にも順次代入すると、最終的にはAの一次式となる。


  • 例題
    • ケーリー・ハミルトンの定理を利用して「二次行列Aが特異行列であるdetA0」を証明せよ。


Mn=O(MO)を満たす行列M冪零行列という。

  • 例題
    • 1. 冪零行列は逆行列を持たないことを証明せよ。
    • 2. ケーリー・ハミルトンの定理を利用して、「二次行列Aが冪零行列A2=O」を証明せよ。



行列式と同じように行列の特性を表す値がある。それが以下で扱う固有値である。固有値は量子力学やグラフ理論など、数多の場面で活躍する重要な概念である。


n次行列Aに対し、A𝐱=λ𝐱を満たす 複素数λをAの固有値、列ベクトル𝐱を固有値に対する固有ベクトルという。なお、λはラムダと読むギリシャ文字である。また、固有ベクトルの長さは議論に関係ない。つまり、𝐱が固有ベクトルならばk𝐱(k0)も固有ベクトルである。普通、「固有ベクトルを求めよ」と聞かれたら 固有ベクトルのうち最も簡単なものを答える。


注意𝐚aと同じ意味の記号である。ベクトルが常に有向線分を表すわけではないため、大学では矢印を付ける代わりに太文字を用いて表すことが多い。このページでは「𝐚:一般のベクトル、a:有向線分を表すベクトル」と使い分ける。


Inをn次単位行列とすると、

A𝐱=λ𝐱λ𝐱A𝐱=O(λInA)𝐱=O

最後の式を考えると、(λInA)𝐱=Oとなる𝐱(O)が存在する必要十分条件はλInAが特異行列であることである。

すなわち、

det(λInA)=0

が成り立つ。

この方程式をAの固有方程式特性方程式)という。

また、左辺の行列式はn次の多項式に展開できる。この多項式をAの固有多項式と言い、ΦA(λ)と表す。ただし、Φはファイと読むギリシャ文字である。


固有方程式の解を考えると、n次正方行列Aの固有値は値の重複を含めてn個(λ1,λ2,,λn)あることがわかる。逆に、固有多項式はΦA(λ)=i=1n(λλi)と表せる。固有値の値の重複を考慮に入れて書き換えると、rnとしてΦA(λ)=i=1r(λλi)νiとなる。このとき、νiλiに対する(代数学的)重複度という。なお、νはニューと読むギリシャ文字である。


固有方程式のλ強引にAへ置き換えると、n次行列についてのケーリー・ハミルトンの定理が得られる。(Aは行列、λは定数なので、「固有方程式ΦA(λ)=OAを代入すれば明らか」という証明はできない。)


固有値を正しく計算できているか確かめる方法として、次の性質が用いられる。

正方行列Aについて、trA=i=1nλi


  • 例題

(4121)の固有値と対応する固有ベクトルをそれぞれ求めよ。

  • 解答

固有方程式に代入すると、

det(λ(1001)(4121))=0

整理すると

det(λ412λ1)=0

計算して

(λ4)(λ1)(1)×2=0
λ25λ+6=0
(λ2)(λ3)=0
λ=2,3

ここで元の行列の跡は5、求めた固有値の和は5なので、正しく求められていることが確かめられた。

固有値2に対応する固有ベクトルは、

(241221)X=Oより
X=(12)と求まる。

固有値3に対応する固有ベクトルは、

(341231)X=Oより
X=(11)と求まる。


  • 問題

(211431442)の固有値を求めよ。


転置行列についてΦA(λ)=ΦtA(λ)が成り立つ。


固有多項式にλ=0を代入すると以下の定理が得られる。

Aをn次行列、その固有値をλ1,λ2,,λnとすると、detA=i=1nλi


このことから、0は正則行列の固有値になり得ないことがわかる。 そこで、逆行列の固有値について考える。

正則行列Aの固有ベクトルを𝐱λとおく。

固有値の定義から、

A𝐱λ=λ𝐱λ

Aの逆行列を両辺に左から掛けて、

E𝐱λ=λA1𝐱λ

λ0なので、

1λ𝐱λ=A1𝐱λ

よって、A1の固有値は1λ

つまり、逆行列の固有値は元の行列の固有値の逆数であり、固有ベクトルは元の行列と共通である


固有値は複素数であるため、複素数平面上に描画できる。 特殊な行列の固有値について紹介すると、

  • 対称行列の固有値は全て実軸上に存在する
  • 交代行列の固有値は全て虚軸上に存在する
  • 直交行列の固有値は全て単位円上に存在する


正方行列A,Bに対してB=P1APとなる正則行列Pが存在するならば、「A,B相似である」といい、ABと表す。AP1Pで挾む操作を相似変換という。

行列の相似について、以下が成立する。

  • AA
  • ABBA
  • ABBCAC

(ABは「A且つB」を意味する論理記号である。)

相似な行列A, Bについて、以下が成り立つ。

  • detA=detB
  • rankA=rankB
  • λA=λB
  • trA=trB
  • AnBn

上の5つの性質は簡単に証明できるので、時間があれば挑戦してみよう。


正方行列Aを相似変換によって対角行列Dに変換することを行列の対角化という。


行列が対角化可能である必要十分条件を求める。

P1AP=DDを成分表示すると、

P1AP=(d1000d2000dn)

両辺にPを左から掛けて

AP=P(d1000d2000dn)

ここでPを列ベクトル𝐱iを用いて表すとP=(𝐱1𝐱2𝐱i𝐱n)なので、

A𝐱i=di𝐱i(ただしi=1,2,,n

ここから、Pを構成する列ベクトルはAの固有ベクトルであり、Pの対角成分は各固有ベクトルに対応する固有値であることがわかるので、

Pが正則Aの各固有ベクトルが一次独立detP0

よって、

Aが対角化可能Aの固有ベクトルを並べた行列PについてdetP0

Aが対角化可能なときは、Aのi番目の固有値をλiとするとD=diag(λ1,λ2,,λn)である。


対角化の検算について、P1AP=Dをそのまま用いて検算しようとするとP1を求める必要があるため面倒である。そこで、両辺にPを左から掛けるとAP=PDとなる。これならば容易に計算できる。


  • 問題
    • 以下の行列が対角化可能であるか判定し、可能な場合は対角化せよ。
    • 1. (2561)
    • 2. (193282391)


連立一次方程式

複数の方程式の左側に{を書いて連立させたものを連立方程式という。 連立させる式が全て一次式の場合は特に連立一次方程式という。 連立させる式の本数がnであるとき、n元連立方程式という。 連立方程式を解くとは、連立させた式を全て満たすように全ての変数の値を定めることである。解が不定になる場合は媒介変数を用いて表す。このとき用いる媒介変数の個数を連立方程式の自由度という。


(abcd)(xy)を計算すると(ax+bycx+dy)である。

よって、2変数の2元連立一次方程式

{ax+by=pcx+dy=q

は行列を用いて記述すると

(abcd)(xy)=(pq)

となる。


一般に、l変数のn元連立一次方程式は「(n×l行列)(l次列ベクトル) = (n次列ベクトル)」と表せる。このとき、l次行ベクトルの係数となるn×l行列を係数行列という。

つまり、係数行列をA、l次列ベクトルを𝐱、n次列ベクトルを𝐛とおくと、連立一次方程式は

A𝐱=𝐛

と表記できる。

この方程式の解はAが正則行列であれば一意に定まり𝐱=A1𝐛 である。


2変数の2元連立一次方程式の場合は、係数行列が2次行列になるので逆行列が簡単に求まる。

  • 例題
    • {ax+by=pcx+dy=qをx,yについて解け。ただし、|abcd|0とする。
    • 解答
{ax+by=pcx+dy=q
(abcd)(xy)=(pq)
(xy)=1adbc(dbca)(pq)(|abcd|=adbc0)
{x=dadbcpbadbcqy=cadbcp+aadbcq


一般の連立一次方程式においては、掃き出し法を用いて解を求めることができる。

連立一次方程式A𝐱=𝐛の係数行列Aとn次列ベクトル𝐛を横に並べた行列(A𝐛)拡大係数行列という。

ガウスの消去法掃き出し法)II 

連立一次方程式A𝐱=𝐛の拡大係数行列(A𝐛)をAに関して簡約化した行列(A𝐛)について、A𝐱=𝐛の解は元の方程式の解と一致する。


簡約化とは、任意の行列を行基本変形を繰り返すことによってRREF行列簡約行列)へ変換することである。

行列のそれぞれの行の最初に現れる0でない成分を行列の主成分といい、RREF行列は以下の4つを満たす行列である。

  1. 全ての主成分が1である
  2. 主成分を持つ列ベクトルが基本ベクトルである
  3. 右側の列ほど主成分が下側にある
  4. 全ての成分が0である行が0以外の値を成分に持つ行よりも下側にある


  • 例題
    • 連立方程式{x+y+3z=52x+3y+2z=102x+4y+z=32を解け。
  • 解答
{x+y+3z=52x+3y+2z=102x+4y+z=32(113232241)(xyz)=(51032)
拡大係数行列(11352321024132)に行基本変形を繰り返し用いて、
(10013941010276410017041)
よって、
E(xyz)=(13941276417041){x=13941y=27641z=7041である。


連立方程式が掃き出し法で解ける原理を簡単に説明する。

基本行列を纏めてSとする。 拡大係数行列に左からSを掛けてS(A𝐛)=(SAS𝐛)とすることと連立一次方程式A𝐱=𝐛に左からSを掛けてSA𝐱=S𝐛とすることは同値なので、SAができるだけ簡単になるように簡約化することで、連立方程式が上手く解けるようになる。


完全に簡約化しなくても解が求まる場合がある。 また、解が不定、計算不能である場合もある。

  • 例題
    • 次の連立方程式を解け

1. {x+2yz+3w=32x+4y+4z+3w=93x+6yz+8w=10

2. {ab+c=3b+c=02a+4b+8c=7

  • 解答

1. {x+2yz+3w=32x+4y+4z+3w=93x+6yz+8w=10(121324433618)(xyzw)=(3910)

拡大係数行列は(1213324439361810)である。
行基本変形を繰り返し施して、
(1213324439361810)
(121330063300211)
(121330021100000)
(125060021100000)
よって、
(125000210000)(xyzw)=(610){x+2y+5z=62zw=10=0

媒介変数をs,tとすると、解は{x=62s5ty=sz=tw=2t1である。

2. {ab+c=3b+c=02a+4b+8c=7(111011248)(abc)=(307)

拡大係数行列は(111301102487)である。
行基本変形を繰り返し施して、
(111301102487)
(102301102487)
(102301102047)
(102301100001)
よって、
(103011000)(abc)=(301){a+2c=3b+c=00=1

0=1は成立し得ないので、求める解は存在しない。


連立一次方程式が解を持つ条件を考える。


0でない成分を*とするとき、(***O)の形をした行列を階段行列という。例えば、RREF行列は階段行列である。対角行列のように、*の右側に0が入っているものも階段行列と言って良い。

*を含む行の個数を階段行列の段数という。


掃き出し法を見ればわかるように、任意の行列は行基本変形を繰り返せば階段行列に変形できる。そこで、階段行列に関連した指標を定義する。

行列の階数(ランク)

任意の行列Aを行基本変形を用いて階段行列に変換した時、0でない成分が含まれる行の個数を行列の階数ランク)といい、rankAと表す。

0でない成分が含まれる行の個数は*を含む行の個数であるため、Aを変形した階段行列の段数はrankAに等しい。 また、Aの列/行ベクトルのうち一次独立なベクトルの最大個数もrankAに等しくなる。

m×n行列の階数は必ずm,nの小さい方以下になる。


連立一次方程式A𝐱=𝐛について、Aのk番目の列ベクトルを𝐚kとおく(1kn)。 このとき、Aの列数と𝐱の行数が一致していなければ左辺を計算できないので、A=(𝐚1𝐚2𝐚n),𝐱=(x1x2xn)である。

A𝐱=𝐛が解を持つとき、k=1nxk𝐚k=𝐛が成り立つ。 これは一次独立なベクトルの一次結合であるため、階数の定義よりrankA=rank(A𝐛)が成り立つ。

逆に、rankA=rank(A𝐛)が成り立つとき、rankA=mとすると𝐛𝐚1,𝐚2,,𝐚nの中から選んだm個の一次独立なベクトルの一次結合で表せ、𝐛=k=1nxk𝐚kとなる𝐱(=(x1x2xn))が少なくとも一つ存在する。このとき、𝐱A𝐱=𝐛の解そのものである。

よって、

連立一次方程式A𝐱=𝐛が解を持つrankA=rank(A𝐛)

なお、rankArank(A𝐛)の場合、(A𝐛)を簡約化すると最後の行に対応する式は必ず0=1という矛盾した式となる。


A𝐱=𝐛の解がただ一つである条件を考える。

解がただ一つならば、テンプレート:式番号を満たす(x1x2xn)(=𝐱)が一つに定まる。これは、𝐚kが一次独立であることを示している。 𝐚kが一次独立でないとすると、テンプレート:式番号を満たすyk(xk,0)が存在し、(1)+(2)より𝐱=(x1+y1x2+y2xn+yn)も連立方程式の解となり、解の一意性に反する。 よって、

解がただ一つ𝐚kが一次独立rankA=n

逆に、rankA=nとすると、 A𝐱=𝐛,A𝐲=𝐛について、A(𝐱𝐲)=Ok=1n(xkyk)𝐚k=Oxkyk=0xk=yk𝐱=𝐲

よって、

連立一次方程式A𝐱=𝐛がただ一つの解を持つrankA=rank(A𝐛)=n(ただし、nはAの行数であり、Aの列数以下の値をとる)


このことから、連立一次方程式の式の本数が変数の個数以上のとき、解の個数は0または1であることがわかる。式の本数が変数の個数を下回るとき、解は不定になる。

なお、rankArank(A𝐛)を求める過程で同時に求まる。


連立一次方程式A𝐱=𝐛の解が存在するとき、その自由度はちょうどnrankAであることが知られている。このnAの列数であり、𝐱の行数であり、連立一次方程式の変数の個数である。


  • 例題
    • 連立一次方程式{x+2yz+3w=32x+4y+4z+3w=93x+6yz+8w=10について、上のことを確かめよ。
  • 解答
拡大係数行列は(1213324439361810)である。
行基本変形を繰り返し施すと、
(125060021100000)
よって、
rank(121324433618)=rank(125000210000)=2
元の式の変数の個数は4なので、42=2
これは、先ほど求めたこの連立方程式の解を表すのに使われた媒介変数の個数と一致している。

変数の個数が係数行列の階数に一致するとき、自由度が0なので解は一つに定まる。


連立一次方程式A𝐱=Oを特に斉次連立一次方程式という。 この方程式について、以下のことが成り立つ。

この方程式が𝐱=O(自明解)以外の解(非自明解)を持つrankA<n(ただし、nは方程式の変数の個数)


  • 例題
    • 対偶を利用して上記を証明せよ
  • 解答

先ほど証明したことから、

rankA=nA𝐱=Oの解がただ1つA𝐱=Oの解が自明解のみ

この真なる命題の対偶をとると、

A𝐱=Oが非自明解を持つrankAn

このとき、nは係数行列Aの列数に等しく、Aの階数はその定義より必ずAの行数と列数の小さい方以下の値をとるため、

rankAnrankA<n

が成り立つ。 命題とその対偶の真偽は一致するため、命題「A𝐱=Oが非自明解を持つrankA<n」は真である。


一次変換

一次変換を学ぶ上で大切になるのが、写像と呼ばれる概念である。 以下、写像について簡潔に記す。 テンプレート:コラム これらのことを頭に入れておくと、以下の内容を理解しやすくなるであろう。


連立方程式A𝐱=𝐛について、𝐱,𝐛はそれぞれ列ベクトルである。 そこで、𝐱,𝐛が有向線分x,bを表すものとしてこの連立方程式を図形的に解釈すると、「xに行列Aを掛けるとbに移動した」という意味になる。この、ベクトルに行列を掛けて別のベクトルへ移す操作を一次変換という。このとき、行列Aをこの一次変換の表現行列という。 表現行列がAである一次変換を、「Aで表される一次変換」と呼ぶ。

一次変換を写像とみたとき、これを線形写像という。 𝔽を体(元について四則演算が定義されている集合)、V,W𝔽の上のベクトル空間(元がベクトルである集合)とする。f:VWが線形写像ならば、以下を同時に満たす。

  1. f(𝐱+𝐲)=f(𝐱)+f(𝐲)(𝐱,𝐲V)
  2. f(k𝐱)=kf(𝐱)(k𝔽,𝐱V)

この2つの性質は、f(k𝐱+l𝐲)=kf(𝐱)+lf(𝐲)(k,l𝔽,𝐱,𝐲V)が成り立つことと同値である。この性質を線形性と呼ぶ。 𝐱,𝐲を普通の数に置き換えると、シグマ公式・期待値・極限・微分・積分などに見られた性質と一致する。

一次変換は任意のベクトルの一次結合で表すことができる。逆に、定数項が存在すれば線形写像ではない。

線形写像は、f(x)=axのような一次の変換を一般化した写像と言える。f(x)=ax2のような二次の変換は線形写像ではない。

f,gが線形写像であるならば、その合成fg,gfも線形写像である。線形写像fが全単射であるならば、その逆写像f1も線形写像であり、これを線形同形という。

Aを線形写像fの表現行列とすると、fの像の次元はrankAである。


以下、平面上での一次変換を扱う。


点Pから点Qへの移動は、それぞれの点の位置ベクトルの一次変換と見ることができる。

  • 例題
    • 次の行列で表される一次変換によって、点P(1, 3)はどんな点に移るか。
  1. (3245)
  2. (10a6)
  • 解答
  1. (3245)(13)=(919)P=(9,19)
  2. (10a6)(13)=(1a+18)P=(1,a+18)


平面における一次変換は(abcd)(xy)=(xy)と表される。このとき、(xy)は基本ベクトルの一次結合で表され、(xy)(ac),(bd)の一次結合で表される。つまり、一次変換は基本ベクトルを任意のベクトルに変換する操作であると言える。


x,yが任意の実数値を取り得るとき、ベクトル(xy)はxy平面全体を表す。

表現行列A(=(abcd))が正則行列であるとき、(xy)=A(xy)の両辺にA1を左から掛けると(xy)=A1(xy)が成り立つ。つまり、任意の(x,y)に対してそれを与える実数(x,y)の組が存在する。よって、この表現行列による一次変換は上への写像であり、この変換によって平面全体は平面全体へ移る。また、(x1y1)(x2y2)A(x1y1)A(x2y2)(背理法)なのでこの変換は全単射である。このように、表現行列が正則行列である一次変換を正則一次変換という。

※「上への写像」とは、f(X)=Yが成り立つ写像のことである。(一般にf:XYについてf(X)Yのため)

表現行列Aが特異行列であるとき、a=b=c=d=0ならばこの変換によって平面全体は原点に移る。(ac)0(bd)0の場合を考える。(ac)0とすると(bd)=k(ac)を満たすkが存在するので(xy)=(x+ky)(ac)が成り立つ。x+kyより、この変換によって平面全体は原点を通り方向ベクトルが(ac)である直線へ移る。(bd)0の場合も同様である。


一次変換同士の合成変換は一次変換である。一次変換f,gの表現行列をA,Bとする。(xy)=A(xy),(xy)=B(xy)とすると合成変換h=fgについて(xy)=B(A(xy))よりhの表現行列はC=BAである。実は、行列の積を「行ベクトルと列ベクトルの内積を並べたもの」と定義したのは、そうすれば線形写像の合成が表現行列の積に対応するからである。

一次変換の逆変換も一次変換である。上でC=EとするとB=A1,(xy)=(xy)なので(xy)=A1(xy)であり、g=f1である。このとき、逆変換の表現行列は元の変換の表現行列の逆行列である。逆行列の公式(BA)1=A1B1より、二つの変換f,gがそれぞれ逆変換を持つならばその合成変換h=fgも逆変換を持つ。


一次変換の表現行列がA=(abcd)であるとき、テンプレート:式番号であるので、B(10)=(pr),B(01)=(qs)とするとB=(pqrs)である。ここで{A(pr)=(km)A(qs)=(ln)であるとき、{AB(10)=(km)AB(01)=(ln)なので、(3)よりAB=(klmn)である(このABは、Aの表す変換とBの表す変換の合成変換の表現行列である)。故に、A=(klmn)B1=(klmn)(pqrs)1である。 このことから、変換の像が2つ与えられたとき、一次変換が決定することがわかる。ただし、変換前の2点の位置ベクトルが一次従属であるとき、最後の計算に使う逆行列が存在しないので表現行列を求められない。また、変換前の2点のいずれかが原点であるときも表現行列を求められない。


  • 例題
    • 一次変換(xy)=A(xy)によって点(1, 3)、(-1, 5)がそれぞれ点(6, -2)、(3 , 8)に写るとき、表現行列Aを求めよ。
  • 解答

与えられた条件を行列で表すと

{A(13)=(62)A(15)=(38)

一つの式に纏めて、

A(1135)=(6228)

よって、

A=(6228)(1135)1=(6228)18(5131)=18(248346)=(3117434)


直線の一次変換について、直線をベクトル方程式表示しておくと線形性を容易に利用できる場合がある。線形性を利用することにより、以下の事実がわかる。

一次変換と線形性

方向ベクトルが零ベクトルでないとき、
①直線は直線へ移る
②平行な2直線は平行な2直線へ移る
③内分点・外分点はその比を変えずに内分点・外分点へ移る。

方向ベクトルが零ベクトルのとき、直線は直線または点へ移る。

また、線形性を利用すると、直線図形は一次変換によって相似な直線図形へ移ることもわかる。


  • 例題

表現行列がA=(4121)で表される一次変換fにおける不動直線を求めよ。ただし、「不動直線」とは、fによって自分自身に移る直線である。

  • 解答
detA=411(2)=6よりfは正則一次変換なので、fによって直線が潰れて点に移ることはない。
①y軸に平行な直線のとき
求める直線はkとしてx=kとおけるので、媒介変数をtとすると求める直線のベクトル方程式は
(xy)=(k0)+t(01)
である。
方向ベクトルに注目すると、
A(01)=(4121)(01)=(11)//(01)
であるので、このタイプの不動直線は存在しない。
②その他の場合
求める直線はm,nとしてy=mx+nとおける。
この直線のベクトル方程式は
(xy)=t(1m)+(0n)
であり、これをfで変換した直線のベクトル方程式は
(xy)=A(xy)=A{t(1m)+(0n)}=tA(1m)+A(0n)
となる。
A(1m)0よりこれが元の直線に一致する条件は、
A(1m)//(1m)」且つ「位置ベクトルA(0n)の終点が元の直線上にある」
である。
A(1m)=(4121)(1m)=(4+m2+m)より、
(4+m2+m)//(1m)det(4+m12+mm)=0
(m+4)m1(m2)=0
m2+3m+2=0
(m+1)(m+2)=0
m=1,2
A(0n)=(4121)(0n)=(nn)
この位置ベクトルの表す点が直線y=mx+n上にあるので、n=mn+nすなわちmn=0
n=0
よって求める直線は2本あり、y=xy=2xである。//


この例題には重要な別解があるので紹介する。

解答の②において、直線上の点Pを媒介変数表示すると(t,mt+n)なので、
(xy)=(4121)(tmt+n)=((m+4)t+n(m2)t+n)
である。
これが元の直線上にあるので、
(m2)t+n=m{(m+4)t+n}+n=m(m+4)t+mn+ntの恒等式である。
故に{m2=m2+4mn=mn+nより
{m=1,2n=0が導かれる。
fによって方向の変わらないベクトルを求める。
A(xy)=(4121)(xy)=(4x+y2x+y)より、
A(xy)//(xy)det(4x+yx2x+yy)=0
(4x+y)yx(2x+y)=0
2x2+3xy+y2=0
(2x+y)(x+y)=0
y=x,2x
よって求めるベクトルは(11),(12)である。
これにより、求める直線の傾きはm=1,2とわかる。あとは条件から定数項が0であることを示せば良い。

勘と記憶力の良い読者は気づいたかもしれないが、上で求めたfにより方向の変わらないベクトルは表現行列Aの固有ベクトルに等しい(「行列式・固有値」節の例題で(4121)の固有ベクトルを既に求めた)。これは一般の一次変換に言える事実である。

この方法では、直線の傾きによる場合分けが不要である。つまり、一次変換における不動直線を求めたいならばまず表現行列の固有ベクトルを求めよう。


  • 問題

直線図形が表現行列Aの一次変換fにより移った直線図形の面積が元の|detA|倍であることを証明せよ。ただし、直線図形が全て種々の三角形の組み合わせで表現できることを用いて良い。


以下、種々の一次変換の表現行列を求めていく。ただし、各操作が一次変換であることの証明は省いた。


一次変換(xy)(αxβy)は「x軸方向にα倍、y軸方向にβ倍」することを意味する。このような変換を「軸方向の伸縮」という。

行列の積を考えると、伸縮の表現行列は(α00β)であることが容易にわかる。

α,βに具体的な値を入れると以下のようになる。

α=1,β=1:x軸に対する対称移動
α=1,β=1:y軸に対する対称移動
α=β=1:原点に対する対称移動
α=β:原点を中心とするα倍の伸縮(相位変換
α=β=1恒等変換

恒等変換は普通eと書く。eの表現行列は単位行列Eである。


(1αβ1)で表される一次変換はどのような変換であろうか。

(1αβ1)(xy)=(x+αyβx+y)より、これはx軸方向・y軸方向それぞれのズレを表す行列である。


原点中心のθ回転の表現行列を求める。

P(x,y)を原点中心にθ回転した先の点をP(x,y)、この一次変換をfとおく。基本ベクトルをex,eyとすると、OP=xex+yeyである。
よって、OP=f(OP)=f(xex+yey)=xf(ex)+yf(ey)
f(ex)=ex,f(ey)=eyとおく。
単位円上にex,ey,ex,eyを図示すると、ex,eyがx軸となす角はそれぞれθ,θ+π2である。
よって三角関数の定義よりex=(cosθsinθ),ey=(cos(θ+π2)sin(θ+π2))=(sinθcosθ)
OP=x(cosθsinθ)+y(sinθcosθ)=(cosθsinθsinθcosθ)(xy)
すなわち、求める表現行列は(cosθsinθsinθcosθ)である。

表現行列(cosθsinθsinθcosθ)回転行列といい、R(θ)Rθのように表す。

回転行列は三角関数の加法定理からも導出できる。逆に、回転行列を用いて加法定理を導出することもできる。


直線l:y=mxに関する対称移動の表現行列を求める。

移動前の点をP(x)、移動後の点をP(x)、直線lの単位方向ベクトルをeとする。
Pからlに下ろした垂線の足をHとすると、正射影ベクトルの公式よりOH=(ex)e
HPPの中点なので、OH=x+x2
x=2OHx=2(ex)ex
lの方向ベクトルをm=(1m)とおくと、
e=m|m|=11+m2(1m),x=(xy),x=(xy),ex=x+my1+m2なので、
(xy)=2x+my1+m211+m2(1m)(xy)
=21+m2(x+mymx+m2y)(xy)
=21+m2(1mmm2)(xy)1+m21+m2(1001)(xy)
=11+m2{(22m2m2m2)(1+m2001+m2)}(xy)
=11+m2(1m22m2m1+m2)(xy)
すなわち、求める表現行列は11+m2(1m22m2m1+m2)である。

lの方向ベクトルをm=(ab)のようにとると、表現行列は1a2+b2(a2b22ab2abb2a2)となる。

また、上の計算過程から、OH=11+m2(1mmm2)(xy)=1a2+b2(a2ababb2)(xy)と求まる。これは点Plへの正射影を表すベクトルなので、直線y=mxへの正射影の表現行列は11+m2(1mmm2)=1a2+b2(a2ababb2)である。


回転行列による変換では、図形の形・面積ともに保存される。回転行列はtRθRθ=Eを満たすので直交行列である。二次において、直交行列はE,(0110),Rθ,(cosθsinθsinθcosθ)などが存在する。

直交行列Mの各列ベクトルは大きさが1かつ互いに直交し、|detM|=1を満たす。

すなわち、一般に直交行列による変換では図形の形・面積が保存される(合同変換)。直交行列による変換は直交変換という。


P2=Pを満たす正方行列を射影行列または冪等行列という。

例えば、(1100)は射影行列である。

射影行列Pに対してPa=bとすると、媒介変数をtとしてP(ta+(1t)b)=tPa+(1t)Pb=tb+(1t)P2a=tb+(1t)Pa=tb+(1t)b=bである。

つまり、射影行列による変換で点A(a)が点B(b)に移るとき、直線AB上にある点は全て点Bに移る。


対称行列である射影行列を直交射影行列という。

例えば、P=(12121212)P2=PtP=Pなので直交射影行列である。

直交射影行列Pに対してPa=bとすると、(ba)tb=(Paa)t(Pa)=atPt(Pa)at(Pa)=at(Pa)at(Pa)=0である。

a,bが列ベクトル同士もしくは行ベクトル同士ならば、ata,atb,bta,btbは行列の積として計算可能である。また、その計算結果はベクトルではなく一次行列である。

ここから、直交射影行列による一次変換で点A(a)が点B(b)に移るとき、ABbであることがわかる。

一般に、a1,,anが空間Vの基底(後述)であり、Aaiの並んだ行列とすると、det(tAA)0のときV上の直交射影行列PP=A(tAA)1tAである。

最小二乗法において、|Axb|を最小にするx正規方程式tAAx=tAbを解く、すなわちx=(tAA)1tAbを計算することでただ一つ求まる。

一次変換の観点から見ると、「表現行列Aの表す一次変換によるxの像とbが近づくようにしたい」ので、「Axbを直交射影変換した像に等しく」なれば良い。すなわち、Ax=Pb=A(tAA)1tAbが成り立てば良い。ここから、正規方程式の解が導出される。


  • 例題

x軸となす正の角がθである直線に関する対称移動の表現行列を求めよ。

  • 解答

直線を原点中心にθ回転するとx軸に一致することから、この一次変換はθ回転、x軸に関する対称移動、θ回転という3つの一次変換の合成変換である。よって、求める表現行列は

(cosθsinθsinθcosθ)(1001)(cosθsinθsinθcosθ)=(cosθsinθsinθcosθ)2=(cos2θsin2θ2sinθcosθ2sinθcosθsin2θcos2θ)=(cos2θsin2θsin2θcos2θ)

※複数の行列の積は右から計算するため、最初に行う変換の表現行列を右端に持ってくる。


一般の点に関する回転は、「回転の中心となる点を原点に重ねる平行移動をする」「原点に関して回転する」「平行移動したものを元に戻す」という3つの変換の合成変換である。複素数平面における回転も同様の考え方を用いている。しかし、平行移動は一次変換ではないので、これらの操作の合成を表現行列の積として表すことはできない。

平行移動が一次変換でないことは以下のように示される。

一次変換は𝐛=A𝐱という形式で表される写像である。平行移動によってベクトル(00)

は自身を除く任意のベクトルに変換されるが、全ての表現行列Aに対してA(00)=(00)が成り立つので、平行移動に対応する表現行列は存在しない。すなわち、平行移動は一次変換ではない。//


そこで、位置ベクトルの考え方を利用する。

A(a,b)を中心とするθ回転でP(x,y)Q(x,y)に移ったとする。P,Qの位置ベクトルを求めるとOP=(xαyβ),OQ=(xαyβ)であり、原点を中心とするθ回転で前者が後者に移されるので、OQ=R(θ)OPすなわち(xαyβ)=R(θ)(xαyβ)である。変形すると、(xy)=R(θ)(xαyβ)+(αβ)すなわちOQ=R(θ)AP+OAである。ちなみに、これをもう一度変形するとAQ=R(θ)AP、つまりAがベクトルの始点である

これを利用すると、多角形の一つの頂点に関する回転移動を考えることができる。なお、一般の点に関する回転も次元を一つあげれば行列の積を用いて表現することが可能である。詳細は後述する。


n次元空間上の全ての点を表現できる且つ表現の仕方が重複しないn次元ベクトルの組を基底という。方向の違うn個のn次元ベクトルの組はすべて基底となり得るので、一次以上のベクトル空間に対して基底となるベクトルの組合せは無数に存在する。一般に、n次ベクトル空間上の基底は、必ずn本の一次独立なベクトルの組から構成される。

ABであるならば、Aの表す線形写像とBの表す線形写像は基底のとり方が異なるだけで同じものである。 よって、表現行列と相似な行列を見つければ、線形写像をより簡潔に記述できる可能性がある。


アフィン変換

一次変換では原点を中心とした回転移動を見てきたが、先述のように平行移動は表現行列の積のみで表すことができないので一般の点を中心とした回転移動は一次変換の知識だけでは扱うことができない。そこで、平行移動を行列の積で表す方法を考える。

結論から言うと、拡大係数行列を用いるとうまくいく。 一般に、(y1)=(A00)(x1)はベクトルの平行移動を表す。


実は、数学C「ベクトル」で扱った内容はベクトルの平行移動を考えているため、厳密にはベクトル空間上ではなくアフィン空間上の議論である。

※(以下執筆中)

補:行列のn乗

コラム集

データの分析」と行列

基本取引行列

確率行列

複素数を表す行列

二重数と行列

演習問題