两个矩阵相乘的时间复杂度

生活 2019-06-30 07:53:57 1200

本文收集整理关于两个矩阵相乘的时间复杂度的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:矩阵乘法的最小时间复杂度是多少
  • Q2:矩阵相乘的时间复杂度
  • Q3:概率矩阵分解 时间复杂度 和 空间复杂度分析
  • Q4:矩阵相乘的算法的时间复杂度到底怎么一回事
  • 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

    相关文章
    matlab矩阵中添加一列2019-02-03
    matlab矩阵生成灰度图2019-03-21
    什么是矩阵合同与相似2020-08-08
    矩阵和行列式的区别2020-11-02
    对称矩阵的逆矩阵是它本身吗2021-04-13
    小米手环三代上市时间2018-08-26
    什么蓝牙耳机待机时间长音质好2018-08-27
    手机头一次充电需要多少时间2018-08-27
    时间一刻是多少分钟2018-08-28
    成都车展2018具体时间2018-08-30