•矩阵:矩阵可以看成一个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

矩阵相乘入门,两个矩阵相乘相关推荐

  1. 6-2 编写Matrix类,使用二维数组实现矩阵,实现两个矩阵的乘法。 (30分) java pta

    编写程序题, 根据要求编写一个Java类,补充到代码中. 定义Matrix(矩阵)类,使用二维数组实现矩阵,实现两个矩阵的乘法.要求如下: 4个变量:row(行数),column(列数), matri ...

  2. 矩阵乘法(两个矩阵相乘)

    Description 给定两个矩阵$A$和$B$,你需要判断它们是否可以相乘,若可以请输出相乘后的矩阵. Input 第一行输入一个整数$T$,代表有$T$组测试数据. 每组数据第一行输入两个整数$ ...

  3. c语言实现两个矩阵相乘

    #include<stdio.h> #include<stdlib.h> #define M 3int main(void) {int i,j,k,matrix1[M][M], ...

  4. matlab 判断两个矩阵是否相等

    数学意义的相等 all(A(:) == B(:)) isequal(A, B) 但须注意的是:B = A,未必能保证 isequal(A, B)返回真,因为如果 A 中包含NaN,因为按照定义,NaN ...

  5. 用matlab判断两个球是否相交,判断两个矩阵相交

    判断两个矩阵相交 最近在回顾hihocoder上自己做过的题,看到清理海报这道题目,http://hihocoder.com/problemset/problem/1273?sid=707390当初比 ...

  6. 使用指针数组实现这两个矩阵的相乘

    /********************************************************************* 有一2*3的整数矩阵和一3*2的整数矩阵,请使用指针数组实 ...

  7. Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积

    **8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...

  8. 两个矩阵相乘的乘法次数_C ++程序将两个数字相乘而不使用乘法运算符

    两个矩阵相乘的乘法次数 The problem is we have two integer numbers and find the multiplication of them without u ...

  9. 实现两个矩阵相乘(Java)

    矩阵乘法(Java实现) 矩阵可以用二维数组来表示:比如arr[n][m],其中n表示矩阵的行数m代表矩阵的列数,根据矩阵相乘的特性,两个矩阵相乘生成的那个新矩阵的行列是第一个矩阵的行和第二个矩阵的列 ...

  10. 两个矩阵的相加和相乘

    //两个矩阵相加和相乘 public class TestMatrixOperation { public static void main(String[] args) { int [][]matr ...

最新文章

  1. 3句话点评2020年看过的那些精彩的电影
  2. 如何更准确的理解面向对象编程中的对象
  3. Rust即将发布1.0版本,Go持续获得关注:如何在新生语言之间做出抉择
  4. 宝塔如何备份网站_学习织梦网站必需会的一件事:织梦网站数据备份
  5. 改变linux分区后grub修复,更改磁盘分区后修复GRUB启动
  6. elasticSearch6源码分析(2)模块化管理
  7. cubase怎么添加midi设备_Cubase教程丨20分钟快速上手Cubase(下)
  8. 【51单片机快速入门指南】2:GPIO LED与按键
  9. 红帽:IaaS与PaaS齐头并进
  10. python的ols_【量化工具】OLS在python中的四种实现方式
  11. C#.NET里面的多线程处理
  12. 计算机网络与应用在线作业,北航《计算机网络与应用》在线作业一15秋满分答案...
  13. 海南自贸区电信行业环境分析
  14. 用dxdiag命令show计算机系统配置
  15. ProGAN: Network Embedding via Proximity Generative Adversarial Network 论文笔记
  16. ms office excel2013教程 - randbetween函数与选择性粘贴
  17. 歹徒逃亡3——————刺杀行动
  18. RISC-V入门笔记(新手必看!)
  19. 开放式基金全景点评:净值全面攀升 关注老基金(ZZ)
  20. python网络爬虫--项目实战--scrapy爬取人人车(5)

热门文章

  1. Dockerfile中通过ENV指定动态参数在RUN时传递参数(部署后台jar包时指定端口为例)
  2. 若依前后端分离版实现基于el-tree实现选中部门树节点同步选中多选框的操作
  3. Angular中路由的嵌套-父子路由
  4. JPA中实现双向一对多的关联关系
  5. 谷歌浏览器怎样通过检查验证图片路径问题
  6. 数据结构——队列(queue)
  7. mysql问题举例_MySql问题总结
  8. 神策数据斩获大数据星河奖,首发用户行为分析标准
  9. 微信内测附近的餐厅,小程序要跨界外卖了?
  10. selenium+chromedriver监测视频流源地址时允许flash自动启用