在数学中,矩阵乘法或矩阵乘积是一种从两个矩阵生成矩阵的二进制运算。该定义受矢量上的线性方程式和线性变换的启发,在应用数学,物理学和工程学中有许多应用。更详细地讲,如果A是n×m矩阵,而B是m×p矩阵,则它们的矩阵乘积AB是n×p矩阵,其中A行中的m个条目与m个条目在a处相乘。 B列并求和以产生AB条目。当两个线性变换由矩阵表示时,则矩阵乘积代表两个变换的组成。
资料来源:维基百科
换句话说,将两个矩阵相乘,例如:
1 2 3 1 4
2 3 4 × 3 1 =
3 4 5 4 6
首先,采取在第一矩阵的行号1,列号1中的第二矩阵,和乘法1
通过1
,2
通过3
,并3
通过4
。
1 × 1 = 1
2 × 3 = 6
3 × 4 = 12
现在将它们加在一起得到您的第一个项目:
1 2 3 1 4 19
2 3 4 × 3 1 =
3 4 5 4 6
对于结果第一列中的第二个数字,您将需要使用第2行而不是第1行,并执行相同的操作。
1 × 2 = 2
3 × 3 = 9
4 × 4 = 16
= 27
在完成整个第一列之后,结果如下所示:
1 2 3 1 4 19
2 3 4 × 3 1 = 27
3 4 5 4 6 35
现在,再次执行相同的操作,但是使用第二列而不是第一列,结果是:
1 2 3 1 4 19 24
2 3 4 × 3 1 = 27 35
3 4 5 4 6 35 46
你的任务
给定两个矩阵(最大尺寸为200x200),其范围在-10000到10000之间,其中第一个矩阵的列数等于第二个矩阵的行数,将第一个矩阵乘以第二个矩阵。(矩阵乘法是不可交换的。)
您可以输入并以阵列(或等效形式),矩阵(如果您的语言具有该格式)或多行字符串的形式给出输出。
您不得将任何内置函数用于矩阵乘法。
测试用例
1 2 1 2 3 4 5 13 16 19 22 25
3 4 × 6 7 8 9 10 = 27 34 41 48 55
5 6 41 52 63 74 85
2 3 3 5 15 13
3 4 × 3 1 = 21 19
5 3 11 27
1 3 1 3 7 15
9 3 × 2 4 = 15 39
1 -1000 -1999 -3997
请记住,这是code-golf,所以字节最少的代码将获胜。