写像を合成する
積 AB は、先に B、次に A を適用して得られる写像です。(AB)x=A(Bx)。積の (i,j) 成分は A の第 i 行と B の第 j 列の内積なので、サイズが合う必要があります。m×n 行列と n×p 行列の積は m×p 行列です。積は結合的で (AB)C=A(BC)、和に対して分配的ですが、一般には交換できず AB=BA です。2つの操作は順序で結果が変わるからです。
(AB)ij=k=1∑nAikBkj,(AB)T=BTAT(1) m×n 行列と n×p 行列の積 AB には mnp 回の積和(浮動小数点演算で約 2mnp 回)がかかります。n×n 同士なら n3 で、n を2倍にすると計算量は8倍です。行列とベクトルの積は n2 で済みます。積は結合的なので括弧の付け方で結果は変わりませんが、コストは大きく変わりえます。
順序は2つの意味で重要A=(1021)、
B=(0110) のとき、
AB=(2110) ですが
BA=(0112) で、順序が結果を変えます。括弧はコストを変えます。
n×n 行列
A,B とベクトル
v について、
(AB)v は
n3+n2 回の積和、
A(Bv) は
2n2 回です。
n=1000 なら10億回対200万回です。
- サイズの規則:(m×n)(n×p)=(m×p)。内側のサイズが一致する必要があります。
- 非可換:一般に AB=BA なので、因子を入れ替えてはいけません。
- コスト:mnp 回の積和。行列×ベクトルは n2、行列×行列は n3。
括弧はベクトル側からつける行列の連なりがベクトルで終わるときは、ベクトル側から掛けます。A(B(Cv)) なら行列とベクトルの積だけで済みます。ポートフォリオのリスク wTΣw は w⋅(Σw) として計算し、w から先に行列を作ることはしません。 ラボ:採点される内容
- 積 AB20点
- 積 BA15点
- 積のサイズ10点
- 積和の回数を数える15点
- 2通りの括弧付け20点
- 括弧付けが重要な理由20点