プログラミングA・情報数理演習IA

担当:菊地
行列 X
X00 X01 X02
X10 X11 X12
行列 Y
Y00 Y01
Y10 Y11
Y20 Y21
行列 Z
Z00 Z01
Z10 Z11
とすると、Z = X*Yは、
Z00Z01
Z10Z11
=
X00*Y00 + X01*Y10 + X02*Y20X00*Y01 + X01*Y11 + X02*Y21
X10*Y00 + X11*Y10 + X12*Y20X10*Y01 + X11*Y11 + X12*Y21

となる。1項ずつ式で書くなら、

Z00 = X00*Y00 + X01*Y10 + X02*Y20
Z01 = X00*Y01 + X01*Y11 + X02*Y21
Z10 = X10*Y00 + X11*Y10 + X12*Y20
Z11 = X10*Y01 + X11*Y11 + X12*Y21

と書けて、これをまとめて考えると、Zijは、
Zij = Xi0*Y0j + Xi1*Y1j + Xi2*Y2j

となる。このiとjに関してfor文を作ることを考える。

よく見ると、さらにまとめることができて、三重のfor文で書くこともできる。


菊地のページへ
菊地研究室のページへ