How to divide a large sparse matrix

2 views (last 30 days)
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

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.

More Answers (0)

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!