首页 > 其他 > 详细

矩阵乘法

时间:2021-04-17 18:04:03      阅读:33      评论:0      收藏:0      [点我收藏+]

矩阵乘法

定义

\(A\) 是一个 \(n\times m\) 的矩阵,\(B\) 是一个 \(m\times p\) 的矩阵,那么 \(A\times B\) 的结果 \(C\) 中的元素为:

\[C_{i,j}=\sum_{i=1}^m A_{i,k}B_{k,j} \]

运算过程就是下面这样:

技术分享图片

矩阵快速幂

由于矩阵满足结合律和分配律,所以可以使用快速幂。

一个经典的例子是 \(\mathcal O(\log n)\) 的时间复杂度求斐波那契数列的第 \(n\) 项。假设第 \(i\) 项为 \(f_i\),那么有:

\[\left[ \begin{matrix} f_{i-1} &f_{i} \end{matrix} \right]\times \left[ \begin{matrix} 0 & 1\1 & 1 \end{matrix} \right] =\left[\begin{matrix}f_i & f_{i+1}\end{matrix}\right] \]

答案就是求 \(\left[\begin{matrix}f_{0} & f_{1}\end{matrix}\right]\times\left[\begin{matrix}0 & 1\\1 & 1\end{matrix}\right]^{n-1}=\left[\begin{matrix}0 & 1\end{matrix}\right]\times\left[\begin{matrix}0 & 1\\1 & 1\end{matrix}\right]^{n-1}\)\(1\) 行第 \(2\) 列的数,对 \(\left[\begin{matrix}0 & 1\\1 & 1\end{matrix}\right]^{n-1}\) 快速幂求解即可做到 \(\mathcal O(\log n)\)

矩阵乘法

原文:https://www.cnblogs.com/juruo-zzt/p/14670467.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!