\(4 \times 8\) 行列 \(A\) と、\(16 \times 8\) 行列 \(B\) に対して、行列積 \(C = A \times B^T\) (shape:\(4 \times 16\)) を計算してください。\(A,B,C\) のレイアウトは以下のとおりです。
A: (( 4:1), ( 4_PE:1, 2_W:1))
B: ((16:1), ( 4_PE:1, 2_W:1))
C: (( 4:2), (2:1, 4_PE:1, 2_W:1))
\(A, B, C\) の値はこちらです。
A:
[[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 8, 9, 10, 11, 12, 13, 14, 15],
[ 16, 17, 18, 19, 20, 21, 22, 23],
[ 24, 25, 26, 27, 28, 29, 30, 31]]
B:
[[100,101,102,103,104,105,106,107],
[108,109,110,111,112,113,114,115],
[116,117,118,119,120,121,122,123],
[124,125,126,127,128,129,130,131],
[132,133,134,135,136,137,138,139],
[140,141,142,143,144,145,146,147],
[148,149,150,151,152,153,154,155],
[156,157,158,159,160,161,162,163],
[164,165,166,167,168,169,170,171],
[172,173,174,175,176,177,178,179],
[180,181,182,183,184,185,186,187],
[188,189,190,191,192,193,194,195],
[196,197,198,199,200,201,202,203],
[204,205,206,207,208,209,210,211],
[212,213,214,215,216,217,218,219],
[220,221,222,223,224,225,226,227]]
C:
import numpy as np
A = np.array([[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 8, 9, 10, 11, 12, 13, 14, 15],
[ 16, 17, 18, 19, 20, 21, 22, 23],
[ 24, 25, 26, 27, 28, 29, 30, 31]])
B = np.array([[100,101,102,103,104,105,106,107],
[108,109,110,111,112,113,114,115],
[116,117,118,119,120,121,122,123],
[124,125,126,127,128,129,130,131],
[132,133,134,135,136,137,138,139],
[140,141,142,143,144,145,146,147],
[148,149,150,151,152,153,154,155],
[156,157,158,159,160,161,162,163],
[164,165,166,167,168,169,170,171],
[172,173,174,175,176,177,178,179],
[180,181,182,183,184,185,186,187],
[188,189,190,191,192,193,194,195],
[196,197,198,199,200,201,202,203],
[204,205,206,207,208,209,210,211],
[212,213,214,215,216,217,218,219],
[220,221,222,223,224,225,226,227]])
A @ B.T
[[ 2940, 3164, 3388, 3612, 3836, 4060, 4284, 4508, 4732, 4956, 5180, 5404, 5628, 5852, 6076, 6300],
[ 9564,10300,11036,11772,12508,13244,13980,14716,15452,16188,16924,17660,18396,19132,19868,20604],
[16188,17436,18684,19932,21180,22428,23676,24924,26172,27420,28668,29916,31164,32412,33660,34908],
[22812,24572,26332,28092,29852,31612,33372,35132,36892,38652,40412,42172,43932,45692,47452,49212]]