本文收集整理关于两个矩阵相乘的时间复杂度的相关议题,使用内容导航快速到达。
内容导航:
Q1:矩阵乘法的最小时间复杂度是多少
假设矩阵A为n*m,矩阵B为m*n ,则AxB,如下计算过程:
1.矩阵A中第一行的元素与矩阵B的第一列元素对应相乘,得
结果第一行的第一个元素要进行m次乘法运算,故总的需要m*n*m次乘法运算.
2.计算时间复杂度.
即大O,运行上限.故O(n^3)
Q2:矩阵相乘的时间复杂度
要看你用什么算法计算乘法了,如果用朴素的算法,mxn的矩阵和nxk的矩阵相乘的运算量是2mnk,在这个假定下你的问题复杂度O(MN^6)
Q3:概率矩阵分解 时间复杂度 和 空间复杂度分析
首先要明确,一般计算复杂度是针对算法的,而不是针对问题本身,对于问题本身的分析要复杂得多,远远超出你目前的知识范围。一般稠密矩阵计算的各种算法复杂度都是O(n^3),这个需要对每个算法都进行分析,我只是把各种结论归结起来告诉你。对于具体的算法而言,这个是数出来了,不需要很特别的技巧(某些含log的需要解递归,但这里一般不用),比如说m*k的矩阵和k*n的矩阵相乘,最平凡的算法的计算次数是2mnk,就是从下面的循环里数出来的 for i=1:m for j=1:n for r=1:k c(i,j)=c(i,j)+a(i,r)*b(r,j) endfor endfor endfor 至于LU分解和Cholesky分解的计算次数分别是2/3*n^3和1/3*n^3,也是直接从循环里数出来的,不需要什么技巧。特征值的QR算法本质是迭代法,由于大致知道一般来讲总是很快进入局部的二次收敛,平均一个特征值需要2步(这个统计数据只适合于古典的Francis QR),才能估计出具体的系数。你最好是找一本矩阵计算的书自己先学一遍,不然我再多罗嗦也没用。
Q4:矩阵相乘的算法的时间复杂度到底怎么一回事
矩阵相乘的算法有很多,采用不同的存储结构,不同的实现方法,时间复杂度是不一样的,你得把相关算法给出来才能知道具体的时间复杂度是多少
www.YijiT#Ao.Com