矩阵相乘入门,两个矩阵相乘
来源:互联网 发布:网络装修公司 编辑:程序博客网 时间:2024/05/29 18:04
•矩阵:矩阵可以看成一个n×m的数表,用二维数组表示
•矩阵乘法:定义矩阵A,B。A和B可以乘法操作当且仅当A的大小是a×b,B的大小是b×c,设矩阵C=AB,则C的大小是a×c,且有
最普通的矩阵乘法是直接三个for循环直接计算而已,所以复杂度是O(n3)
#include<iostream>using namespace std;int main(){int i,j,k;const int m=3,r=4,n=3;int a[m][r],b[r][n],c[m][n]={0}; //之前别忘清0 cout<<"请输入a矩阵:"<<endl;for(i=0;i<m;i++) for(j=0;j<r;j++) cin>>a[j];cout<<"请输入b矩阵:"<<endl;for(i=0;i<r;i++) for(j=0;j<n;j++) cin>>b[j];cout<<"两矩阵的积为:"<<endl; for(i=0;i<m;i++) for(j=0;j<n;j++) {for(k=0;k<r;k++) c[j]=c[j]+a[k]*b[k][j]; cout<<c[j]<<" "; if(j==n-1) cout<<endl;} //使用这个方法可输出矩阵格式 return 0;}
先了解连那个简单的矩阵相乘,然后再来
•快速幂:矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的O(n)的时间复杂度,降到O(logn)
大家首先要认识到这一点:任何一个整数N,都能用二进制来表示
例如:25 二进制表示为 11001
运用矩阵乘法快速幂,可以快速计算出矩阵B^(n-1),这样实现将时间复杂度降低到O(log n)
• 首先将这n次置换“合并”起来(算出这n次置换的乘积),然后接下来我们需要执行这个置换即可。注意任意一个置换都可以表示成矩阵的形式。
上面的例子矩阵为: 0 1 0 0 0
1 0 0 0 0
0 0 1 0 0
0 0 0 0 1
0 0 0 1 0
- 矩阵相乘入门,两个矩阵相乘
- 两个矩阵相乘问题
- 两个矩阵相乘
- 两个矩阵相乘算法
- c++实现两个矩阵相乘
- C++实现两个矩阵相乘
- Java实现两个矩阵相乘
- OC实现两个矩阵相乘
- 编程实现两个矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- codesmith的使用方法
- OSG::绘制
- [STAThread]的含义
- 弦截法初探
- iOS 中的关于json解析的四种方法
- 矩阵相乘入门,两个矩阵相乘
- ffmpeg 新老接口问题及对照集锦
- 2012年世界500强排行榜(企业名单)
- 打印出菱形
- CodeForces Round #180 (297B) - Fish Weight
- 【C语言】正则表达式学习笔记
- 安装最新版本的CMake
- 黑马韩前成Linux从入门到精通のLinux基本网络配置の原理篇
- Point-Counterpoint:SDN跟数据中心网络架构都将双双失败?