2.ベクトルと行列の演算
1) ベクトルと行列の基本演算
ベクトルと行列について次のような演算を定義すると何かと便利です。
・ベクトルとベクトルの和
・行列と行列の和
X、
Y:(n,p)型行列
…… (2.2)
<例>
基本的に足し算(または引き算)は同じ種類のデータ間で行われる演算なので、ベクトルと行列を一連のデータの集まりと考えれば上記の定義は自然です。
・スカラーとベクトルの積
a:スカラー、
x:n次元ベクトル
…… (2.3)
a=-1の時は次のように表記する。
…… (2.4)
n:正の整数の場合
n・
x=
x+…+
x
(
xをn個足し合わせたもの)
<例>
a=2
・スカラーと行列の積
a:スカラー、
X:(n,p)型行列
…… (2.5)
a=-1の時は次のように表記する。
…… (2.6)
n:正の整数の場合
n・
X=
X+…+
X
(
Xをn個足し合わせたもの)
<例>
a=2
スカラーとベクトルまたは行列の積は一連のデータに定数係数を掛けることに相当し、定数係数が正の整数の時は同じベクトルまたは行列を定数個足し合わせたものになります。
この定義は、データがスカラーの場合の自然な拡張になっていることがわかると思います。
・ベクトルとベクトルの積
x、
y:n次元ベクトル
…… (2.7)
この計算は、
と、次元数の等しい行ベクトルと列ベクトルを直角に並べ、その対応する要素を掛け合わせて内側に合計します。
そのため、この積のことを内積(inner product)と呼びます。
また結果がスカラーとなることからスカラー積(scalar product)と呼ぶこともあります。
基本的に、足し算と違って掛け算は種類の異なるデータ間で行われる演算なので、種類の異なるベクトル間で定義されています。
掛けあわせた要素を合計するのは、このように定義すると何かと都合が良いからです。
(注1)
<例>
x'
y=(
x,
y)=20×3+30×2+40×1=60+60+40=160
・行列と行列の積
X:(n,p)型行列、
Y:(p,m)型行列、
xi':p次元行ベクトル、
yj:p次元列ベクトル
…… (2.8)
この計算は、
つまり、
(n,
p)型行列×(
p,m)型行列→(n,m)型行列
(Σは添え字kに関して合計する)
↑____↑
同じ次数でないといけない → この次数が潰れる!
と、行列Xのp次元行ベクトルと行列Yのp次元列ベクトルの内積を計算し、それを(n,m)型に並べたものになります。
この定義から、スカラー同士の積と違って行列同士の積はどんな場合でも行えるとは限らず、しかも交換律――掛ける数と掛けられる数を交換しても演算結果が変わらない――が成り立たないことがわかります。
これはスカラーの演算とベクトル・行列の演算の大きな違いです。
<例>
※この式の
Xと
Yを入れ替えた、
YX
は(2,2)型行列×(3,2)型行列となり、演算を行うことができない。
つまり積の交換律が成り立たない!
・行列のベキ
行列と行列の積の定義より、n次正方行列について行列のベキ(power)を次のように定義します。
Xm=X・…・X
(Xをm個掛けたもの) …… (2.9)
X0=In
(行列の0乗は単位行列になると定義する) …… (2.10)
・ベクトルと行列の積
ベクトルは行数または列数が1の行列として扱うことができるので、ベクトルと行列の積も行列同士の積と同じように定義することができます。
x':n次元行ベクトル
z:p次元列ベクトル
Y:(n,p)型行列
x'
Y=
x'[
y1 …
yj …
yp]=[
x'
y1 …
x'
yj …
x'
yp]
=[∑x
i・y
i1 … ∑x
i・y
ij … ∑x
i・y
ip] …… (2.11)
(1,n)型行列×(n,p)型行列 → (1,p)型行列=p次元行ベクトル
…… (2.12)
(n,p)型行列×(p,1)型行列 → (n,1)型行列=n次元列ベクトル
<例>
また行列と行列の積の定義より、行ベクトル同士または列ベクトル同士の積は行えないことがわかると思います。
しかし列ベクトルと行ベクトルの積は可能で、次のように結果が行列になります。
x:n次元列ベクトル
y':p次元行ベクトル
…… (2.13)
(n,1)型行列×(1,p)型行列 → (n,p)型行列
<例>
y'=[3 1]
行ベクトルと列ベクトルの積つまり内積は、2つのベクトルの次数が同じでないと計算できません。
しかし列ベクトルと行ベクトルの積は上例のように次数が違っても計算でき、しかも結果が行列になります。
これはベクトル・行列の演算では交換律が成り立たない顕著な例です。
ただし内積を表す特殊な演算記号「(x,y)」は、最初のベクトルを行ベクトルにし、次のベクトルを列ベクトルにしてから積を求めるという意味の演算記号なので、xとyを入れ替えても結果は変わらず、交換律が成り立ちます。
・行列のトレース
n次正方行列ついて、対角成分を合計したものをトレース(trace)といいます。
…… (2.14)
<例>
tr(
X)=20+60+100=180
(注1) 掛け算はもともと商取引などに関連して工夫された演算であり、例えば、
1個10円の卵を3個買うときの値段…10円+10円+10円=10円/個×3個=30円
などのように、種類(単位)の異なるデータ間で行われるのが普通です。
それに対して足し算と引き算は同じ種類のデータ間で行われるのが普通です。
ベクトル・行列の演算は、こういったことを踏まえて定義されています。