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

本項は高等学校数学Cの「数学的な表現の工夫」の解説です。

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

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


旧課程(-2012年度)高等学校数学C/行列 も参照。

目次

データの表現方法の工夫

パレート図

バブルチャート

レーダーチャート

モザイク図

ヒートマップ

偏差ベクトル

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

行列による表現

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

[第一週]

X556420
Y784536

[第二週]

X504416
Y694025


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

A=(556420784536),B=(504416694025){\displaystyle A={\begin{pmatrix}55&64&20\\78&45&36\\\end{pmatrix}},B={\begin{pmatrix}50&44&16\\69&40&25\\\end{pmatrix}}}

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

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

m×n行列A{\displaystyle A}の(i, j)成分は普通、aij{\displaystyle a_{ij}}と表される。つまり、A=(a11a12a1ja1na21a22a2ja2nai1ai2aijainam1am2amjamn){\displaystyle A={\begin{pmatrix}a_{11}&a_{12}&\cdots &a_{1j}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2j}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\ddots &\vdots &\vdots \\a_{i1}&a_{i2}&\cdots &a_{ij}&\cdots &a_{in}\\\vdots &\vdots &\ddots &\ddots &\vdots &\vdots \\a_{m1}&a_{m2}&\cdots &a_{mj}&\cdots &a_{mn}\end{pmatrix}}}である。

なお、A{\displaystyle A}の(i, j)成分を(A)ij{\displaystyle (A)_{ij}}と書く。

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

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

  • 例題

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

  • 解答

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

  • 例題

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

  • 解答

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

行列の和と差

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

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

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

{\displaystyle A+B}

=(556420784536)+(504416694025)

{\displaystyle ={\begin{pmatrix}55&64&20\\78&45&36\\\end{pmatrix}}+{\begin{pmatrix}50&44&16\\69&40&25\\\end{pmatrix}}}

=(55+5064+4420+1678+6945+4036+25)

{\displaystyle ={\begin{pmatrix}55+50&64+44&20+16\\78+69&45+40&36+25\\\end{pmatrix}}}

=(105108361478561)

{\displaystyle ={\begin{pmatrix}105&108&36\\147&85&61\\\end{pmatrix}}}

AB

{\displaystyle A-B}

=(556420784536)(504416694025)

{\displaystyle ={\begin{pmatrix}55&64&20\\78&45&36\\\end{pmatrix}}-{\begin{pmatrix}50&44&16\\69&40&25\\\end{pmatrix}}}

=(555064442016786945403625)

{\displaystyle ={\begin{pmatrix}55-50&64-44&20-16\\78-69&45-40&36-25\\\end{pmatrix}}}

=(52049511)

{\displaystyle ={\begin{pmatrix}5&20&4\\9&5&11\\\end{pmatrix}}}


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

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

交換法則
 
X+Y=Y+X{\displaystyle X+Y=Y+X}

結合法則

(X+Y)+Z=X+(Y+Z)=X+Y+Z{\displaystyle (X+Y)+Z=X+(Y+Z)=X+Y+Z}

零行列と加減法

XX=O{\displaystyle X-X=O}, X+O=X{\displaystyle X+O=X}

行列のスカラー倍

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

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

{\displaystyle {\frac {1}{2}}P}

=12(105108361478561)

{\displaystyle ={\frac {1}{2}}{\begin{pmatrix}105&108&36\\147&85&61\\\end{pmatrix}}}

=(121051210812361214712851261)

{\displaystyle ={\begin{pmatrix}{\frac {1}{2}}\cdot 105&{\frac {1}{2}}\cdot 108&{\frac {1}{2}}\cdot 36\\{\frac {1}{2}}\cdot 147&{\frac {1}{2}}\cdot 85&{\frac {1}{2}}\cdot 61\\\end{pmatrix}}}

=(52.5541873.542.530.5)

{\displaystyle ={\begin{pmatrix}52.5&54&18\\73.5&42.5&30.5\\\end{pmatrix}}}

となる。


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


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

結合法則

k(lA)=(kl)A=klA{\displaystyle k(lA)=(kl)A=klA}

分配法則

(k+l)A=kA+lA{\displaystyle (k+l)A=kA+lA}, k(A+B)=kA+kB{\displaystyle k(A+B)=kA+kB}


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

行列の積

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

例えば、a=(1,3),b=(2,5){\displaystyle {\overrightarrow {a}}=(1,3),{\overrightarrow {b}}=(2,5)}としたとき、a+b=(1,3)+(2,5)=(1+2,3+5)=(3,8)

{\displaystyle {\overrightarrow {a}}+{\overrightarrow {b}}=(1,3)+(2,5)=(1+2,3+5)=(3,8)}

ab=(1,3)(2,5)=(12,35)=(1,2)

{\displaystyle {\overrightarrow {a}}-{\overrightarrow {b}}=(1,3)-(2,5)=(1-2,3-5)=(-1,-2)}

3a=3(1,3)=(31,33)=(3,9)

{\displaystyle 3{\overrightarrow {a}}=3\cdot (1,3)=(3\cdot 1,3\cdot 3)=(3,9)}

である。

このとき、a=(13),b=(25){\displaystyle {\overrightarrow {a}}={\begin{pmatrix}1&3\\\end{pmatrix}},{\overrightarrow {b}}={\begin{pmatrix}2&5\\\end{pmatrix}}}あるいはa=(13),b=(25){\displaystyle {\overrightarrow {a}}={\begin{pmatrix}1\\3\\\end{pmatrix}},{\overrightarrow {b}}={\begin{pmatrix}2\\5\\\end{pmatrix}}}のように書き、行列とみなして計算しても同じ結果が得られる。

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

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

内積を忘れてしまったという人向けに書いておくと、2つの平面ベクトルa=(a1,a2),b=(b1,b2)

{\displaystyle {\overrightarrow {a}}=(a_{1},a_{2}),{\overrightarrow {b}}=(b_{1},b_{2})}

の内積はab=a1b1+a2b2

{\displaystyle {\overrightarrow {a}}\cdot {\overrightarrow {b}}=a_{1}b_{1}+a_{2}b_{2}}

2つの空間ベクトルa=(a1,a2,a3),b=(b1,b2,b3)

{\displaystyle {\overrightarrow {a}}=(a_{1},a_{2},a_{3}),{\overrightarrow {b}}=(b_{1},b_{2},b_{3})}

の内積はab=a1b1+a2b2+a3b3

{\displaystyle {\overrightarrow {a}}\cdot {\overrightarrow {b}}=a_{1}b_{1}+a_{2}b_{2}+a_{3}b_{3}}

である。

ここで、a{\displaystyle {\overrightarrow {a}}}をm次の列ベクトル、b{\displaystyle {\overrightarrow {b}}}をm次の行ベクトルとみなし、ab{\displaystyle {\overrightarrow {a}}\cdot {\overrightarrow {b}}}と同じ結果になるように行ベクトルXと列ベクトルYの積XYを定義する。 すなわち、 X=(x1x2xm),Y=(y1y2ym){\displaystyle X={\begin{pmatrix}x_{1}&x_{2}&\cdots &x_{m}\\\end{pmatrix}},Y={\begin{pmatrix}y_{1}\\y_{2}\\\vdots \\y_{m}\\\end{pmatrix}}}に対し、 XY=(x1x2xm)(y1y2ym)=k=1mxkyk{\displaystyle XY={\begin{pmatrix}x_{1}&x_{2}&\cdots &x_{m}\\\end{pmatrix}}{\begin{pmatrix}y_{1}\\y_{2}\\\vdots \\y_{m}\\\end{pmatrix}}=\sum _{k=1}^{m}x_{k}y_{k}}と定義する。

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

例えば、3つの列ベクトルP, Q, Rを並べた行列(PQR){\displaystyle {\begin{pmatrix}P&Q&R\\\end{pmatrix}}}をSとおく。 このとき、行ベクトルAと行列Sの積はAS=(APAQAR){\displaystyle AS={\begin{pmatrix}AP&AQ&AR\\\end{pmatrix}}}である。 同様に、3つの行ベクトルK, L, Mを並べた行列(KLM){\displaystyle {\begin{pmatrix}K\\L\\M\\\end{pmatrix}}}をNとおくと、列ベクトルBと行列Nの積は(BKBLBM){\displaystyle {\begin{pmatrix}BK\\BL\\BM\\\end{pmatrix}}}である。

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

  • 例題
    • 以下を計算せよ
      1.  (abcd)(xzyw){\displaystyle {\begin{pmatrix}a&b\\c&d\\\end{pmatrix}}{\begin{pmatrix}x&z\\y&w\\\end{pmatrix}}}
      2.  (abcdefghi)(psqtru){\displaystyle {\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\\\end{pmatrix}}{\begin{pmatrix}p&s\\q&t\\r&u\\\end{pmatrix}}}
    • 解答
      1.  (ax+byaz+bwcx+dycz+dw){\displaystyle {\begin{pmatrix}ax+by&az+bw\\cx+dy&cz+dw\\\end{pmatrix}}}
      2.  (ap+bq+cras+bt+cudp+eq+frds+et+fugp+hq+irgs+ht+iu){\displaystyle {\begin{pmatrix}ap+bq+cr&as+bt+cu\\dp+eq+fr&ds+et+fu\\gp+hq+ir&gs+ht+iu\\\end{pmatrix}}}

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


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

結合法則

(kA)B=A(kB)=k(AB)=kAB{\displaystyle (kA)B=A(kB)=k(AB)=kAB}, A(BC)=A(BC)=ABC{\displaystyle A(BC)=A(BC)=ABC}

分配法則

(A+B)C=AC+BC{\displaystyle (A+B)C=AC+BC}, A(B+C)=AB+AC{\displaystyle A(B+C)=AB+AC}


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

  • 例題
    • A=(1102){\displaystyle A={\begin{pmatrix}1&1\\0&2\\\end{pmatrix}}}B=(1230){\displaystyle B={\begin{pmatrix}1&2\\3&0\\\end{pmatrix}}}C=(5207){\displaystyle C={\begin{pmatrix}5&2\\0&7\\\end{pmatrix}}}について、以下を計算せよ。
      1.  AB
      2.  BA
      3.  AC
      4.  CA
    • 解答
      1.  AB=(4260){\displaystyle AB={\begin{pmatrix}4&2\\6&0\\\end{pmatrix}}}
      2.  BA=(1533){\displaystyle BA={\begin{pmatrix}1&5\\3&3\\\end{pmatrix}}}
      3.  AC=(59014){\displaystyle AC={\begin{pmatrix}5&9\\0&14\\\end{pmatrix}}}
      4.  CA=(59014){\displaystyle CA={\begin{pmatrix}5&9\\0&14\\\end{pmatrix}}}


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

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

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


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


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

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

消費税が飲食料品に8%、他の商品に10%掛かっているとして、この表から税額を計算したい。 この表を行列で表記するとA=(7452015400680401210075600132006912014300){\displaystyle A={\begin{pmatrix}74520&15400\\68040&12100\\75600&13200\\69120&14300\\\end{pmatrix}}}であり、第一列と第二列にそれぞれ0.081.08,0.11.1{\displaystyle {\frac {0.08}{1.08}},{\frac {0.1}{1.1}}}を掛けられるような行列を考える。そのような行列をP=(0.081.08000.11.1){\displaystyle P={\begin{pmatrix}{\frac {0.08}{1.08}}&0\\0&{\frac {0.1}{1.1}}\\\end{pmatrix}}}とおくと、AP=(55201400504011005600120051201300){\displaystyle AP={\begin{pmatrix}5520&1400\\5040&1100\\5600&1200\\5120&1300\\\end{pmatrix}}}である。第一列、第二列の成分を見ると、条件を満たしていることがわかる。

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

k番目の対角成分がdk{\displaystyle d_{k}}であるn次対角行列をdiag(d1,d2,,dn){\displaystyle \mathrm {diag} (d_{1},d_{2},\cdots ,d_{n})}と表す。

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

AE=EA=A{\displaystyle AE=EA=A}
AO=OA=O{\displaystyle AO=OA=O}

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


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

  • 例題
    • A=(2142){\displaystyle A={\begin{pmatrix}2&1\\4&2\\\end{pmatrix}}}B=(1224){\displaystyle B={\begin{pmatrix}1&-2\\-2&4\\\end{pmatrix}}}の積ABを計算せよ
  • 解答
    • AB=(0000)=O{\displaystyle AB={\begin{pmatrix}0&0\\0&0\\\end{pmatrix}}=O}

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

逆行列

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

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

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

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

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

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


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

A=(abcd){\displaystyle A={\begin{pmatrix}a&b\\c&d\\\end{pmatrix}}}に対しP=(dbca){\displaystyle P={\begin{pmatrix}d&-b\\-c&a\\\end{pmatrix}}}とすると、AP=(adbc00adbc)=(adbc)E{\displaystyle AP={\begin{pmatrix}ad-bc&0\\0&ad-bc\\\end{pmatrix}}=(ad-bc)E}であり、A(1adbcP)=E{\displaystyle A({\frac {1}{ad-bc}}P)=E}が成り立つ。すなわち、逆行列の定義よりA1=1adbcP=1adbc(dbca){\displaystyle A^{-1}={\frac {1}{ad-bc}}P={\frac {1}{ad-bc}}{\begin{pmatrix}d&-b\\-c&a\\\end{pmatrix}}}である。

ただし、ad−bc=0の場合、Aは逆行列A−1を持たない


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

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


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


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

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

正方行列Aの横に同じ次数の単位行列Eを並べた行列(
                  A
                
                  E
                ){\displaystyle \left({\begin{array}{c|c}A&E\end{array}}\right)}に行基本変形を施して(
                  E
                
                  B
                ){\displaystyle \left({\begin{array}{c|c}E&B\end{array}}\right)}となる場合、B=A1{\displaystyle B=A^{-1}}である。


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


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

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

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

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

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

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

  • 例題
    • P=(111201021){\displaystyle P={\begin{pmatrix}1&1&-1\\-2&0&1\\0&2&1\end{pmatrix}}}の逆行列を求めよ。
  • 解答

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

{\displaystyle \left({\begin{array}{ccc|ccc}1&1&-1&1&0&0\\-2&0&1&0&1&0\\0&2&1&0&0&1\end{array}}\right)}

である。

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

{\displaystyle \left({\begin{array}{ccc|ccc}1&1&-1&1&0&0\\0&2&-1&2&1&0\\0&2&1&0&0&1\end{array}}\right)}

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

{\displaystyle \left({\begin{array}{ccc|ccc}1&0&-{\frac {1}{2}}&0&-{\frac {1}{2}}&0\\0&2&-1&2&1&0\\0&0&2&-2&-1&1\end{array}}\right)}

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

{\displaystyle \left({\begin{array}{ccc|ccc}1&0&0&-{\frac {1}{2}}&-{\frac {3}{4}}&{\frac {1}{4}}\\0&2&0&1&{\frac {1}{2}}&{\frac {1}{2}}\\0&0&2&-2&-1&1\end{array}}\right)}

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

{\displaystyle \left({\begin{array}{ccc|ccc}1&0&0&-{\frac {1}{2}}&-{\frac {3}{4}}&{\frac {1}{4}}\\0&1&0&{\frac {1}{2}}&{\frac {1}{4}}&{\frac {1}{4}}\\0&0&1&-1&-{\frac {1}{2}}&{\frac {1}{2}}\end{array}}\right)}

線で区切った左側の行列がEになっているので、求める逆行列は線で区切った右側の行列、すなわち(12341412141411212){\displaystyle {\begin{pmatrix}-{\frac {1}{2}}&-{\frac {3}{4}}&{\frac {1}{4}}\\{\frac {1}{2}}&{\frac {1}{4}}&{\frac {1}{4}}\\-1&-{\frac {1}{2}}&{\frac {1}{2}}\end{pmatrix}}}である。

発展:転置と表操作

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

例えば、A=(abcd){\displaystyle A={\begin{pmatrix}a&b\\c&d\\\end{pmatrix}}}に対し、tA=(acbd){\displaystyle {}^{t}\!A={\begin{pmatrix}a&c\\b&d\\\end{pmatrix}}}である。

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


その定義より、t(tA)=A{\displaystyle {}^{t}\!({}^{t}\!A)=A}である。


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

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


tA=A{\displaystyle {}^{t}\!A=A}を満たす行列を対称行列tA=A{\displaystyle {}^{t}\!A=-A}を満たす行列を交代行列という。

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

対称行列且つ交代行列である行列はO{\displaystyle O}のみである。

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

正則行列Aに関して、(tA)1=t(A1){\displaystyle ({}^{t}\!A)^{-1}={}^{t}\!(A^{-1})}が成り立つ。


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

a1,a2,,an{\displaystyle a_{1},a_{2},\cdots ,a_{n}}を同じ型の列ベクトルとすると、A=(a1a2an){\displaystyle A={\begin{pmatrix}a_{1}&a_{2}&\cdots &a_{n}\\\end{pmatrix}}}についてtA=(ta1ta2tan){\displaystyle {}^{t}\!A={\begin{pmatrix}{}^{t}\!a_{1}\\{}^{t}\!a_{2}\\\vdots \\{}^{t}\!a_{n}\\\end{pmatrix}}}である。


行列A{\displaystyle A}がm×n行列であるとき、その転置行列tA{\displaystyle {}^{t}\!A}はn×m行列である。そのため、AtA{\displaystyle A{}^{t}\!A}tAA{\displaystyle {}^{t}\!AA}は常に計算可能である。また、計算結果は対称行列となる。


AtA=tAA=E{\displaystyle A{}^{t}\!A={}^{t}\!AA=E}となる正方行列Aを考える。このような行列を直交行列という。

一般に直交行列は正則行列であり、tA=A1{\displaystyle {}^{t}\!A=A^{-1}}が成り立つ。直交行列の逆行列は直交行列であり、上式から直交行列の転置行列も直交行列である。2つの直交行列の積もまた直交行列になる。


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

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

この表を行列で表すと、P=(658278966785639065949876708590){\displaystyle P={\begin{pmatrix}65&82&78&96&67\\85&63&90&65&94\\98&76&70&85&90\\\end{pmatrix}}}である。

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


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

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

複数列を抽出する場合、取り出したい列をa,b,{\displaystyle a,b,\cdots } とすると、Pに行列(eaeb){\displaystyle {\begin{pmatrix}e_{a}&e_{b}&\cdots \\\end{pmatrix}}}を右からかければ良い。


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

例えば、上の表の点数を「英語, 数学, 国語 , 社会, 理科」の順に並べ替えたい場合、P(e3e2e1e5e4){\displaystyle P{\begin{pmatrix}e_{3}&e_{2}&e_{1}&e_{5}&e_{4}\end{pmatrix}}}を計算すれば良い。

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

例えば、Cさんの点数を抽出する場合、te2P=(010)(658278966785639065949876708590)=(9876708590){\displaystyle {}^{t}\!e_{2}P={\begin{pmatrix}0&1&0\\\end{pmatrix}}{\begin{pmatrix}65&82&78&96&67\\85&63&90&65&94\\98&76&70&85&90\\\end{pmatrix}}={\begin{pmatrix}98&76&70&85&90\\\end{pmatrix}}}と計算する。

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

例えば、「Cさん, Aさん, Bさん」の順番で並べる場合、(te3te1te2)P{\displaystyle {\begin{pmatrix}{}^{t}\!e_{3}\\{}^{t}\!e_{1}\\{}^{t}\!e_{2}\\\end{pmatrix}}P}を計算すれば良い。

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


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


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

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

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

例えば、上の表で3人の点数の合計を計算すると、PJ5=(658278966785639065949876708590)(11111)=(388397419){\displaystyle PJ_{5}={\begin{pmatrix}65&82&78&96&67\\85&63&90&65&94\\98&76&70&85&90\\\end{pmatrix}}{\begin{pmatrix}1\\1\\1\\1\\1\\\end{pmatrix}}={\begin{pmatrix}388&397&419\end{pmatrix}}}である。

各行の和を求める場合、tJn{\displaystyle {}^{t}\!J_{n}}を左からかければ良い。

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


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

2つのベクトルOP,OQ{\displaystyle {\overrightarrow {OP}},{\overrightarrow {OQ}}}の成分を列ベクトルを用いてOP=(ab),OQ=(cd){\displaystyle {\overrightarrow {OP}}={\begin{pmatrix}a\\b\end{pmatrix}},{\overrightarrow {OQ}}={\begin{pmatrix}c\\d\end{pmatrix}}}と表す。 このとき、|OP|2=a2+b2,|OQ|2=c2+d2,OPOQ=ac+bd{\displaystyle |{\overrightarrow {OP}}|^{2}=a^{2}+b^{2},|{\overrightarrow {OQ}}|^{2}=c^{2}+d^{2},{\overrightarrow {OP}}\cdot {\overrightarrow {OQ}}=ac+bd}である。

A=(OPOQ){\displaystyle A={\begin{pmatrix}{\overrightarrow {OP}}&{\overrightarrow {OQ}}\\\end{pmatrix}}}とおくと、 tAA=(abcd)(acbd)=(a2+b2ac+bdac+bdc2+d2)=(|OP|2OPOQOPOQ|OQ|2){\displaystyle {}^{t}\!AA={\begin{pmatrix}a&b\\c&d\\\end{pmatrix}}{\begin{pmatrix}a&c\\b&d\\\end{pmatrix}}={\begin{pmatrix}a^{2}+b^{2}&ac+bd\\ac+bd&c^{2}+d^{2}\\\end{pmatrix}}={\begin{pmatrix}|{\overrightarrow {OP}}|^{2}&{\overrightarrow {OP}}\cdot {\overrightarrow {OQ}}\\{\overrightarrow {OP}}\cdot {\overrightarrow {OQ}}&|{\overrightarrow {OQ}}|^{2}\\\end{pmatrix}}}となる。


特に|OP|=|OQ|=1{\displaystyle |{\overrightarrow {OP}}|=|{\overrightarrow {OQ}}|=1}のとき、tAA=(1cosθcosθ1){\displaystyle {}^{t}\!AA={\begin{pmatrix}1&\cos \theta \\\cos \theta &1\\\end{pmatrix}}}である(ただし、θ{\displaystyle \theta }OP{\displaystyle {\overrightarrow {OP}}}OQ{\displaystyle {\overrightarrow {OQ}}}の成す角)。

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


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

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

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

離散グラフによる表現

離散グラフ

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

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

  • 例題
    • グラフG=({v1,v2,v3,v4},{{v1,v2},{v1,v3},{v1,v4},{v2,v3},{v3,v4}}){\displaystyle G=(\{v_{1},v_{2},v_{3},v_{4}\},\{\{v_{1},v_{2}\},\{v_{1},v_{3}\},\{v_{1},v_{4}\},\{v_{2},v_{3}\},\{v_{3},v_{4}\}\})}を作図せよ。
    • 解答
  • G{\displaystyle G}

一筆書き

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

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

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

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

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


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

 → 

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


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

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


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

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

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

オイラーグラフの定理

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


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

最短経路

離散グラフと隣接行列

経路の数え上げ

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

離散グラフの応用

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

発展:行列の応用

行列式・固有値

二次行列A=(abcd){\displaystyle A={\begin{pmatrix}a&b\\c&d\end{pmatrix}}}に対しA1{\displaystyle A^{-1}}が存在する必要十分条件はadbc0{\displaystyle ad-bc\neq 0}であった。つまり、adbc{\displaystyle ad-bc}という式はAの判別式のような役割をする。 この式を二次行列の行列式といい、|A|{\displaystyle |A|}もしくはdetA{\displaystyle \mathrm {det} A}と表す。行列の成分を表示して記す場合、行列の括弧を外して絶対値記号の中に成分を並べ|abcd|{\displaystyle {\begin{vmatrix}a&b\\c&d\end{vmatrix}}}のように表すか、括弧の左にdetを書いてdet(abcd){\displaystyle \mathrm {det} {\begin{pmatrix}a&b\\c&d\end{pmatrix}}}と表す。絶対値記号を用いてはいるが、行列式は負の値をとり得るので注意。


3次行列(abcdefghi){\displaystyle {\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\end{pmatrix}}}の行列式は|abcdefghi|=aeiafh+bfgbdi+cdhceg{\displaystyle {\begin{vmatrix}a&b&c\\d&e&f\\g&h&i\end{vmatrix}}=aei-afh+bfg-bdi+cdh-ceg}である。


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


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


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


次の公式が成り立つ。 |a11a12a1na22a2nOann|=|a11Oa21a22an1an2ann|=k=1nakk{\displaystyle {\begin{vmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\&a_{22}&\cdots &a_{2n}\\&&\ddots &\vdots \\\mathrm {O} &&&a_{nn}\end{vmatrix}}={\begin{vmatrix}a_{11}&&&\mathrm {O} \\a_{21}&a_{22}&&\\\vdots &\vdots &\ddots &\\a_{n1}&a_{n2}&\cdots &a_{nn}\end{vmatrix}}=\prod _{k=1}^{n}a_{kk}}

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


n次行列Aからi行目とj列目を除いた行列を(i, j)小行列といい、Aij{\displaystyle A_{ij}}と表す。その行列式detAij{\displaystyle \det A_{ij}}(i, j)小行列式)はMij(A){\displaystyle M_{ij}^{(A)}}で表す。 このとき、(1)i+jMij(A){\displaystyle (-1)^{i+j}M_{ij}^{(A)}}の値を(i, j)余因子と呼び、Δij(A),a~ij,Cij(A){\displaystyle \Delta _{ij}^{(A)},{\widetilde {a}}_{ij},C_{ij}^{(A)}}のいづれかで表す。Δij(A){\displaystyle \Delta _{ij}^{(A)}}はロシアで主流の古典的記法、a~ij{\displaystyle {\widetilde {a}}_{ij}}は日本の大学数学で用いられる記法、Cij(A){\displaystyle C_{ij}^{(A)}}は現代ヨーロッパで用いられる最も一般的な記法である。ここでは、日本記法を採用することとする。


正方行列Aに対し、(i, j)成分がa~ij{\displaystyle {\widetilde {a}}_{ij}}である行列の転置行列を余因子行列といい、A~{\displaystyle {\widetilde {A}}}と表す。つまり、(tA~)ij=a~ij{\displaystyle ({}^{t}\!{\widetilde {A}})_{ij}={\widetilde {a}}_{ij}}である。


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

余因子展開

正方行列A{\displaystyle A}の行列式detA{\displaystyle \mathrm {det} A}について、detA=j=1na1ja~1j=i=1nai1a~i1{\displaystyle \mathrm {det} A=\sum _{j=1}^{n}a_{1j}{\widetilde {a}}_{1j}=\sum _{i=1}^{n}a_{i1}{\widetilde {a}}_{i1}}と展開できる。


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


対角行列D=diag(d1,d2,d3,,dn){\displaystyle D=\mathrm {diag} (d_{1},d_{2},d_{3},\cdots ,d_{n})}について、detD=k=1ndk{\displaystyle \mathrm {det} D=\prod _{k=1}^{n}d_{k}}が成り立つ。

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


正方行列A{\displaystyle A}について、A

{\displaystyle A}

が正則detA0A

{\displaystyle \iff \mathrm {det} A\neq 0\iff A}

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

が成り立つ。


一般の正方行列についてdet(tA)=detA{\displaystyle \mathrm {det} ({}^{t}\!A)=\mathrm {det} A}が成り立つ。また、正則行列についてdet(A1)=(detA)1=1detA{\displaystyle \mathrm {det} (A^{-1})=(\mathrm {det} A)^{-1}={\frac {1}{\mathrm {det} A}}}が成り立つ。


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

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


行列の積についてdet(AB)=detA×detB{\displaystyle \mathrm {det} (AB)=\mathrm {det} A\times \mathrm {det} B}が成り立つ。

  • 問題
    • 行列式を用いて次の行列が正則行列であるかどうか判定せよ。
      1. (3624){\displaystyle {\begin{pmatrix}3&6\\2&4\end{pmatrix}}}
      2. (124738596){\displaystyle {\begin{pmatrix}1&-2&4\\7&-3&8\\5&-9&6\end{pmatrix}}}
      3. (1242731418234167937345711){\displaystyle {\begin{pmatrix}12&4&27&31\\-4&18&-23&41\\67&9&-3&7\\-3&4&57&-11\end{pmatrix}}}


直交行列Aについて、|(detA)|=1{\displaystyle |(\mathrm {det} A)|=1}が成り立つ。

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

直交行列はその転置行列が逆行列に等しい行列なので、detE=det(AA1)=det(AtA)=detA×det(tA)=(detA)2

{\displaystyle \mathrm {det} E=\mathrm {det} (AA^{-1})=\mathrm {det} (A{}^{t}\!A)=\mathrm {det} A\times \mathrm {det} ({}^{t}\!A)=(\mathrm {det} A)^{2}}

ここでdetE=1{\displaystyle \mathrm {det} E=1}なので、二次方程式(detA)2=1{\displaystyle (\mathrm {det} A)^{2}=1}を解いて|(detA)|=1{\displaystyle |(\mathrm {det} A)|=1}となる。

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

a=(axayaz),b=(bxbybz){\displaystyle {\vec {a}}={\begin{pmatrix}a_{x}\\a_{y}\\a_{z}\end{pmatrix}},{\vec {b}}={\begin{pmatrix}b_{x}\\b_{y}\\b_{z}\end{pmatrix}}}、3つの座標軸の基本ベクトルをそれぞれex,ey,ez{\displaystyle {\vec {e_{x}}},{\vec {e_{y}}},{\vec {e_{z}}}}としたとき、a×b=(aybzazbyazbxaxbzaxbyaybx){\displaystyle {\vec {a}}\times {\vec {b}}={\begin{pmatrix}a_{y}b_{z}-a_{z}b_{y}\\a_{z}b_{x}-a_{x}b_{z}\\a_{x}b_{y}-a_{y}b_{x}\end{pmatrix}}}を基本ベクトルの一次結合で表すと、(aybzazby)ex+(azbxaxbz)ey+(axbyaybx)ez

{\displaystyle (a_{y}b_{z}-a_{z}b_{y}){\vec {e_{x}}}+(a_{z}b_{x}-a_{x}b_{z}){\vec {e_{y}}}+(a_{x}b_{y}-a_{y}b_{x}){\vec {e_{z}}}}

係数部分を行列式表記にすると、|ayazbybz|ex+|azaxbzbx|ey+|axaybxby|ez

{\displaystyle {\begin{vmatrix}a_{y}&a_{z}\\b_{y}&b_{z}\end{vmatrix}}{\vec {e_{x}}}+{\begin{vmatrix}a_{z}&a_{x}\\b_{z}&b_{x}\end{vmatrix}}{\vec {e_{y}}}+{\begin{vmatrix}a_{x}&a_{y}\\b_{x}&b_{y}\end{vmatrix}}{\vec {e_{z}}}}

2つ目の行列式の各列を入れ替えると基本変形の性質より、|ayazbybz|ex|axazbxbz|ey+|axaybxby|ez

{\displaystyle {\begin{vmatrix}a_{y}&a_{z}\\b_{y}&b_{z}\end{vmatrix}}{\vec {e_{x}}}-{\begin{vmatrix}a_{x}&a_{z}\\b_{x}&b_{z}\end{vmatrix}}{\vec {e_{y}}}+{\begin{vmatrix}a_{x}&a_{y}\\b_{x}&b_{y}\end{vmatrix}}{\vec {e_{z}}}}

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

{\displaystyle {\begin{vmatrix}{\vec {e_{x}}}&{\vec {e_{y}}}&{\vec {e_{z}}}\\a_{x}&a_{y}&a_{z}\\b_{x}&b_{y}&b_{z}\end{vmatrix}}}

よって、a×b=|exeyezaxayazbxbybz|

{\displaystyle {\vec {a}}\times {\vec {b}}={\begin{vmatrix}{\vec {e_{x}}}&{\vec {e_{y}}}&{\vec {e_{z}}}\\a_{x}&a_{y}&a_{z}\\b_{x}&b_{y}&b_{z}\end{vmatrix}}}

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

ケーリー・ハミルトンの定理
 
二次行列A{\displaystyle A}について、A2(trA)A+(detA)E=O{\displaystyle A^{2}-(\mathrm {tr} A)A+(\mathrm {det} A)E=O}が成り立つ。

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

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


Mn=O(MO){\displaystyle M^{n}=O(M\neq O)}を満たす行列M{\displaystyle M}冪零行列という。

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


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

固有値は一般のn次行列に定義できるが、高校数学では3次行列の固有値を計算できれば十分である。


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

注意a{\displaystyle {\boldsymbol {a}}}a{\displaystyle {\vec {a}}}と同じ意味の記号である。ベクトルが常に有向線分を表すわけではないため、大学では矢印を付ける代わりに太文字斜体を用いて表すことが多い。このページでは「a{\displaystyle {\boldsymbol {a}}}:一般のベクトル、a{\displaystyle {\vec {a}}}:有向線分を表すベクトル」と使い分ける。なお、それに対応して行列を太文字立体でA{\displaystyle \mathbf {A} }のように書く流儀もある。

固有値を正しく計算できているか確かめる方法として、次の性質が用いられる。正方行列Aについて、trA=i=1nλi

{\displaystyle \mathrm {tr} A=\sum _{i=1}^{n}\lambda _{i}}
  • 例題

(4121){\displaystyle {\begin{pmatrix}4&1\\-2&1\end{pmatrix}}}の固有値と対応する固有ベクトルをそれぞれ求めよ。

  • 解答

方程式 (4121)(xy)=λ(1001)(xy){\displaystyle {\begin{pmatrix}4&1\\-2&1\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}=\lambda {\begin{pmatrix}1&0\\0&1\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}} を解けばいい。

まず、移項して、下記のように左辺に行列を纏める。(4121)(xy)λ(1001)(xy)=(00)

{\displaystyle {\begin{pmatrix}4&1\\-2&1\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}-\lambda {\begin{pmatrix}1&0\\0&1\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}0\\0\end{pmatrix}}}

(xy){\displaystyle {\begin{pmatrix}x\\y\end{pmatrix}}}で括って、(4λ121λ)(xy)=(00)

{\displaystyle {\begin{pmatrix}4-\lambda &1\\-2&1-\lambda \end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}0\\0\end{pmatrix}}}

(後の計算の都合のため、上の両辺を-1倍しておく)。

零ベクトルでないベクトルを行列で変換して零ベクトルになるとき、拡大率0よりその変換行列の行列式は0であるのでdet(λ(1001)(4121))=det(λ412λ1)=0

{\displaystyle \mathrm {det} \left(\lambda {\begin{pmatrix}1&0\\0&1\end{pmatrix}}-{\begin{pmatrix}4&1\\-2&1\end{pmatrix}}\right)=\mathrm {det} {\begin{pmatrix}\lambda -4&-1\\2&\lambda -1\end{pmatrix}}=0}

行列式を展開して(λ4)(λ1)(1)×2=0

{\displaystyle (\lambda -4)(\lambda -1)-(-1)\times 2=0}

λ25λ+6=0

{\displaystyle \lambda ^{2}-5\lambda +6=0}

(λ2)(λ3)=0

{\displaystyle (\lambda -2)(\lambda -3)=0}

λ=2,3

{\displaystyle \therefore \lambda =2,3}

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

固有値2に対応する固有ベクトルは、(241221)X=O

{\displaystyle {\begin{pmatrix}2-4&-1\\2&2-1\end{pmatrix}}X=O}

よりX=(12)

{\displaystyle X={\begin{pmatrix}1\\-2\end{pmatrix}}}

と求まる。

固有値3に対応する固有ベクトルは、(341231)X=O

{\displaystyle {\begin{pmatrix}3-4&-1\\2&3-1\end{pmatrix}}X=O}

よりX=(11)

{\displaystyle X={\begin{pmatrix}1\\-1\end{pmatrix}}}

と求まる//


上記では2次行列について固有値を考えたが、一般のn次行列にも固有値を導けるので、その定義や性質を纏める。

固有値について一般に、In{\displaystyle I_{n}}をn次単位行列とすると、Ax=λxλxAx=O(λInA)x=O

{\displaystyle A{\boldsymbol {x}}=\lambda {\boldsymbol {x}}\iff \lambda {\boldsymbol {x}}-A{\boldsymbol {x}}=O\iff (\lambda I_{n}-A){\boldsymbol {x}}=O}

最後の式を考えると、(λInA)x=O{\displaystyle (\lambda I_{n}-A){\boldsymbol {x}}=O}となるx(O){\displaystyle {\boldsymbol {x}}(\neq O)}が存在する必要十分条件はλInA{\displaystyle \lambda I_{n}-A}が特異行列であることである。

すなわち、det(λInA)=0

{\displaystyle \mathrm {det} (\lambda I_{n}-A)=0}

が成り立つ。

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

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


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

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

  • 問題

(211431442){\displaystyle {\begin{pmatrix}2&1&-1\\-4&-3&-1\\4&4&2\end{pmatrix}}}の固有値を求めよ。


転置行列についてΦA(λ)=ΦtA(λ){\displaystyle \Phi _{A}(\lambda )=\Phi _{{}^{t}\!A}(\lambda )}が成り立つ。


固有多項式にλ=0{\displaystyle \lambda =0}を代入すると以下の定理が得られる。Aをn次行列、その固有値をλ1,λ2,,λn

{\displaystyle \lambda _{1},\lambda _{2},\cdots ,\lambda _{n}}

とすると、detA=i=1nλi

{\displaystyle \mathrm {det} A=\prod _{i=1}^{n}\lambda _{i}}


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

正則行列Aの固有ベクトルをxλ{\displaystyle {\boldsymbol {x}}_{\lambda }}とおく。

固有値の定義から、Axλ=λxλ

{\displaystyle A{\boldsymbol {x}}_{\lambda }=\lambda {\boldsymbol {x}}_{\lambda }}

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

{\displaystyle E{\boldsymbol {x}}_{\lambda }=\lambda A^{-1}{\boldsymbol {x}}_{\lambda }}

λ0{\displaystyle \lambda \neq 0}なので、1λxλ=A1xλ

{\displaystyle {\frac {1}{\lambda }}{\boldsymbol {x}}_{\lambda }=A^{-1}{\boldsymbol {x}}_{\lambda }}

よって、A1{\displaystyle A^{-1}}の固有値は1λ{\displaystyle {\frac {1}{\lambda }}}

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


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

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


正方行列A,B{\displaystyle A,B}に対してB=P1AP{\displaystyle B=P^{-1}AP}となる正則行列P{\displaystyle P}が存在するならば、「A,B{\displaystyle A,B}相似である」といい、AB{\displaystyle A\sim B}と表す。A{\displaystyle A}P1{\displaystyle P^{-1}}P{\displaystyle P}で挾む操作を相似変換という。

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

  • AA{\displaystyle A\sim A}
  • ABBA{\displaystyle A\sim B\implies B\sim A}
  • ABBCAC{\displaystyle A\sim B\land B\sim C\implies A\sim C}

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

  • detA=detB{\displaystyle \mathrm {det} A=\mathrm {det} B}
  • rankA=rankB{\displaystyle \mathrm {rank} A=\mathrm {rank} B}
  • λA=λB{\displaystyle \lambda _{A}=\lambda _{B}}
  • trA=trB{\displaystyle \mathrm {tr} A=\mathrm {tr} B}
  • AnBn{\displaystyle A^{n}\sim B^{n}}

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


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


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

P1AP=D{\displaystyle P^{-1}AP=D}D{\displaystyle D}を成分表示すると、P1AP=(d1000d2000dn)

{\displaystyle P^{-1}AP={\begin{pmatrix}d_{1}&0&\cdots &0\\0&d_{2}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &d_{n}\end{pmatrix}}}

両辺にPを左から掛けてAP=P(d1000d2000dn)

{\displaystyle AP=P{\begin{pmatrix}d_{1}&0&\cdots &0\\0&d_{2}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &d_{n}\end{pmatrix}}}

ここでP{\displaystyle P}を列ベクトルxi{\displaystyle {\boldsymbol {x}}_{i}}を用いて表すとP=(x1x2xixn){\displaystyle P={\begin{pmatrix}{\boldsymbol {x}}_{1}&{\boldsymbol {x}}_{2}&\cdots &{\boldsymbol {x}}_{i}&\cdots &{\boldsymbol {x}}_{n}\end{pmatrix}}}なので、Axi=dixi

{\displaystyle A{\boldsymbol {x}}_{i}=d_{i}{\boldsymbol {x}}_{i}}

(ただしi=1,2,,n

{\displaystyle i=1,2,\cdots ,n}

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

{\displaystyle P}

が正則

{\displaystyle \iff }

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

{\displaystyle \iff \mathrm {det} P\neq 0}

よって、A

{\displaystyle A}

が対角化可能

{\displaystyle \iff }

Aの固有ベクトルを並べた行列PについてdetP0

{\displaystyle \mathrm {det} P\neq 0}

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


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

  • 問題
    • 以下の行列が対角化可能であるか判定し、可能な場合は対角化せよ。
    • 1.  (2561){\displaystyle {\begin{pmatrix}2&-5\\6&1\end{pmatrix}}}
    • 2.  (193282391){\displaystyle {\begin{pmatrix}-1&-9&-3\\2&8&2\\-3&-9&-1\end{pmatrix}}}

連立一次方程式

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


(abcd)(xy){\displaystyle {\begin{pmatrix}a&b\\c&d\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}}を計算すると(ax+bycx+dy){\displaystyle {\begin{pmatrix}ax+by\\cx+dy\end{pmatrix}}}である。

よって、2変数の2元連立一次方程式{ax+by=pcx+dy=q

{\displaystyle {\begin{cases}ax+by=p\\cx+dy=q\end{cases}}}

は行列を用いて記述すると(abcd)(xy)=(pq)

{\displaystyle {\begin{pmatrix}a&b\\c&d\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}p\\q\end{pmatrix}}}

となる。


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

つまり、係数行列をA{\displaystyle A}、l次列ベクトルをx{\displaystyle {\boldsymbol {x}}}、n次列ベクトルをb{\displaystyle {\boldsymbol {b}}}とおくと、連立一次方程式はAx=b

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

と表記できる。

この方程式の解はAが正則行列であれば一意に定まり、 x=A1b{\displaystyle {\boldsymbol {x}}=A^{-1}{\boldsymbol {b}}} である。


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

  • 例題
    • {ax+by=pcx+dy=q{\displaystyle {\begin{cases}ax+by=p\\cx+dy=q\end{cases}}}をx,yについて解け。ただし、|abcd|0{\displaystyle {\begin{vmatrix}a&b\\c&d\end{vmatrix}}\neq 0}とする。
    • 解答

{ax+by=pcx+dy=q

{\displaystyle {\begin{cases}ax+by=p\\cx+dy=q\end{cases}}}

(abcd)(xy)=(pq)

{\displaystyle \iff {\begin{pmatrix}a&b\\c&d\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}p\\q\end{pmatrix}}}

(xy)=1adbc(dbca)(pq)(|abcd|=adbc0)

{\displaystyle \iff {\begin{pmatrix}x\\y\end{pmatrix}}={\frac {1}{ad-bc}}{\begin{pmatrix}d&-b\\-c&a\\\end{pmatrix}}{\begin{pmatrix}p\\q\end{pmatrix}}(\because {\begin{vmatrix}a&b\\c&d\end{vmatrix}}=ad-bc\neq 0)}

{x=dadbcpbadbcqy=cadbcp+aadbcq

{\displaystyle \iff {\begin{cases}x={\frac {d}{ad-bc}}p-{\frac {b}{ad-bc}}q\\y=-{\frac {c}{ad-bc}}p+{\frac {a}{ad-bc}}q\end{cases}}}


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

連立一次方程式Ax=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}}}の係数行列A{\displaystyle A}とn次列ベクトルb{\displaystyle {\boldsymbol {b}}}を横に並べた行列(Ab){\displaystyle \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)}拡大係数行列という。

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

連立一次方程式Ax=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}}}の拡大係数行列(
                  A
                
                  b
                ){\displaystyle \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)}をAに関して簡約化した行列(
                  A
                
                  b
                ){\displaystyle \left({\begin{array}{c|c}A'&{\boldsymbol {b'}}\end{array}}\right)}について、Ax=b{\displaystyle A'{\boldsymbol {x}}={\boldsymbol {b'}}}の解は元の方程式の解と一致する。


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

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

  1. 全ての主成分が1である
  2. 主成分を持つ列ベクトルが基本ベクトルである
  3. 右側の列ほど主成分が下側にある
  4. 全ての成分が0である行が0以外の値を成分に持つ行よりも下側にある
  • 例題
    • 連立方程式{x+y+3z=52x+3y+2z=102x+4y+z=32{\displaystyle {\begin{cases}x+y+3z=5\\-2x+3y+2z=10\\2x+4y+z=32\end{cases}}}を解け。
  • 解答

{x+y+3z=52x+3y+2z=102x+4y+z=32(113232241)(xyz)=(51032)

{\displaystyle {\begin{cases}x+y+3z=5\\-2x+3y+2z=10\\2x+4y+z=32\end{cases}}\iff {\begin{pmatrix}1&1&3\\-2&3&2\\2&4&1\end{pmatrix}}{\begin{pmatrix}x\\y\\z\end{pmatrix}}={\begin{pmatrix}5\\10\\32\end{pmatrix}}}

拡大係数行列(11352321024132)

{\displaystyle \left({\begin{array}{ccc|c}1&1&3&5\\-2&3&2&10\\2&4&1&32\end{array}}\right)}

に行基本変形を繰り返し用いて、(10013941010276410017041)

{\displaystyle \left({\begin{array}{ccc|c}1&0&0&{\frac {139}{41}}\\0&1&0&{\frac {276}{41}}\\0&0&1&-{\frac {70}{41}}\end{array}}\right)}

よって、E(xyz)=(13941276417041){x=13941y=27641z=7041

{\displaystyle E{\begin{pmatrix}x\\y\\z\end{pmatrix}}={\begin{pmatrix}{\frac {139}{41}}\\{\frac {276}{41}}\\-{\frac {70}{41}}\end{pmatrix}}\iff {\begin{cases}x={\frac {139}{41}}\\y={\frac {276}{41}}\\z=-{\frac {70}{41}}\end{cases}}}

である。


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

基本行列を纏めてSとする。 拡大係数行列に左からSを掛けてS(Ab)=(SASb){\displaystyle S\left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)=\left({\begin{array}{c|c}SA&S{\boldsymbol {b}}\end{array}}\right)}とすることと連立一次方程式Ax=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}}}に左からSを掛けてSAx=Sb{\displaystyle SA{\boldsymbol {x}}=S{\boldsymbol {b}}}とすることは同値なので、SA{\displaystyle SA}ができるだけ簡単になるように簡約化することで、連立方程式が上手く解けるようになる。


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

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

1. {x+2yz+3w=32x+4y+4z+3w=93x+6yz+8w=10{\displaystyle {\begin{cases}x+2y-z+3w=3\\2x+4y+4z+3w=9\\3x+6y-z+8w=10\end{cases}}}

2. {ab+c=3b+c=02a+4b+8c=7{\displaystyle {\begin{cases}a-b+c=3\\b+c=0\\2a+4b+8c=7\end{cases}}}

  • 解答

1. {x+2yz+3w=32x+4y+4z+3w=93x+6yz+8w=10(121324433618)(xyzw)=(3910){\displaystyle {\begin{cases}x+2y-z+3w=3\\2x+4y+4z+3w=9\\3x+6y-z+8w=10\end{cases}}\iff {\begin{pmatrix}1&2&-1&3\\2&4&4&3\\3&6&-1&8\end{pmatrix}}{\begin{pmatrix}x\\y\\z\\w\end{pmatrix}}={\begin{pmatrix}3\\9\\10\end{pmatrix}}}拡大係数行列は(1213324439361810)

{\displaystyle \left({\begin{array}{cccc|c}1&2&-1&3&3\\2&4&4&3&9\\3&6&-1&8&10\end{array}}\right)}

である。行基本変形を繰り返し施して、(1213324439361810)

{\displaystyle \left({\begin{array}{cccc|c}1&2&-1&3&3\\2&4&4&3&9\\3&6&-1&8&10\end{array}}\right)}

(121330063300211)

{\displaystyle \to \left({\begin{array}{cccc|c}1&2&-1&3&3\\0&0&6&-3&3\\0&0&2&-1&1\end{array}}\right)}

(121330021100000)

{\displaystyle \to \left({\begin{array}{cccc|c}1&2&-1&3&3\\0&0&2&-1&1\\0&0&0&0&0\end{array}}\right)}

(125060021100000)

{\displaystyle \to \left({\begin{array}{cccc|c}1&2&5&0&6\\0&0&2&-1&1\\0&0&0&0&0\end{array}}\right)}

よって、(125000210000)(xyzw)=(610){x+2y+5z=62zw=10=0

{\displaystyle {\begin{pmatrix}1&2&5&0\\0&0&2&-1\\0&0&0&0\end{pmatrix}}{\begin{pmatrix}x\\y\\z\\w\end{pmatrix}}={\begin{pmatrix}6\\1\\0\end{pmatrix}}\iff {\begin{cases}x+2y+5z=6\\2z-w=1\\0=0\end{cases}}}

媒介変数をs,tとすると、解は{x=62s5ty=sz=tw=2t1{\displaystyle {\begin{cases}x=6-2s-5t\\y=s\\z=t\\w=2t-1\end{cases}}}である。

2. {ab+c=3b+c=02a+4b+8c=7(111011248)(abc)=(307){\displaystyle {\begin{cases}a-b+c=3\\b+c=0\\2a+4b+8c=7\end{cases}}\iff {\begin{pmatrix}1&-1&1\\0&1&1\\2&4&8\end{pmatrix}}{\begin{pmatrix}a\\b\\c\end{pmatrix}}={\begin{pmatrix}3\\0\\7\end{pmatrix}}}拡大係数行列は(111301102487)

{\displaystyle \left({\begin{array}{ccc|c}1&-1&1&3\\0&1&1&0\\2&4&8&7\end{array}}\right)}

である。行基本変形を繰り返し施して、(111301102487)

{\displaystyle \left({\begin{array}{ccc|c}1&-1&1&3\\0&1&1&0\\2&4&8&7\end{array}}\right)}

(102301102487)

{\displaystyle \to \left({\begin{array}{ccc|c}1&0&2&3\\0&1&1&0\\2&4&8&7\end{array}}\right)}

(102301102047)

{\displaystyle \to \left({\begin{array}{ccc|c}1&0&2&3\\0&1&1&0\\2&0&4&7\end{array}}\right)}

(102301100001)

{\displaystyle \to \left({\begin{array}{ccc|c}1&0&2&3\\0&1&1&0\\0&0&0&1\end{array}}\right)}

よって、(103011000)(abc)=(301){a+2c=3b+c=00=1

{\displaystyle {\begin{pmatrix}1&0&3\\0&1&1\\0&0&0\end{pmatrix}}{\begin{pmatrix}a\\b\\c\end{pmatrix}}={\begin{pmatrix}3\\0\\1\end{pmatrix}}\iff {\begin{cases}a+2c=3\\b+c=0\\0=1\end{cases}}}

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

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


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

{\displaystyle *}を含む行の個数を階段行列の段数という。


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

行列の階数(ランク)

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

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

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


連立一次方程式Ax=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}}}について、A{\displaystyle A}のk番目の列ベクトルをak{\displaystyle {\boldsymbol {a}}_{k}}とおく(1kn{\displaystyle 1\leq k\leq n})。 このとき、A{\displaystyle A}の列数とx{\displaystyle {\boldsymbol {x}}}の行数が一致していなければ左辺を計算できないので、A=(a1a2an),x=(x1x2xn){\displaystyle A={\begin{pmatrix}{\boldsymbol {a}}_{1}&{\boldsymbol {a}}_{2}&\cdots &{\boldsymbol {a}}_{n}\end{pmatrix}},{\boldsymbol {x}}={\begin{pmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\end{pmatrix}}}である。

Ax=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}}}が解を持つとき、k=1nxkak=b{\displaystyle \sum _{k=1}^{n}x_{k}{\boldsymbol {a}}_{k}={\boldsymbol {b}}}が成り立つ。 これは一次独立なベクトルの一次結合であるため、階数の定義よりrankA=rank(Ab){\displaystyle \mathrm {rank} A=\mathrm {rank} \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)}が成り立つ。

逆に、rankA=rank(Ab){\displaystyle \mathrm {rank} A=\mathrm {rank} \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)}が成り立つとき、rankA=m{\displaystyle \mathrm {rank} A=m}とするとb{\displaystyle {\boldsymbol {b}}}a1,a2,,an{\displaystyle {\boldsymbol {a}}_{1},{\boldsymbol {a}}_{2},\cdots ,{\boldsymbol {a}}_{n}}の中から選んだm個の一次独立なベクトルの一次結合で表せ、b=k=1nxkak{\displaystyle {\boldsymbol {b}}=\sum _{k=1}^{n}x_{k}{\boldsymbol {a}}_{k}}となるx(=(x1x2xn)){\displaystyle {\boldsymbol {x}}(={\begin{pmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\end{pmatrix}})}が少なくとも一つ存在する。このとき、x{\displaystyle {\boldsymbol {x}}}Ax=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}}}の解そのものである。

よって、連立一次方程式Ax=b

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

が解を持つrankA=rank(Ab)

{\displaystyle \iff \mathrm {rank} A=\mathrm {rank} \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)}

なお、rankArank(Ab){\displaystyle \mathrm {rank} A\neq \mathrm {rank} \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)}の場合、(Ab){\displaystyle \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)}を簡約化すると最後の行に対応する式は必ず0=1{\displaystyle 0=1}という矛盾した式となる。


Ax=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}}}の解がただ一つである条件を考える。

解がただ一つならば、

k=1nxkak=b{\displaystyle \sum _{k=1}^{n}x_{k}{\boldsymbol {a}}_{k}={\boldsymbol {b}}}

(1)を満たす(x1x2xn)(=x)

{\displaystyle {\begin{pmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\end{pmatrix}}(={\boldsymbol {x}})}

が一つに定まる。これは、ak

{\displaystyle {\boldsymbol {a}}_{k}}

が一次独立であることを示している。

ak{\displaystyle {\boldsymbol {a}}_{k}}が一次独立でないとすると、

k=1nykak=b{\displaystyle \sum _{k=1}^{n}y_{k}{\boldsymbol {a}}_{k}={\boldsymbol {b}}}

(2)を満たすyk(xk,0)

{\displaystyle y_{k}(\neq x_{k},0)}

が存在し、(1)+(2)よりx=(x1+y1x2+y2xn+yn)

{\displaystyle {\boldsymbol {x}}'={\begin{pmatrix}x_{1}+y_{1}\\x_{2}+y_{2}\\\vdots \\x_{n}+y_{n}\end{pmatrix}}}

も連立方程式の解となり、解の一意性に反する。

よって、解がただ一つak

{\displaystyle \implies {\boldsymbol {a}}_{k}}

が一次独立rankA=n

{\displaystyle \implies \mathrm {rank} A=n}

逆に、rankA=n{\displaystyle \mathrm {rank} A=n}とすると、 Ax=b,Ay=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}},A{\boldsymbol {y}}={\boldsymbol {b}}}について、A(xy)=Ok=1n(xkyk)ak=Oxkyk=0xk=ykx=y{\displaystyle A({\boldsymbol {x}}-{\boldsymbol {y}})=O\iff \sum _{k=1}^{n}(x_{k}-y_{k}){\boldsymbol {a}}_{k}=O\iff x_{k}-y_{k}=0\iff x_{k}=y_{k}\iff {\boldsymbol {x}}={\boldsymbol {y}}}

よって、連立一次方程式Ax=b

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

がただ一つの解を持つrankA=rank(Ab)=n

{\displaystyle \iff \mathrm {rank} A=\mathrm {rank} \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)=n}

(ただし、nはAの行数であり、Aの列数以下の値をとる)


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

なお、rankA{\displaystyle \mathrm {rank} A}rank(Ab){\displaystyle \mathrm {rank} \left({\begin{array}{c|c}A&{\boldsymbol {b}}\end{array}}\right)}を求める過程で同時に求まる。


連立一次方程式Ax=b{\displaystyle A{\boldsymbol {x}}={\boldsymbol {b}}}の解が存在するとき、その自由度はちょうどnrankA{\displaystyle n-\mathrm {rank} A}であることが知られている。このn{\displaystyle n}A{\displaystyle A}の列数であり、x{\displaystyle {\boldsymbol {x}}}の行数であり、連立一次方程式の変数の個数である。

  • 例題
    • 連立一次方程式{x+2yz+3w=32x+4y+4z+3w=93x+6yz+8w=10{\displaystyle {\begin{cases}x+2y-z+3w=3\\2x+4y+4z+3w=9\\3x+6y-z+8w=10\end{cases}}}について、上のことを確かめよ。
  • 解答

拡大係数行列は(1213324439361810)

{\displaystyle \left({\begin{array}{cccc|c}1&2&-1&3&3\\2&4&4&3&9\\3&6&-1&8&10\end{array}}\right)}

である。行基本変形を繰り返し施すと、(125060021100000)

{\displaystyle \left({\begin{array}{cccc|c}1&2&5&0&6\\0&0&2&-1&1\\0&0&0&0&0\end{array}}\right)}

よって、rank(121324433618)=rank(125000210000)=2

{\displaystyle \mathrm {rank} {\begin{pmatrix}1&2&-1&3\\2&4&4&3\\3&6&-1&8\end{pmatrix}}=\mathrm {rank} {\begin{pmatrix}1&2&5&0\\0&0&2&-1\\0&0&0&0\end{pmatrix}}=2}

元の式の変数の個数は4なので、42=2

{\displaystyle 4-2=2}

これは、先ほど求めたこの連立方程式の解を表すのに使われた媒介変数の個数と一致している。

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


連立一次方程式Ax=O{\displaystyle A{\boldsymbol {x}}=O}を特に斉次連立一次方程式という。 この方程式について、以下のことが成り立つ。この方程式がx=O

{\displaystyle {\boldsymbol {x}}=O}

(自明解)以外の解(非自明解)を持つrankA<n

{\displaystyle \iff \mathrm {rank} A<n}

(ただし、nは方程式の変数の個数)

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

先ほど証明したことから、rankA=nAx=O

{\displaystyle \mathrm {rank} A=n\iff A{\boldsymbol {x}}=O}

の解がただ1つAx=O

{\displaystyle \iff A{\boldsymbol {x}}=O}

の解が自明解のみ

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

{\displaystyle A{\boldsymbol {x}}=O}

が非自明解を持つrankAn

{\displaystyle \iff \mathrm {rank} A\neq n}

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

{\displaystyle \mathrm {rank} A\neq n\iff \mathrm {rank} A<n}

が成り立つ。 命題とその対偶の真偽は一致するため、命題「Ax=O{\displaystyle A{\boldsymbol {x}}=O}が非自明解を持つrankA<n{\displaystyle \iff \mathrm {rank} A<n}」は真である。

一次変換

一次変換を学ぶ上で大切になるのが、写像と呼ばれる概念である。 以下、写像について簡潔に記す。

写像

集合の要素を(げん)と呼び、a{\displaystyle a}が集合A{\displaystyle A}の元であることをaA{\displaystyle a\in A}と表す。 自然数全体の集合はN{\displaystyle \mathbb {N} }、整数全体の集合はZ{\displaystyle \mathbb {Z} }、有理数全体の集合はQ{\displaystyle \mathbb {Q} }、実数全体の集合はR{\displaystyle \mathbb {R} }、複素数全体の集合はC{\displaystyle \mathbb {C} }と表す。 集合A{\displaystyle A}の各元に対しB{\displaystyle B}の元を一つ指定するような規則f{\displaystyle f}が存在するとき、このf{\displaystyle f}写像といい、f:AB{\displaystyle f\colon A\to B}と表す。このとき、A{\displaystyle A}始域(定義域)、B{\displaystyle B}終域(値域)と呼び、「f{\displaystyle f}はAの上で定義され、Bの中に値を持つ」という。a(A){\displaystyle a(\in A)}が写像f{\displaystyle f}によってb(B){\displaystyle b(\in B)}に写されるとき、bを「aにおける」といい、b=f(a){\displaystyle b=f(a)}またはaf(a){\displaystyle a\to f(a)}と表す。このとき、aを入力、bを出力という。 一つの入力に対して複数の出力が返されるような規則は写像ではない。

写像は集合の元同士の対応関係であり、高校範囲での「関数」を一般化した概念と言える。

Aの元とBの元が同じ集合Uに属している(A,BともにUの部分集合である)とき、AからBへの写像を変換と呼ぶ。

f:XY{\displaystyle f\colon X\to Y}とする。 AX{\displaystyle A\subset X}に対し、f(A)={f(x)Y|xA}{\displaystyle f(A)=\{f(x)\in Y|x\in A\}}を「f{\displaystyle f}によるA{\displaystyle A}」という。 BY{\displaystyle B\subset Y}に対し、f1(B)={xX|f(x)B}{\displaystyle f^{-1}(B)=\{x\in X|f(x)\in B\}}を「f{\displaystyle f}によるB{\displaystyle B}逆像原像)」という。

f:AB{\displaystyle f\colon A\to B}g:BC{\displaystyle g\colon B\to C}とするとき、h:AC{\displaystyle h\colon A\to C}をfとgの合成写像といい、fg{\displaystyle f\circ g}と表す。

f:XY{\displaystyle f\colon X\to Y}について、 任意のx,yX{\displaystyle x,y\in X}f(x)=f(y)x=y{\displaystyle f(x)=f(y)\implies x=y}を満たすならば、「fは単射である」という。 任意のb(Y){\displaystyle b(\in Y)}に対してf(b)=a{\displaystyle f(b)=a}が成り立つようなa(X){\displaystyle a(\in X)}が存在するならば、「fは全射である」という。 単射かつ全射であるならば、「fは全単射である」という。このとき、「XとYは一対一に対応する」という。

f:AA{\displaystyle f\colon A\to A}について、 任意のa(A){\displaystyle a(\in A)}f(a)=a{\displaystyle f(a)=a}を満たすとき、fを恒等写像といい、idA{\displaystyle \mathrm {id} _{A}}と表す。

f:AB{\displaystyle f\colon A\to B}について、g:BA{\displaystyle g\colon B\to A}gf=idB{\displaystyle g\circ f=\mathrm {id} _{B}}fg=idA{\displaystyle f\circ g=\mathrm {id} _{A}}を満たすとき、gを「fの逆写像」という。このとき、「fが逆写像を持つ{\displaystyle \iff }fが全単射である」が成り立つ。その定義より(f1)1=f{\displaystyle (f^{-1})^{-1}=f}であり、f1{\displaystyle f^{-1}}は全単射である。

これらのことを頭に入れておくと、以下の内容を理解しやすくなるであろう。


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

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

  1. f(x+y)=f(x)+f(y)(x,yV){\displaystyle f({\boldsymbol {x}}+{\boldsymbol {y}})=f({\boldsymbol {x}})+f({\boldsymbol {y}})({\boldsymbol {x}},{\boldsymbol {y}}\in V)}
  2. f(kx)=kf(x)(kF,xV){\displaystyle f(k{\boldsymbol {x}})=kf({\boldsymbol {x}})(k\in \mathbb {F} ,{\boldsymbol {x}}\in V)}

この2つの性質は、f(kx+ly)=kf(x)+lf(y)(k,lF,x,yV){\displaystyle f(k{\boldsymbol {x}}+l{\boldsymbol {y}})=kf({\boldsymbol {x}})+lf({\boldsymbol {y}})(k,l\in \mathbb {F} ,{\boldsymbol {x}},{\boldsymbol {y}}\in V)}が成り立つことと同値である。この性質を線形性と呼ぶ。 x,y{\displaystyle {\boldsymbol {x}},{\boldsymbol {y}}}を普通の数に置き換えると、シグマ公式・期待値・極限・微分・積分などに見られた性質と一致する。

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

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

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

Aを線形写像fの表現行列とすると、fの像の次元はrankA{\displaystyle \mathrm {rank} A}である。


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


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

  • 例題
    • 次の行列で表される一次変換によって、点P(1, 3)はどんな点に移るか。
  1.  (3245){\displaystyle {\begin{pmatrix}3&2\\4&5\end{pmatrix}}}
  2.  (10a6){\displaystyle {\begin{pmatrix}1&0\\a&6\end{pmatrix}}}
  • 解答
  1.  (3245)(13)=(919)P=(9,19){\displaystyle {\begin{pmatrix}3&2\\4&5\end{pmatrix}}{\begin{pmatrix}1\\3\end{pmatrix}}={\begin{pmatrix}9\\19\end{pmatrix}}\therefore P'=(9,19)}
  2.  (10a6)(13)=(1a+18)P=(1,a+18){\displaystyle {\begin{pmatrix}1&0\\a&6\end{pmatrix}}{\begin{pmatrix}1\\3\end{pmatrix}}={\begin{pmatrix}1\\a+18\end{pmatrix}}\therefore P'=(1,a+18)}


平面における一次変換は(abcd)(xy)=(xy){\displaystyle {\begin{pmatrix}a&b\\c&d\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}x'\\y'\end{pmatrix}}}と表される。このとき、(xy){\displaystyle {\begin{pmatrix}x\\y\end{pmatrix}}}は基本ベクトルの一次結合で表され、(xy){\displaystyle {\begin{pmatrix}x'\\y'\end{pmatrix}}}(ac),(bd){\displaystyle {\begin{pmatrix}a\\c\end{pmatrix}},{\begin{pmatrix}b\\d\end{pmatrix}}}の一次結合で表される。つまり、一次変換は基本ベクトルを任意のベクトルに変換する操作であると言える。


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

表現行列A(=(abcd)){\displaystyle A(={\begin{pmatrix}a&b\\c&d\end{pmatrix}})}が正則行列であるとき、(xy)=A(xy){\displaystyle {\begin{pmatrix}x'\\y'\end{pmatrix}}=A{\begin{pmatrix}x\\y\end{pmatrix}}}の両辺にA1{\displaystyle A^{-1}}を左から掛けると(xy)=A1(xy){\displaystyle {\begin{pmatrix}x\\y\end{pmatrix}}=A^{-1}{\begin{pmatrix}x'\\y'\end{pmatrix}}}が成り立つ。つまり、任意の(x,y){\displaystyle (x',y')}に対してそれを与える実数(x,y){\displaystyle (x,y)}の組が存在する。よって、この表現行列による一次変換は上への写像であり、この変換によって平面全体は平面全体へ移る。また、(x1y1)(x2y2)A(x1y1)A(x2y2)({\displaystyle {\begin{pmatrix}x_{1}\\y_{1}\end{pmatrix}}\neq {\begin{pmatrix}x_{2}\\y_{2}\end{pmatrix}}\implies A{\begin{pmatrix}x_{1}\\y_{1}\end{pmatrix}}\neq A{\begin{pmatrix}x_{2}\\y_{2}\end{pmatrix}}(\because }背理法){\displaystyle )}なのでこの変換は全単射である。このように、表現行列が正則行列である一次変換を正則一次変換という。

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

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


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

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


一次変換の表現行列がA=(abcd){\displaystyle A={\begin{pmatrix}a&b\\c&d\end{pmatrix}}}であるとき、

(10)(ac),(01)(bd){\displaystyle {\begin{pmatrix}1\\0\end{pmatrix}}\to {\begin{pmatrix}a\\c\end{pmatrix}},{\begin{pmatrix}0\\1\end{pmatrix}}\to {\begin{pmatrix}b\\d\end{pmatrix}}}

(3)であるので、B(10)=(pr),B(01)=(qs)

{\displaystyle B{\begin{pmatrix}1\\0\end{pmatrix}}={\begin{pmatrix}p\\r\end{pmatrix}},B{\begin{pmatrix}0\\1\end{pmatrix}}={\begin{pmatrix}q\\s\end{pmatrix}}}

とするとB=(pqrs)

{\displaystyle B={\begin{pmatrix}p&q\\r&s\end{pmatrix}}}

である。ここで{A(pr)=(km)A(qs)=(ln)

{\displaystyle {\begin{cases}A{\begin{pmatrix}p\\r\end{pmatrix}}={\begin{pmatrix}k\\m\end{pmatrix}}\\A{\begin{pmatrix}q\\s\end{pmatrix}}={\begin{pmatrix}l\\n\end{pmatrix}}\end{cases}}}

であるとき、{AB(10)=(km)AB(01)=(ln)

{\displaystyle {\begin{cases}AB{\begin{pmatrix}1\\0\end{pmatrix}}={\begin{pmatrix}k\\m\end{pmatrix}}\\AB{\begin{pmatrix}0\\1\end{pmatrix}}={\begin{pmatrix}l\\n\end{pmatrix}}\end{cases}}}

なので、(3)よりAB=(klmn)

{\displaystyle AB={\begin{pmatrix}k&l\\m&n\end{pmatrix}}}

である(このABは、Aの表す変換とBの表す変換の合成変換の表現行列である)。故に、A=(klmn)B1=(klmn)(pqrs)1

{\displaystyle A={\begin{pmatrix}k&l\\m&n\end{pmatrix}}B^{-1}={\begin{pmatrix}k&l\\m&n\end{pmatrix}}{\begin{pmatrix}p&q\\r&s\end{pmatrix}}^{-1}}

である。

このことから、変換の像が2つ与えられたとき、一次変換が決定することがわかる。ただし、変換前の2点の位置ベクトルが一次従属であるとき、最後の計算に使う逆行列が存在しないので表現行列を求められない。また、変換前の2点のいずれかが原点であるときも表現行列を求められない。

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

与えられた条件を行列で表すと{A(13)=(62)A(15)=(38)

{\displaystyle {\begin{cases}A{\begin{pmatrix}1\\3\end{pmatrix}}={\begin{pmatrix}6\\-2\end{pmatrix}}\\A{\begin{pmatrix}-1\\5\end{pmatrix}}={\begin{pmatrix}3\\8\end{pmatrix}}\end{cases}}}

一つの式に纏めて、A(1135)=(6228)

{\displaystyle A{\begin{pmatrix}1&-1\\3&5\end{pmatrix}}={\begin{pmatrix}6&2\\-2&8\end{pmatrix}}}

よって、A=(6228)(1135)1=(6228)18(5131)=18(248346)=(3117434)

{\displaystyle \therefore A={\begin{pmatrix}6&2\\-2&8\end{pmatrix}}{\begin{pmatrix}1&-1\\3&5\end{pmatrix}}^{-1}={\begin{pmatrix}6&2\\-2&8\end{pmatrix}}\cdot {\frac {1}{8}}{\begin{pmatrix}5&1\\-3&1\end{pmatrix}}={\frac {1}{8}}{\begin{pmatrix}24&8\\-34&6\end{pmatrix}}={\begin{pmatrix}3&1\\-{\frac {17}{4}}&{\frac {3}{4}}\end{pmatrix}}}


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

一次変換と線形性

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

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

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

  • 例題

表現行列がA=(4121){\displaystyle A={\begin{pmatrix}4&1\\-2&1\end{pmatrix}}}で表される一次変換f{\displaystyle f}における不動直線を求めよ。ただし、「不動直線」とは、f{\displaystyle f}によって自分自身に移る直線である。

  • 解答

detA=411(2)=6

{\displaystyle \mathrm {det} A=4\cdot 1-1\cdot (-2)=6}

よりf

{\displaystyle f}

は正則一次変換なので、f

{\displaystyle f}

によって直線が潰れて点に移ることはない。①y軸に平行な直線のとき求める直線はkR

{\displaystyle k\in \mathbb {R} }

としてx=k

{\displaystyle x=k}

とおけるので、媒介変数をtとすると求める直線のベクトル方程式は(xy)=(k0)+t(01)

{\displaystyle {\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}k\\0\end{pmatrix}}+t{\begin{pmatrix}0\\1\end{pmatrix}}}

である。方向ベクトルに注目すると、A(01)=(4121)(01)=(11)//(01)

{\displaystyle A{\begin{pmatrix}0\\1\end{pmatrix}}={\begin{pmatrix}4&1\\-2&1\end{pmatrix}}{\begin{pmatrix}0\\1\end{pmatrix}}={\begin{pmatrix}1\\1\end{pmatrix}}/\!/\!\!\!\!\backslash \,{\begin{pmatrix}0\\1\end{pmatrix}}}

であるので、このタイプの不動直線は存在しない。②その他の場合求める直線はm,nR

{\displaystyle m,n\in \mathbb {R} }

としてy=mx+n

{\displaystyle y=mx+n}

とおける。この直線のベクトル方程式は(xy)=t(1m)+(0n)

{\displaystyle {\begin{pmatrix}x\\y\end{pmatrix}}=t{\begin{pmatrix}1\\m\end{pmatrix}}+{\begin{pmatrix}0\\n\end{pmatrix}}}

であり、これをf

{\displaystyle f}

で変換した直線のベクトル方程式は(xy)=A(xy)=A{t(1m)+(0n)}=tA(1m)+A(0n)

{\displaystyle {\begin{pmatrix}x'\\y'\end{pmatrix}}=A{\begin{pmatrix}x\\y\end{pmatrix}}=A\{t{\begin{pmatrix}1\\m\end{pmatrix}}+{\begin{pmatrix}0\\n\end{pmatrix}}\}=tA{\begin{pmatrix}1\\m\end{pmatrix}}+A{\begin{pmatrix}0\\n\end{pmatrix}}}

となる。A(1m)0

{\displaystyle A{\begin{pmatrix}1\\m\end{pmatrix}}\neq {\vec {0}}}

よりこれが元の直線に一致する条件は、「A(1m)//(1m)

{\displaystyle A{\begin{pmatrix}1\\m\end{pmatrix}}//{\begin{pmatrix}1\\m\end{pmatrix}}}

」且つ「位置ベクトルA(0n)

{\displaystyle A{\begin{pmatrix}0\\n\end{pmatrix}}}

の終点が元の直線上にある」である。A(1m)=(4121)(1m)=(4+m2+m)

{\displaystyle A{\begin{pmatrix}1\\m\end{pmatrix}}={\begin{pmatrix}4&1\\-2&1\end{pmatrix}}{\begin{pmatrix}1\\m\end{pmatrix}}={\begin{pmatrix}4+m\\-2+m\end{pmatrix}}}

より、(4+m2+m)//(1m)det(4+m12+mm)=0

{\displaystyle {\begin{pmatrix}4+m\\-2+m\end{pmatrix}}//{\begin{pmatrix}1\\m\end{pmatrix}}\iff \mathrm {det} {\begin{pmatrix}4+m&1\\-2+m&m\end{pmatrix}}=0}

(m+4)m1(m2)=0

{\displaystyle \iff (m+4)\cdot m-1\cdot (m-2)=0}

m2+3m+2=0

{\displaystyle \iff m^{2}+3m+2=0}

(m+1)(m+2)=0

{\displaystyle \iff (m+1)(m+2)=0}

m=1,2

{\displaystyle \therefore m=-1,-2}

A(0n)=(4121)(0n)=(nn)

{\displaystyle A{\begin{pmatrix}0\\n\end{pmatrix}}={\begin{pmatrix}4&1\\-2&1\end{pmatrix}}{\begin{pmatrix}0\\n\end{pmatrix}}={\begin{pmatrix}n\\n\end{pmatrix}}}

この位置ベクトルの表す点が直線y=mx+n

{\displaystyle y=mx+n}

上にあるので、n=mn+n

{\displaystyle n=mn+n}

すなわちmn=0

{\displaystyle mn=0}

n=0

{\displaystyle \therefore n=0}

よって求める直線は2本あり、y=x

{\displaystyle y=-x}

y=2x

{\displaystyle y=-2x}

である。//


この例題には重要な別解があるので紹介する。⑴解答の②において、直線上の点Pを媒介変数表示すると(t,mt+n)

{\displaystyle (t,mt+n)}

なので、(xy)=(4121)(tmt+n)=((m+4)t+n(m2)t+n)

{\displaystyle {\begin{pmatrix}x'\\y'\end{pmatrix}}={\begin{pmatrix}4&1\\-2&1\end{pmatrix}}{\begin{pmatrix}t\\mt+n\end{pmatrix}}={\begin{pmatrix}(m+4)t+n\\(m-2)t+n\end{pmatrix}}}

である。これが元の直線上にあるので、(m2)t+n=m{(m+4)t+n}+n=m(m+4)t+mn+n

{\displaystyle (m-2)t+n=m\{(m+4)t+n\}+n=m(m+4)t+mn+n}

t

{\displaystyle t}

の恒等式である。故に{m2=m2+4mn=mn+n

{\displaystyle {\begin{cases}m-2=m^{2}+4m\\n=mn+n\end{cases}}}

より{m=1,2n=0

{\displaystyle {\begin{cases}m=-1,-2\\n=0\end{cases}}}

が導かれる。⑵f

{\displaystyle f}

によって方向の変わらないベクトルを求める。A(xy)=(4121)(xy)=(4x+y2x+y)

{\displaystyle A{\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}4&1\\-2&1\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}4x+y\\-2x+y\end{pmatrix}}}

より、A(xy)//(xy)det(4x+yx2x+yy)=0

{\displaystyle A{\begin{pmatrix}x\\y\end{pmatrix}}//{\begin{pmatrix}x\\y\end{pmatrix}}\iff \mathrm {det} {\begin{pmatrix}4x+y&x\\-2x+y&y\end{pmatrix}}=0}

(4x+y)yx(2x+y)=0

{\displaystyle \iff (4x+y)y-x(-2x+y)=0}

2x2+3xy+y2=0

{\displaystyle \iff 2x^{2}+3xy+y^{2}=0}

(2x+y)(x+y)=0

{\displaystyle \iff (2x+y)(x+y)=0}

y=x,2x

{\displaystyle \iff y=-x,-2x}

よって求めるベクトルは(11),(12)

{\displaystyle {\begin{pmatrix}1\\-1\end{pmatrix}},{\begin{pmatrix}1\\-2\end{pmatrix}}}

である。これにより、求める直線の傾きはm=1,2

{\displaystyle m=-1,-2}

とわかる。あとは条件から定数項が0であることを示せば良い。

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

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

  • 問題

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


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


一次変換(xy)(αxβy){\displaystyle {\begin{pmatrix}x\\y\end{pmatrix}}\to {\begin{pmatrix}\alpha x\\\beta y\end{pmatrix}}}は「x軸方向にα倍、y軸方向にβ倍」することを意味する。このような変換を「軸方向の伸縮」という。

行列の積を考えると、伸縮の表現行列は(α00β){\displaystyle {\begin{pmatrix}\alpha &0\\0&\beta \end{pmatrix}}}であることが容易にわかる。

α,β{\displaystyle \alpha ,\beta }に具体的な値を入れると以下のようになる。α=1,β=1

{\displaystyle \alpha =1,\beta =-1}

:x軸に対する対称移動α=1,β=1

{\displaystyle \alpha =-1,\beta =1}

:y軸に対する対称移動α=β=1

{\displaystyle \alpha =\beta =-1}

:原点に対する対称移動α=β

{\displaystyle \alpha =\beta }

:原点を中心とするα倍の伸縮(相位変換α=β=1

{\displaystyle \alpha =\beta =1}

恒等変換

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


(1αβ1){\displaystyle {\begin{pmatrix}1&\alpha \\\beta &1\end{pmatrix}}}で表される一次変換はどのような変換であろうか。

(1αβ1)(xy)=(x+αyβx+y){\displaystyle {\begin{pmatrix}1&\alpha \\\beta &1\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}={\begin{pmatrix}x+\alpha y\\\beta x+y\end{pmatrix}}}より、これはx軸方向・y軸方向それぞれのズレを表す行列である。


原点中心のθ{\displaystyle \theta }回転の表現行列を求める。P(x,y)

{\displaystyle P(x,y)}

を原点中心にθ回転した先の点をP(x,y)

{\displaystyle P'(x',y')}

、この一次変換をf

{\displaystyle f}

とおく。基本ベクトルをex,ey

{\displaystyle {\vec {e}}_{x},{\vec {e}}_{y}}

とすると、OP=xex+yey

{\displaystyle {\vec {OP}}=x{\vec {e}}_{x}+y{\vec {e}}_{y}}

である。よって、OP=f(OP)=f(xex+yey)=xf(ex)+yf(ey)

{\displaystyle {\vec {OP'}}=f({\vec {OP}})=f(x{\vec {e}}_{x}+y{\vec {e}}_{y})=xf({\vec {e}}_{x})+yf({\vec {e}}_{y})}

f(ex)=ex,f(ey)=ey

{\displaystyle f({\vec {e}}_{x})={\vec {e'}}_{x},f({\vec {e}}_{y})={\vec {e'}}_{y}}

とおく。単位円上にex,ey,ex,ey

{\displaystyle {\vec {e}}_{x},{\vec {e}}_{y},{\vec {e'}}_{x},{\vec {e'}}_{y}}

を図示すると、ex,ey

{\displaystyle {\vec {e'}}_{x},{\vec {e'}}_{y}}

がx軸となす角はそれぞれθ,θ+π2

{\displaystyle \theta ,\theta +{\frac {\pi }{2}}}

である。よって三角関数の定義よりex=(cosθsinθ),ey=(cos(θ+π2)sin(θ+π2))=(sinθcosθ)

{\displaystyle {\vec {e'}}_{x}={\begin{pmatrix}\cos \theta \\\sin \theta \end{pmatrix}},{\vec {e'}}_{y}={\begin{pmatrix}\cos(\theta +{\frac {\pi }{2}})\\\sin(\theta +{\frac {\pi }{2}})\end{pmatrix}}={\begin{pmatrix}-\sin \theta \\\cos \theta \end{pmatrix}}}

OP=x(cosθsinθ)+y(sinθcosθ)=(cosθsinθsinθcosθ)(xy)

{\displaystyle \therefore {\vec {OP'}}=x{\begin{pmatrix}\cos \theta \\\sin \theta \end{pmatrix}}+y{\begin{pmatrix}-\sin \theta \\\cos \theta \end{pmatrix}}={\begin{pmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}}

すなわち、求める表現行列は(cosθsinθsinθcosθ)

{\displaystyle {\begin{pmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{pmatrix}}}

である。

表現行列(cosθsinθsinθcosθ){\displaystyle {\begin{pmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{pmatrix}}}回転行列といい、R(θ){\displaystyle R(\theta )}Rθ{\displaystyle R_{\theta }}のように表す。

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


直線l:y=mx{\displaystyle l:y=mx}に関する対称移動の表現行列を求める。移動前の点をP(x)

{\displaystyle P({\vec {x}})}

、移動後の点をP(x)

{\displaystyle P'({\vec {x'}})}

、直線l

{\displaystyle l}

の単位方向ベクトルをe

{\displaystyle {\vec {e}}}

とする。P

{\displaystyle P}

からl

{\displaystyle l}

に下ろした垂線の足をH

{\displaystyle H}

とすると、正射影ベクトルの公式よりOH=(ex)e

{\displaystyle {\vec {OH}}=({\vec {e}}\cdot {\vec {x}}){\vec {e}}}

H

{\displaystyle H}

PP

{\displaystyle PP'}

の中点なので、OH=x+x2

{\displaystyle {\vec {OH}}={\frac {{\vec {x}}+{\vec {x'}}}{2}}}

x=2OHx=2(ex)ex

{\displaystyle \therefore {\vec {x'}}=2{\vec {OH}}-{\vec {x}}=2({\vec {e}}\cdot {\vec {x}}){\vec {e}}-{\vec {x}}}

l

{\displaystyle l}

の方向ベクトルをm=(1m)

{\displaystyle {\vec {m}}={\begin{pmatrix}1\\m\end{pmatrix}}}

とおくと、e=m|m|=11+m2(1m),x=(xy),x=(xy),ex=x+my1+m2

{\displaystyle {\vec {e}}={\frac {\vec {m}}{|{\vec {m}}|}}={\frac {1}{\sqrt {1+m^{2}}}}{\begin{pmatrix}1\\m\end{pmatrix}},{\vec {x}}={\begin{pmatrix}x\\y\end{pmatrix}},{\vec {x'}}={\begin{pmatrix}x'\\y'\end{pmatrix}},{\vec {e}}\cdot {\vec {x}}={\frac {x+my}{\sqrt {1+m^{2}}}}}

なので、(xy)=2x+my1+m211+m2(1m)(xy)

{\displaystyle {\begin{pmatrix}x'\\y'\end{pmatrix}}=2\cdot {\frac {x+my}{\sqrt {1+m^{2}}}}\cdot {\frac {1}{\sqrt {1+m^{2}}}}{\begin{pmatrix}1\\m\end{pmatrix}}-{\begin{pmatrix}x\\y\end{pmatrix}}}

=21+m2(x+mymx+m2y)(xy)

{\displaystyle ={\frac {2}{1+m^{2}}}{\begin{pmatrix}x+my\\mx+m^{2}y\end{pmatrix}}-{\begin{pmatrix}x\\y\end{pmatrix}}}

=21+m2(1mmm2)(xy)1+m21+m2(1001)(xy)

{\displaystyle ={\frac {2}{1+m^{2}}}{\begin{pmatrix}1&m\\m&m^{2}\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}-{\frac {1+m^{2}}{1+m^{2}}}{\begin{pmatrix}1&0\\0&1\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}}

=11+m2{(22m2m2m2)(1+m2001+m2)}(xy)

{\displaystyle ={\frac {1}{1+m^{2}}}\{{\begin{pmatrix}2&2m\\2m&2m^{2}\end{pmatrix}}-{\begin{pmatrix}1+m^{2}&0\\0&1+m^{2}\end{pmatrix}}\}{\begin{pmatrix}x\\y\end{pmatrix}}}

=11+m2(1m22m2m1+m2)(xy)

{\displaystyle ={\frac {1}{1+m^{2}}}{\begin{pmatrix}1-m^{2}&2m\\2m&-1+m^{2}\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}}

すなわち、求める表現行列は11+m2(1m22m2m1+m2)

{\displaystyle {\frac {1}{1+m^{2}}}{\begin{pmatrix}1-m^{2}&2m\\2m&-1+m^{2}\end{pmatrix}}}

である。

l{\displaystyle l}の方向ベクトルをm=(ab){\displaystyle {\vec {m}}={\begin{pmatrix}a\\b\end{pmatrix}}}のようにとると、表現行列は1a2+b2(a2b22ab2abb2a2){\displaystyle {\frac {1}{a^{2}+b^{2}}}{\begin{pmatrix}a^{2}-b^{2}&2ab\\2ab&b^{2}-a^{2}\end{pmatrix}}}となる。

また、上の計算過程から、OH=11+m2(1mmm2)(xy)=1a2+b2(a2ababb2)(xy){\displaystyle {\vec {OH}}={\frac {1}{1+m^{2}}}{\begin{pmatrix}1&m\\m&m^{2}\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}={\frac {1}{a^{2}+b^{2}}}{\begin{pmatrix}a^{2}&ab\\ab&b^{2}\end{pmatrix}}{\begin{pmatrix}x\\y\end{pmatrix}}}と求まる。これは点P{\displaystyle P}l{\displaystyle l}への正射影を表すベクトルなので、直線y=mx{\displaystyle y=mx}への正射影の表現行列は11+m2(1mmm2)=1a2+b2(a2ababb2){\displaystyle {\frac {1}{1+m^{2}}}{\begin{pmatrix}1&m\\m&m^{2}\end{pmatrix}}={\frac {1}{a^{2}+b^{2}}}{\begin{pmatrix}a^{2}&ab\\ab&b^{2}\end{pmatrix}}}である。


回転行列による変換では、図形の形・面積ともに保存される。回転行列はtRθRθ=E{\displaystyle {}^{t}\!R_{\theta }R_{\theta }=E}を満たすので直交行列である。二次において、直交行列はE,(0110),Rθ,(cosθsinθsinθcosθ){\displaystyle E,{\begin{pmatrix}0&1\\1&0\end{pmatrix}},R_{\theta },{\begin{pmatrix}\cos \theta &\sin \theta \\\sin \theta &-\cos \theta \end{pmatrix}}}などが存在する。

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

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


P2=P{\displaystyle P^{2}=P}を満たす正方行列を射影行列または冪等行列という。

例えば、(1100){\displaystyle {\begin{pmatrix}1&1\\0&0\end{pmatrix}}}は射影行列である。

射影行列P{\displaystyle P}に対してPa=b{\displaystyle P{\vec {a}}={\vec {b}}}とすると、媒介変数をt{\displaystyle t}としてP(ta+(1t)b)=tPa+(1t)Pb=tb+(1t)P2a=tb+(1t)Pa=tb+(1t)b=b{\displaystyle P(t{\vec {a}}+(1-t){\vec {b}})=tP{\vec {a}}+(1-t)P{\vec {b}}=t{\vec {b}}+(1-t)P^{2}{\vec {a}}=t{\vec {b}}+(1-t)P{\vec {a}}=t{\vec {b}}+(1-t){\vec {b}}={\vec {b}}}である。

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


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

例えば、P=(12121212)

{\displaystyle P={\begin{pmatrix}{\frac {1}{2}}&{\frac {1}{2}}\\{\frac {1}{2}}&{\frac {1}{2}}\end{pmatrix}}}

は、P2=PtP=P

{\displaystyle P^{2}=P\land {}^{t}\!P=P}

 なので直交射影行列である。

直交射影行列P{\displaystyle P}に対してPa=b{\displaystyle P{\vec {a}}={\vec {b}}}とすると、(ba)tb=(Paa)t(Pa)=atPt(Pa)at(Pa)=at(Pa)at(Pa)=0{\displaystyle ({\vec {b}}-{\vec {a}}){}^{t}\!{\vec {b}}=(P{\vec {a}}-{\vec {a}}){}^{t}\!(P{\vec {a}})={\vec {a}}{}^{t}\!P{}^{t}\!(P{\vec {a}})-{\vec {a}}{}^{t}\!(P{\vec {a}})={\vec {a}}{}^{t}\!(P{\vec {a}})-{\vec {a}}{}^{t}\!(P{\vec {a}})=0}である。

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

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

一般に、a1,,an{\displaystyle {\vec {a}}_{1},\cdots ,{\vec {a}}_{n}}が空間V{\displaystyle V}の基底(後述)であり、A{\displaystyle A}ai{\displaystyle {\vec {a_{i}}}}の並んだ行列とすると、det(tAA)0{\displaystyle \mathrm {det} ({}^{t}\!AA)\neq 0}のときV{\displaystyle V}上の直交射影行列P{\displaystyle P}P=A(tAA)1tA{\displaystyle P=A({}^{t}\!AA)^{-1}{}^{t}\!A}である。

最小二乗法において、|Axb|{\displaystyle |A{\vec {x}}-{\vec {b}}|}を最小にするx{\displaystyle {\vec {x}}}正規方程式tAAx=tAb{\displaystyle {}^{t}\!AA{\vec {x}}={}^{t}\!A{\vec {b}}}を解く、すなわちx=(tAA)1tAb{\displaystyle {\vec {x}}=({}^{t}\!AA)^{-1}{}^{t}\!A{\vec {b}}}を計算することでただ一つ求まる。

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

  • 例題

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

  • 解答

直線を原点中心にθ{\displaystyle -\theta }回転するとx{\displaystyle x}軸に一致することから、この一次変換はθ{\displaystyle -\theta }回転、x{\displaystyle x}軸に関する対称移動、θ{\displaystyle \theta }回転という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θ)

{\displaystyle {\begin{pmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{pmatrix}}{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}{\begin{pmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{pmatrix}}={\begin{pmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{pmatrix}}^{2}={\begin{pmatrix}\cos ^{2}\theta -\sin ^{2}\theta &2\sin \theta \cos \theta \\2\sin \theta \cos \theta &\sin ^{2}\theta -\cos ^{2}\theta \end{pmatrix}}={\begin{pmatrix}\cos 2\theta &\sin 2\theta \\\sin 2\theta &-\cos 2\theta \end{pmatrix}}}

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


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

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

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

という形式で表される写像である。平行移動によってベクトル(00)

{\displaystyle {\begin{pmatrix}0\\0\end{pmatrix}}}

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


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

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

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


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

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

アフィン変換

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

結論から言うと、拡大係数行列を用いるとうまくいく。 一般に、(y1)=(A00)(x1){\displaystyle {\begin{pmatrix}y\\1\end{pmatrix}}={\begin{pmatrix}&A&\\0&\cdots &0\end{pmatrix}}{\begin{pmatrix}x&1\end{pmatrix}}}はベクトルの平行移動を表す。


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

※(以下執筆中)

補:行列のn乗

コラム集

データの分析」と行列

基本取引行列

確率行列

複素数を表す行列

二重数と行列

演習問題

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次