资源简介

稀疏矩阵乘法matlab实现,三元法实现函数,代码附上

资源截图

代码片段和文件信息

% ------三元组法&直接法时间统计函数 Triplet_time-----%
%      (t_Triplet,t_Normal)= timecalculate(order sparsity)
%     order为矩阵的维度  sparsity为矩阵的稀疏度
%     本算法考虑到A,B为不同稀疏度
%     以其中一个矩阵为基准,要判断哪个矩阵稀疏度更低
%     以较低稀疏度的矩阵为基准
%   function to calculate the time spend to finish sparse matrix
%   multiplication of different dimensionality and sparsity
%   Written by: Huziyang


function [t_Tripletcom]=timecalculate_Triplet(A B order)
a=full(A);
b=full(B);                  %将稀疏矩阵还原为正常格式
result_Triplet=zeros(order);    %为三元组法结果预分配求和空间
result_Normal=zeros(order);     %为直接算法结果预分配求和空间

[ajai]=find(a‘);
[bibj]=find(b);            %取出ab中非零元素的行列下标
m=length(ai);
n=length(bj);               %求出ab中非零元素的个数
ai=[ai;0];
bj=[bj;0];                  %防溢出处理

%-----------三元组法求乘积-----------%
%算法思想:

评论

共有 条评论