三元组稀疏矩阵乘法分析

时间:2016-01-01 17:22:02
【文件属性】:

文件名称:三元组稀疏矩阵乘法分析

文件大小:6KB

文件格式:TXT

更新时间:2016-01-01 17:22:02

三元组 稀疏矩阵算法

引入在计算机中图形的存储和表示经常用矩阵来表示的,则对图形的处理其实就是对矩阵的运算,其中经常会用到矩阵相乘运算。在应用中常用矩阵相乘的定义算法对其进行计算。若设Q、M、N为三个矩阵,其中,M是m1×n1矩阵,N是m2×n2矩阵,当n1=m2时,Q=M×N。[1]根据定义计算Q的算法如下:for(i=1;i<=m;++i)for(j=1;j<=n2;++j){Q[i][j]=0;for(k=1;k<=n1;++k)Q[i][j]+=M[i][k]*N[k][j];}这个算法用到了大量的循环和相乘运算,时间复杂度为O(m1×n1×n2),算法效率不高。而矩阵相乘的计算效率很大程度上的影响了用到此类算法的程序运行速度,所以对矩阵相乘算法进行一些改进是必要的。[2]2带行表的矩阵相乘算法在用矩阵表示的图形中,可以发现矩阵中的零元素非常多,通常认为δ<=0.05时称为稀疏矩阵(δ=非零元素个数/元素总数)。用上面的算法中,不论M(i,k)和N(k,j)的值是否为零,都要进行一次乘法运算,而实际上,这两者有一个值为零时,其乘积也为零。因此,在对稀疏矩阵进行运算时,若免去这种无效操作,将可大大的


网友评论

  • 看一下还行
  • 学习算法的时候用到的,适合看着代码慢慢分析
  • 不错的东西,让我对稀疏矩阵的复杂度计算有了了解。