§A2.122×2行列と平面の一次変換

最終更新

2×2行列を使うと、平面上の点や図形を回転、拡大と縮小、対称移動、せん断することを一つの計算として表せます。ベクトルの成分で行列をかける計算と、複素数をかける計算が同じ回転を表すことを確かめます。

1 行列で表す一次変換

定義 1.1 (2×2行列による一次変換). ベクトルの和と実数倍を保つ平面から自身への写像を、平面の一次変換 (linear transformation of the plane) という。実数a,b,c,d,x,ya,b,c,d,x,yに対して

A=(abcd),x=(xy),TA(x)=Ax=(ax+bycx+dy)A=\begin{pmatrix}a&b\\c&d\end{pmatrix},\qquad \boldsymbol{x}=\begin{pmatrix}x\\y\end{pmatrix},\qquad T_A(\boldsymbol{x})=A\boldsymbol{x} =\begin{pmatrix}ax+by\\cx+dy\end{pmatrix}

と定める。

命題 1.2. 任意の2×2実行列AAに対してTAT_Aは平面の一次変換である。反対に、任意の平面の一次変換TTは、ただ一つの2×2実行列AAによってT=TAT=T_Aと表される。

e1=(10),e2=(01)\boldsymbol{e}_1=\begin{pmatrix}1\\0\end{pmatrix},\qquad \boldsymbol{e}_2=\begin{pmatrix}0\\1\end{pmatrix}

とすると、T(e1),T(e2)T(\boldsymbol{e}_1),T(\boldsymbol{e}_2)が、それぞれAAの第1列と第2列になる。

証明. 列ベクトルx,y\boldsymbol{x},\boldsymbol{y}と実数rrをとる。成分を計算すると

A(x+y)=Ax+Ay,A(rx)=rAxA(\boldsymbol{x}+\boldsymbol{y})=A\boldsymbol{x}+A\boldsymbol{y}, \qquad A(r\boldsymbol{x})=rA\boldsymbol{x}

となるので、TAT_Aはベクトルの和と実数倍を保つ。

次に、ベクトルの和と実数倍を保つ一次変換TTをとり、

T(e1)=(ac),T(e2)=(bd)T(\boldsymbol{e}_1)=\begin{pmatrix}a\\c\end{pmatrix},\qquad T(\boldsymbol{e}_2)=\begin{pmatrix}b\\d\end{pmatrix}

と書く。任意の列ベクトルはx=xe1+ye2\boldsymbol{x}=x\boldsymbol{e}_1+y\boldsymbol{e}_2と表されるから、

T(x)=xT(e1)+yT(e2)=(ax+bycx+dy)=TA(x)T(\boldsymbol{x})=xT(\boldsymbol{e}_1)+yT(\boldsymbol{e}_2) =\begin{pmatrix}ax+by\\cx+dy\end{pmatrix}=T_A(\boldsymbol{x})

となる。TTを表す行列の2列はT(e1),T(e2)T(\boldsymbol{e}_1),T(\boldsymbol{e}_2)でなければならないので、その行列は一意である。▨

定義 1.3. 2×2実行列

A=(abcd),B=(pqrs)A=\begin{pmatrix}a&b\\c&d\end{pmatrix},\qquad B=\begin{pmatrix}p&q\\r&s\end{pmatrix}

の 積 (matrix product) を

AB=(ap+braq+bscp+drcq+ds)AB=\begin{pmatrix}ap+br&aq+bs\\cp+dr&cq+ds\end{pmatrix}

と定める。

定理 1.4. 2×2実行列A,BA,Bに対し、列ベクトルへTBT_Bを作用させてからTAT_Aを作用させる合成は

TA∘TB=TABT_A\circ T_B=T_{AB}

である。したがって、先に作用する変換の行列は積の右側に置かれる。

証明.A=(abcd)A=\begin{pmatrix}a&b\\c&d\end{pmatrix}、B=(pqrs)B=\begin{pmatrix}p&q\\r&s\end{pmatrix}とする。TA,TBT_A,T_Bはベクトルの和と実数倍を保つので、合成TA∘TBT_A\circ T_Bも和と実数倍を保つ。命題 1.2により、この合成を表す行列の第1列と第2列は、それぞれ

A(pr)=(ap+brcp+dr),A(qs)=(aq+bscq+ds)A\begin{pmatrix}p\\r\end{pmatrix} =\begin{pmatrix}ap+br\\cp+dr\end{pmatrix},\qquad A\begin{pmatrix}q\\s\end{pmatrix} =\begin{pmatrix}aq+bs\\cq+ds\end{pmatrix}

である。したがって、合成を表す行列はABABであり、TA∘TB=TABT_A\circ T_B=T_{AB}である。▨

2 回転と代表的な変換

定理 2.1. 原点を中心として列ベクトルを反時計回りに角θ\thetaだけ回転する一次変換の行列は

Rθ=(cos⁡θ−sin⁡θsin⁡θcos⁡θ)R_\theta=\begin{pmatrix} \cos\theta&-\sin\theta\\ \sin\theta&\cos\theta \end{pmatrix}

である。また、任意の実数α,β\alpha,\betaに対して

RαRβ=Rα+βR_\alpha R_\beta=R_{\alpha+\beta}

が成り立つ。

証明. 任意の非零列ベクトル(xy)\begin{pmatrix}x\\y\end{pmatrix}をr(cos⁡φsin⁡φ)r\begin{pmatrix}\cos\varphi\\\sin\varphi\end{pmatrix}(r>0r>0、φ∈R\varphi\in\R)と表す。角θ\thetaだけ回転したベクトルはr(cos⁡(φ+θ)sin⁡(φ+θ))r\begin{pmatrix}\cos(\varphi+\theta)\\\sin(\varphi+\theta)\end{pmatrix}である。加法定理により、その成分は

(xcos⁡θ−ysin⁡θxsin⁡θ+ycos⁡θ)\begin{pmatrix}x\cos\theta-y\sin\theta\\x\sin\theta+y\cos\theta\end{pmatrix}

となる。零ベクトルは回転しても零である。したがって、回転はすべての列ベクトルに対してRθR_\thetaの作用と一致する。

単位ベクトルe1,e2\boldsymbol{e}_1,\boldsymbol{e}_2をとる。それぞれの偏角は0,π20,\frac{\pi}{2}であるから、角θ\thetaだけ回転すると、

e1⟼(cos⁡θsin⁡θ),e2⟼(cos⁡(π2+θ)sin⁡(π2+θ))=(−sin⁡θcos⁡θ).\boldsymbol{e}_1\longmapsto \begin{pmatrix}\cos\theta\\\sin\theta\end{pmatrix},\qquad \boldsymbol{e}_2\longmapsto \begin{pmatrix}\cos(\frac{\pi}{2}+\theta)\\\sin(\frac{\pi}{2}+\theta)\end{pmatrix} =\begin{pmatrix}-\sin\theta\\\cos\theta\end{pmatrix}.

この二つの像を列に並べるとRθR_\thetaを得る。

行列積を計算すると、

RαRβ=(cos⁡αcos⁡β−sin⁡αsin⁡β−(cos⁡αsin⁡β+sin⁡αcos⁡β)sin⁡αcos⁡β+cos⁡αsin⁡βcos⁡αcos⁡β−sin⁡αsin⁡β).R_\alpha R_\beta= \begin{pmatrix} \cos\alpha\cos\beta-\sin\alpha\sin\beta& -(\cos\alpha\sin\beta+\sin\alpha\cos\beta)\\ \sin\alpha\cos\beta+\cos\alpha\sin\beta& \cos\alpha\cos\beta-\sin\alpha\sin\beta \end{pmatrix}.

三角関数の加法定理を各成分に用いると、この行列はRα+βR_{\alpha+\beta}に等しい。▨

例 2.2. 正の実数rrと実数ttに対し、次の行列は代表的な平面の一次変換を表す。

変換行列(x,y) の移り先原点を中心とする r 倍(r00r)(rx,ry)x 軸に関する対称移動S=(100−1)(x,−y)x 座標を ty だけずらすせん断(1t01)(x+ty,y)\begin{array}{c|c|c} \text{変換}&\text{行列}&(x,y)\text{ の移り先}\\ \hline \text{原点を中心とする }r\text{ 倍}& \begin{pmatrix}r&0\\0&r\end{pmatrix}&(rx,ry)\\[4pt] x\text{ 軸に関する対称移動}& S=\begin{pmatrix}1&0\\0&-1\end{pmatrix}&(x,-y)\\[4pt] x\text{ 座標を }ty\text{ だけずらすせん断}& \begin{pmatrix}1&t\\0&1\end{pmatrix}&(x+ty,y) \end{array}

回転と対称移動の順序は結果に影響する。e1=(10)\boldsymbol{e}_1=\begin{pmatrix}1\\0\end{pmatrix}とRπ/2=(0−110)R_{\pi/2}=\begin{pmatrix}0&-1\\1&0\end{pmatrix}に対して、

Rπ/2Se1=(01),SRπ/2e1=(0−1).R_{\pi/2}S\boldsymbol{e}_1=\begin{pmatrix}0\\1\end{pmatrix},\qquad SR_{\pi/2}\boldsymbol{e}_1=\begin{pmatrix}0\\-1\end{pmatrix}.

したがって、Rπ/2S≠SRπ/2R_{\pi/2}S\ne SR_{\pi/2}である。

例 2.3. 実数θ\thetaに対して、原点を通りxx軸の正の向きと角θ\thetaをなす直線をℓθ\ell_\thetaとする。直線ℓθ\ell_\thetaに関する対称移動の行列を求める。

角−θ-\thetaの回転によって直線ℓθ\ell_\thetaはxx軸に移る。続いてxx軸に関する対称移動を行い、角θ\thetaだけ回転すると、もとの直線ℓθ\ell_\thetaに関する対称移動となる。回転は距離と直角を保つので、直線に平行な成分はもとに戻り、直線に垂直な成分だけが反転する。

xx軸に関する対称移動の行列をSSとすると、求める行列は

Sθ=RθSR−θS_\theta=R_\theta S R_{-\theta}

である。c=cos⁡θc=\cos\theta、s=sin⁡θs=\sin\thetaとおいて計算すると、

Sθ=(c−ssc)(100−1)(cs−sc)=(c2−s22cs2css2−c2)=(cos⁡2θsin⁡2θsin⁡2θ−cos⁡2θ).S_\theta =\begin{pmatrix}c&-s\\s&c\end{pmatrix} \begin{pmatrix}1&0\\0&-1\end{pmatrix} \begin{pmatrix}c&s\\-s&c\end{pmatrix} =\begin{pmatrix}c^2-s^2&2cs\\2cs&s^2-c^2\end{pmatrix} =\begin{pmatrix}\cos2\theta&\sin2\theta\\\sin2\theta&-\cos2\theta\end{pmatrix}.

たとえばθ=π/4\theta=\pi/4では、直線はy=xy=xであり、行列は(0110)\begin{pmatrix}0&1\\1&0\end{pmatrix}となる。したがって、この対称移動は点(x,y)(x,y)を点(y,x)(y,x)へ移す。

問題 2.4. 任意の実数α,β\alpha,\betaに対して、原点を通りxx軸の正の向きと角α,β\alpha,\betaをなす直線を、それぞれℓα,ℓβ\ell_\alpha,\ell_\betaとする。直線ℓα\ell_\alphaに関する対称移動を行った後に、直線ℓβ\ell_\betaに関する対称移動を行う合成の行列と回転角を求めよ。対称移動の順序を逆にした場合の回転角も求めよ。

解答.

例 2.3で求めた行列を用いると、合成の行列はSβSαS_\beta S_\alphaである。加法定理により、

SβSα=(cos⁡2βcos⁡2α+sin⁡2βsin⁡2αcos⁡2βsin⁡2α−sin⁡2βcos⁡2αsin⁡2βcos⁡2α−cos⁡2βsin⁡2αsin⁡2βsin⁡2α+cos⁡2βcos⁡2α)=(cos⁡(2β−2α)−sin⁡(2β−2α)sin⁡(2β−2α)cos⁡(2β−2α))=R2(β−α).S_\beta S_\alpha =\begin{pmatrix} \cos2\beta\cos2\alpha+\sin2\beta\sin2\alpha& \cos2\beta\sin2\alpha-\sin2\beta\cos2\alpha\\ \sin2\beta\cos2\alpha-\cos2\beta\sin2\alpha& \sin2\beta\sin2\alpha+\cos2\beta\cos2\alpha \end{pmatrix} =\begin{pmatrix} \cos(2\beta-2\alpha)&-\sin(2\beta-2\alpha)\\ \sin(2\beta-2\alpha)&\cos(2\beta-2\alpha) \end{pmatrix} =R_{2(\beta-\alpha)}.

したがって、合成は原点を中心とする反時計回りの角2(β−α)2(\beta-\alpha)の回転である。順序を逆にすると、α,β\alpha,\betaを入れ替えた積SαSβ=R2(α−β)S_\alpha S_\beta=R_{2(\alpha-\beta)}となる。回転角は2(α−β)=−2(β−α)2(\alpha-\beta)=-2(\beta-\alpha)であり、いずれの角も2π2\piの整数倍を加えた角と同じ回転を表す。▨

3 複素数の積との対応

定理 3.1. 複素数x+iyx+iyにu+ivu+ivを掛ける変換は、列ベクトル(xy)\begin{pmatrix}x\\y\end{pmatrix}に行列

(u−vvu)\begin{pmatrix}u&-v\\v&u\end{pmatrix}

を掛ける一次変換と一致する。特にu2+v2=1u^2+v^2=1ならば、ある実数θ\thetaによってu=cos⁡θu=\cos\theta、v=sin⁡θv=\sin\thetaと表され、この行列はRθR_\thetaである。

証明. 複素数の積を展開すると、

(u+iv)(x+iy)=(ux−vy)+i(vx+uy)(u+iv)(x+iy)=(ux-vy)+i(vx+uy)

となる。実部と虚部を列に並べると、

(ux−vyvx+uy)=(u−vvu)(xy)\begin{pmatrix}ux-vy\\vx+uy\end{pmatrix} =\begin{pmatrix}u&-v\\v&u\end{pmatrix} \begin{pmatrix}x\\y\end{pmatrix}

を得る。u2+v2=1u^2+v^2=1の場合には点(u,v)(u,v)が単位円上にあるので、u=cos⁡θu=\cos\theta、v=sin⁡θv=\sin\thetaを満たす実数θ\thetaが存在し、行列はRθR_\thetaに等しい。▨

4 逆変換、面積、向き

定理 4.1.A=(abcd)A=\begin{pmatrix}a&b\\c&d\end{pmatrix}に対してdet⁡A=ad−bc\det A=ad-bcと定める。二つの列ベクトルu=(pq)\boldsymbol{u}=\begin{pmatrix}p\\q\end{pmatrix}、v=(rs)\boldsymbol{v}=\begin{pmatrix}r\\s\end{pmatrix}が作る平行四辺形の符号付き面積をps−qrps-qrとすると、Au,AvA\boldsymbol{u},A\boldsymbol{v}が作る符号付き面積は

(det⁡A)(ps−qr)(\det A)(ps-qr)

である。

det⁡A≠0\det A\ne0であることとTAT_Aに逆変換が存在することは同値である。det⁡A>0\det A>0ならば向きは保たれ、det⁡A<0\det A<0ならば向きは反転する。u,v\boldsymbol{u},\boldsymbol{v}が一直線上にない場合、面積の比は∣det⁡A∣|\det A|である。det⁡A=0\det A=0の場合、平面全体の像は一つの直線または原点に潰れる。

証明.Au=(ap+bqcp+dq)A\boldsymbol{u}=\begin{pmatrix}ap+bq\\cp+dq\end{pmatrix}、Av=(ar+bscr+ds)A\boldsymbol{v}=\begin{pmatrix}ar+bs\\cr+ds\end{pmatrix}と書く。この二つの列ベクトルが作る符号付き面積を展開すると、

(ap+bq)(cr+ds)−(cp+dq)(ar+bs)=(ad−bc)(ps−qr)(ap+bq)(cr+ds)-(cp+dq)(ar+bs) =(ad-bc)(ps-qr)

となる。したがって、符号付き面積にはdet⁡A\det Aが掛かる。符号付き面積の符号は二辺の向きを表し、その絶対値は通常の面積を表すので、向きと面積比についての主張も従う。

det⁡A≠0\det A\ne0とする。このとき

A−1=1ad−bc(d−b−ca)A^{-1}=\frac{1}{ad-bc}\begin{pmatrix}d&-b\\-c&a\end{pmatrix}

と置いて両側から掛けると、A−1A=AA−1=(1001)A^{-1}A=AA^{-1}=\begin{pmatrix}1&0\\0&1\end{pmatrix}となる。よってTA−1T_{A^{-1}}はTAT_Aの逆変換である。

det⁡A=0\det A=0とする。第1列(ac)\begin{pmatrix}a\\c\end{pmatrix}が零ベクトルでなければ、第2列(bd)\begin{pmatrix}b\\d\end{pmatrix}は第1列の実数倍である。実際、a≠0a\ne0ならばad=bcad=bcから第2列は第1列のb/ab/a倍であり、a=0a=0ならばc≠0c\ne0かつb=0b=0であるから第2列は第1列のd/cd/c倍である。第1列が零ベクトルならば、像は第2列の実数倍だけからなる。したがって、det⁡A=0\det A=0のとき、像は一つの直線または原点であり、平面全体にはならない。逆変換が存在すればTAT_Aは平面全体への全射になるので、det⁡A=0\det A=0の場合には逆変換が存在しない。▨

2×2行列は現行の高等学校の学習指導要領には含まれない内容ですが、本記事では回転を積として計算するための基礎として扱いました。一般の次元の線形写像、固有値、対角化、行列式の一般論は扱いません。

前提記事