行列 : 数学

Pocket

行列と線形写像に関する覚書。

ベクトルと行列を考える。

x = (x1...xn)T, y = (y1...yn)T	T:転置
n×m行列A
A = [a11...a1m]
    ...............
    [an1...anm]

m×n行列AT
AT = [a11...an1]
     ...............
     [a1m...anm]

線形写像と行列

下記の条件を満たす写像を線形写像と呼ぶ。

f(x+y) = f(x) + f(y)
f(ax) = af(x)
まとめて
f(ax+by) = af(x) + bf(y)

n×m行列は上記の線形性を満たす。よってn次元空間からm次元空間への線形写像である。
逆に全ての線形写像は行列を用いて表すことができる。

y = Ax
A = [a11...a1m]
    ...............
    [an1...anm]
x = (x1...xn)T, y = (y1...yn)T	T:転置

2×2行列Aは2次元から2次元への線形写像。

A = [a11 a12]	x=(x1 x2)T  y=(y1 y2)T
    [a21 a22]

(y1) = [a11 a12](x1)
(y2) = [a21 a22](x2)

正方行列

m=nである行列を正方行列とよぶ。

行列式

正方行列Aに対して行列式detAが定義できる。

2×2の行列式
A = [a11 a12]
    [a21 a22]
detA = a11a22 - a21a12

正則行列

detA≠0を満たす行列Aを正則行列とよぶ。
正則行列は逆行列A-1を持つ。
Aの逆行列A-1は以下を満たす行列。

A-1はAA-1= I	Iは単位行列

Aが正則行列でない場合、

もとの次元 > 移り先の次元

となり移り先がつぶれる。そのため逆行列は存在しない。

n×n行列Aを構成する列ベクトル(a11…,an1)T,…,(a1n,…,ann)Tはもとの空間の基底(1,…,0)T,…,(0,…,1)Tの移り先。detA≠0であれば(a11…,an1)T,…,(a1n,…,ann)Tは移り先の基底になる。

detAはもとの空間の基底(1,…,0)T,…,(0,…,1)Tにより作られる面積・体積に対する(a11…,an1)T,…,(a1n,…,ann)Tにより作られる面積・体積の拡大率。

線型変換

正則行列(線形写像)は同じ平面や空間への線形性を満たした点の移動と考えることができる(線形変換とよぶ)。拡大・縮小, 回転, せん断はグラフィックに用いられる代表的な線形変換であり幾何変換と呼ぶ。
線形変換の特徴

  • 原点は原点に移す
  • 直線は直線に移す。
  • 平行は平行に移す。
  • 中点,重心は中点,重心に移す。

グラフィックでよく使われる線形変換について2次元の場合を例にまとめる。

2次元の線形変換の一般的な表記

(x') = [s t](x)
(y') = [u v](y)

拡大・縮小(X軸にa倍,Y軸にb倍)

(x') = [a 0](x)
(y') = [0 b](y)

回転

(x') = [cosθ -sinθ](x)
(y') = [sinθ  cosθ](y)

X軸にたいする鏡面

(x') = [1 0](x)
(y') = [0 -1](y)

せん断

(x') = [1 b](x)
(y) =  [0 1](y)
x' = x + by
y' = y

図形をを歪ませることができる。

平行移動について

平行移動は線形変換ではない(線形性を満たさない)。

A=[s t]
  [u v]
b=(l,m)T
x = (x1, x2)T, x' = (x'1, x'2)T

f(x) = Ax + b

f(x+x') = A(x+x') + b = Ax + Ax' + b

f(x) = Ax + b, f(x') = Ax' + b
f(x)+f(x') = A(x) + A(x') +2b

f(x+x') ≠ f(x)+f(x')

アフィン変換

アフィン変換は線形変換(行列を用いた変換)と並行移動を合わせたもの。
2次元空間の図形は2×2行列で拡大,回転,鏡面,せん断の各処理(線形変換)を行うことができる。
しかし2×2行列では平行移動は行えない。同次座標(x, y, 1)を考え、平行移動も含めた変換をアフィン変換と呼ぶ。

[x'] [ a  b  e ][x]
[y']=[ c  d  f ][y]
[1]  [ 0  0  1 ][1]

回転

[x'] [ cosθ  -sinθ  0 ][x]
[y']=[ sinθ  cosθ   0 ][y]
[1]  [  0       0     1 ][1]

x’ y’を求める式は

x'=xcosθ-ysinθ
y'=ysinθ+ycosθ

拡大

x,yをX軸に拡大率a, Y軸に拡大率b。

[x'] [ a 0  0 ][x]
[y']=[ 0  b 0 ][y]
[1]  [ 0  0  1 ][1]

上記の行列からx’ y’を求める式は

x' = ax
y' = by

平行移動

X軸にx0, Y軸にy0移動。

[x']  [ 1  0  x0 ][x]
[y’]=[ 0  1  y0 ][y]
[1]  [ 0  0  1  ][1]

上記の行列からx’ y’を求める式は

x'  = x + x0
y’ = y + y0

行列の積

行列の積は合成写像と考える。

A = [a11 a12]	B = [b11 b12]
    [a21 a22]       [b21 a22]
AB = [a11b11 + a12b21 a11b12 + a12b22]
     [a21b11 + a22b21  a21b12 + a21b22]

ABを合成写像と考える

y = ABx
xTBTAT = yT

2次元(x,y)の同次座標(x,y,1)を考えると平行移動の後回転を行うといった一連の操作は合成写像と考えることができる。
行列は交換則は成立しない(AB≠BA)に注意する。

A = [1 0 m]	B = [cosθ -sinθ 0]
    [0 1 n]	    [sinθ cosθ 0]
    [0 0 1]	    [0 0 1]

(x,y)をθ回転したから平行移動にm,n移動した(x’,y’)は

(x',y') T= AB(x,y)T

同次座標にすることで原点も含めた平行移動を考えることができる。

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。