发明名称 基于mapreduce的大规模稀疏矩阵乘法运算的方法
摘要 本发明提供一种基于mapreduce的大规模稀疏矩阵乘法运算的方法,假设大规模稀疏矩阵为A和B,A和B的乘积矩阵为C,方法包括:步骤10、由一个mapreduce Job完成转置矩阵A,输出矩阵A’;步骤20、变换矩阵B,将矩阵B中以坐标点的存储方式变换为以稀疏向量的存储方式,输出矩阵B’;步骤30、连接矩阵A’与B’,计算乘积分量,通过连接操作,得到Cij在矩阵A列号k与矩阵B行号k上的乘积分量;步骤40、合并乘积分量,通过累加乘积分量Cij_k计算Cij。将大规模矩阵乘法运算转换为转置、变换、连接与合并等适合mapreduce计算的基本操作,从而解决单机大矩阵乘法运算的资源限制问题。
申请公布号 CN103106183A 申请公布日期 2013.05.15
申请号 CN201310033884.6 申请日期 2013.01.29
申请人 福建天晴数码有限公司 发明人 刘德建;陈宏展;吴拥民;刘飞荣
分类号 G06F17/16(2006.01)I;G06F7/523(2006.01)I 主分类号 G06F17/16(2006.01)I
代理机构 福州市鼓楼区京华专利事务所(普通合伙) 35212 代理人 宋连梅
主权项 1.一种基于mapreduce的大规模稀疏矩阵乘法运算的方法,其特征在于:假设大规模稀疏矩阵为A和B,A和B的乘积矩阵为C,A={(i,k,A<sub>ik</sub>)︱i∈[1,2…m],k∈[1,2…n],A<sub>ik</sub>≠0},B={(k,j,B<sub>kj</sub>)︱k∈[1,2…n],j∈[1,2…l],B<sub>kj</sub>≠0},求矩阵C={(i,j,C<sub>ij</sub>)︱i∈[1,2…m],j∈[1,2…l],C<sub>ij</sub>≠0},使得<img file="FDA00002788267600011.GIF" wi="567" he="73" />i=1,2,..,m;j=1,2,...,l;所述方法包括:步骤10、由一个mapreduce Job完成转置矩阵A,输出矩阵A’;步骤20、变换矩阵B,将矩阵B中以坐标点的存储方式变换为以稀疏向量的存储方式,输出矩阵B’;步骤30、连接矩阵A’与B’,计算乘积分量,通过连接操作,得到C<sub>ij</sub>在矩阵A列号k与矩阵B行号k上的乘积分量;步骤40、合并乘积分量,通过累加乘积分量C<sub>ij_k</sub>计算C<sub>ij</sub>。
地址 350000 福建省福州市福州开发区星发路8号