MATLAB Answers

How to divide a large sparse matrix

8 views (last 30 days)
ektor on 15 Apr 2017
Answered: John D'Errico on 15 Apr 2017
Dear all
I have
NN = speye(T) + sparse(2:T,1:(T-1),2*ones(1,T-1),T,T);
and I want to calculate
zz=(NN\( eye(T)))'.*(NN\( eye(T))) ;
for T=2000. But zz is inside a while loop and takes some time. Is there a faster approach to calculate zz?


Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 15 Apr 2017
You don't think it a bit silly to compute the subexpression:
NN\( eye(T))
twice instead of doing it once? Do you pay extra if you use two lines of code? I thought there was no charge for that. You must have a different license agreement.
u = NN\eye(T);
zz = u'.*u;
You also save on the extraneous use of parens, which they also don't charge you for. But that makes it a bit easier to read and follow what was done there.


Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by