矩阵的最小连乘问题

本文探讨了矩阵的最小连乘问题,深入讲解线性代数中的矩阵运算,并介绍了求解这一问题的高效算法,帮助读者理解如何找到矩阵的最小子生成元矩阵。
摘要由CSDN通过智能技术生成
需要知道的知识:
       两个矩阵A,B可以相乘的条件是,A矩阵的列数等于B矩阵的行数
       矩阵A[x,y],B[y,z] ,A和B相乘后得到矩阵C[x,z],这其中需要计算的次数为x*y*z(仅仅计算加法的次数)
   首先矩阵连乘的计算的顺序不同的话,那么计算的次数也不一定相同
   比如:
       A1:10*100 、A2:100*5、A3:5*50的三个矩阵的相乘
       第一种划分:(A1*A2)*A3  计算次数为:10*100*5+10*5*50=7500
       第二种划分:A1*(A2*A3)  计算次数为:100*5*50+10*100*50=75000
       第二种划分方式需要计算的次数是第一种的10倍
   矩阵的最小连乘问题:给出一个一维数组,计算由该数组构成的矩阵乘积的最小计算次数
       第一种方法:找出所有的划分结果,然后取最小值(pass)
       第二种方法:动态规划
           假设n个矩阵的计算次数为f(n)
           假设有n个矩阵需要进行计算,那么就需要对其进行划分,假如我们从第k(k<n)个矩阵进行第一次划分,也就是说将这n个矩阵划分(1~k),(k+1~n)
           那么可以得到这个关系式:
               f(1~n)=f(1~k)+f(k+1~n)+1.row*k.col*n.col
                   注:1.row表示第一个矩阵的行数 k.col表示第k个矩阵的列数
               解释:1~n的计算次数等于1~k的计算次数加上k+1~n的计算次数,另外最后前两个的计算完毕之后会变成两个矩阵,这两个矩阵还要进
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值