行列の掛け算をもっと簡略化させてください。 ≫No. 1
かなたん
2010/10/04 21:42
久しぶり(?)に出題します。
今回は、行列の掛け算についての出題です。
ここに、3行3列の行列を3つ用意します。
それぞれの行列には、A・B・Cという名前が付いていて、
それぞれの要素には、左上から座標のように
(0,0) (1,0) (2,0)
(0,1) (1,1) (2,1)
(0,2) (1,2) (2,2)
という名前が付いています。
まずAとBに数字を入れて、A×Bをして、その結果をCに入れようと思います。
このとき、この行列の計算を簡略化させるためにはどうしたらよいでしょう?
ただし、必ず以下のルールに従っていることとする。
新たに1個以上の変数を用意すること。
そのときの変数名は、A・B・C意外ならなんでもよい。
繰り返し行う作業をまとめる場合は、どこをどう繰り返しているのかわかるようにすること。
一応、下手ながらに行列の掛け算の方法も書いておきます。
行列A・Bにおいて、Aの列数とBの行数が等しければA×Bを行うことができます。
Aの列とBの行を左上から順番に掛け合わせて行います。
例
┌1 2┐ B=┌1 2 3┐
A=│4 5│ └4 5 6┘ であるとき、A×Bは次のようになります。
└7 8┘
┌1 2┐ ┌1 2 3┐ ┌1×1+2×4 1×2+2×5 1×3+2×6┐ ┌9 12 15┐
│4 5│×└4 5 6┘=│4×1+5×4 1×2+2×54×2+5×5 4×3+5×6│=│24 1233 42│
└7 8┘ └7×1+8×4 7×2+8×5 7×3+8×6┘ └39 54 69┘
今回は、行列の掛け算についての出題です。
ここに、3行3列の行列を3つ用意します。
それぞれの行列には、A・B・Cという名前が付いていて、
それぞれの要素には、左上から座標のように
(0,0) (1,0) (2,0)
(0,1) (1,1) (2,1)
(0,2) (1,2) (2,2)
という名前が付いています。
まずAとBに数字を入れて、A×Bをして、その結果をCに入れようと思います。
このとき、この行列の計算を簡略化させるためにはどうしたらよいでしょう?
ただし、必ず以下のルールに従っていることとする。
新たに1個以上の変数を用意すること。
そのときの変数名は、A・B・C意外ならなんでもよい。
繰り返し行う作業をまとめる場合は、どこをどう繰り返しているのかわかるようにすること。
一応、下手ながらに行列の掛け算の方法も書いておきます。
行列A・Bにおいて、Aの列数とBの行数が等しければA×Bを行うことができます。
Aの列とBの行を左上から順番に掛け合わせて行います。
例
┌1 2┐ B=┌1 2 3┐
A=│4 5│ └4 5 6┘ であるとき、A×Bは次のようになります。
└7 8┘
┌1 2┐ ┌1 2 3┐ ┌1×1+2×4 1×2+2×5 1×3+2×6┐ ┌9 12 15┐
│4 5│×└4 5 6┘=│4×1+5×4
1×2+2×54×2+5×5 4×3+5×6│=│241233 42│└7 8┘ └7×1+8×4 7×2+8×5 7×3+8×6┘ └39 54 69┘