MATLAB Answers

How to divide a large sparse matrix

8 views (last 30 days)
ektor
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?
Thanks

  0 Comments

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.

  0 Comments

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