Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

# pointwise multiplication with ndSparse arrays slower than using full arrays

1 visualización (últimos 30 días)
Sandra Martinez el 13 de Dic. de 2022
Cerrada: Matt J el 14 de Dic. de 2022
Hi Matt. I measure the times making pontiwise multiplication with full arrays vs ndSparse arrays and the first one tooks less time (a factor 7).
n=50;
for i=1:20;
M=rand(n,n,n,n);
N=zeros(n,n);
N(1,1)=2;
tic
L=M.*N;%pointwise multiplication with full arrays
t1=toc;
tt(i)=t1;
B=sparse(N);
tic
C=A.*B;%pointwise multiplication using sparse arrays
t2=toc;
tt2(i)=t2;
end
%%
% mean(tt)
% 0.0045
%mean(tt2)
% 0.0350
But if both are matices the time is the other way arround
for i=1:20;
M1=rand(n,n);
N1=zeros(n,n);
N(1,1)=2;
tic
L1=M1.*N1;
t3=toc;
tt3(i)=t3;
A1=ndSparse(M1);
B1=sparse(N1);
tic
C1=A1.*B1;
t4=toc;
tt4(i)=t4;
end
mean(tt4)/mean(tt3)
% 5.8859 doing pointwise multiplication using sparse matrices it is almost 6
% times faster.
Is there an explanation for that? How can I replace the operation such that t2 is faster than t1?

R2021a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by