矩阵乘法学习记录+模板+例题

这篇博客记录了矩阵乘法的学习过程,包括其计算规则、矩阵快速幂的C++代码实现,并通过斐波那契数列和POJ 3744 Scout YYF I题目展示了矩阵乘法在概率DP中的应用优化。通过理解矩阵与线性方程组的关系,可以解决多种数学问题。
摘要由CSDN通过智能技术生成

学习记录主讲矩阵乘法(原理、计算、功能、应用)

模板为矩阵乘法和矩阵快速幂的C++代码实现

例题为矩阵快速幂求斐波那契数和一个ACM的具体题目(用矩阵快速幂优化概率DP)

学习记录:

(from :http://www.ruanyifeng.com/blog/2015/09/matrix-multiplication.html

看个例子:

计算规则:

第一个矩阵第一行的每个数字(2和1),各自乘以第二个矩阵第一列对应位置的数字(1和1),

然后将乘积相加( 2 x 1 + 1 x 1),得到结果矩阵左上角的那个值3。

用代码显示就是:

/*
	假设 A 是 m*p 的矩阵 , B 是 p*n 的矩阵
	记 C = AB (C 是 矩阵 A与B的乘积)
	那么 C 是 m*n 的矩阵 
*/
for (int i = 1;i <= m;++i)//A的行 
{
	for (int j = 1;j <= n;++j)//B的列 
	{
		for (int k = 1;k <= p;++k)//通过公式求C 
		{
			C[i][j] += A[i][k]*B[k][j];
		}
	}
}


也就是说,结果矩阵第m行与第n列交叉位置的那个值,等于第一个矩阵第m行与第二个矩阵第n列,对应位置的每个值的乘积之和。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值