矩阵乘法(超详细!!!)

Posted ljy-endl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵乘法(超详细!!!)相关的知识,希望对你有一定的参考价值。

矩阵是什么?

是一个数字阵列,一个二维数组,n行r列的阵列称为n*r矩阵。如果n==r则称为方阵。

技术图片

2×3矩阵

技术图片

5×5方阵

特殊的单位矩阵,除了对角线为1,其他位置为0的矩阵。类似乘法中的1.

3×3单位矩阵I=

技术图片


 矩阵乘法

技术图片

技术图片

技术图片

矩阵乘法中第一个矩阵的列要等于第二个矩阵的行

一个m∗n的的A矩阵,和一个n∗p的B矩阵相乘,将得到一个m∗p的矩阵C 

技术图片

来水道炒鸡简单的习题——

矩阵 A×B(信息学奥赛一本通 1641)

【题目描述】

矩阵 A 规模为 n×m,矩阵 B 规模为 m×p,现需要你求 A×B。 矩阵相乘的定义:n×m 的矩阵与 m×p 的矩阵相乘变成 n×p 的矩阵,令 aik为矩阵 AA中的元素,bkj为矩阵 B中的元素,则相乘所得矩阵 C中的元素

技术图片

【输入】

第一行两个数 n,m; 接下来 n 行 m 列描述一个矩阵 A; 接下来一行输入 p; 接下来 m 行 p 列描述一个矩阵 B。 【输出】 输出矩阵 AA 与矩阵 BB 相乘所得的矩阵 C。

【输入样例】

2 3

1 2 3

3 2 1

2

11

2 2

3 3

【输出样例】

14 14

10 10

 

技术图片


 技术图片

矩阵乘法中方阵可以用快速幂加速递推

方阵C=An,因为矩阵满足结合律可以随意拆开乘再合并

技术图片

技术图片

用一道简单的模板题来加深对“矩阵乘法加速递推”的理解吧——

Fibonacci 第 n 项(信息学奥赛一本通 1642)

【题目描述】

大家都知道 Fibonacci 数列吧,f1=1,f2=1,f3=2,f4=3,…,fn=fn−1+fn−2 。 现在问题很简单,输入 n和 m,求 fn mod m。

【输入】

输入 n,m。

【输出】

输出 fn mod m。

【输入样例】

5 1000

【输出样例】

5

 

题意:fn=fn-1+fn-2

构造:fn-1=fn-1+0*fn-2

构造一维递推式和相同维数的方阵。

技术图片

技术图片

技术图片

技术图片

 

以上是关于矩阵乘法(超详细!!!)的主要内容,如果未能解决你的问题,请参考以下文章

详解矩阵乘法

稀疏矩阵乘法复杂度

一元线性最小二乘法正规方程组的求解过程

AlphaTensor横空出世!打破矩阵乘法计算速度50年纪录,DeepMind新研究再刷Nature封面,详细算法已开源...

如何计算矩阵的乘法?

一个矩阵乘以一个向量有啥几何意义,麻烦说详细一点!