Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: sparse matrix bug
Replies: 0  

Advanced Search

Back to Topic List Back to Topic List  
John D'Errico

Posts: 5
Registered: 12/7/04
sparse matrix bug
Posted: Jun 18, 1996 11:50 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

An interesting little bug I tripped over in Matlab on the Sun
today. It is also in the mac version.

Matlab is supposed to work with sparse matrices and full matrices
together, leaving the result as a sparse matrix.

For example, when A is sparse and B is full,

C=A+B;

C is supposed to be sparse. This is good.

C=A*B;

C is still supposed to be sparse. Still good.

Consider the following expression though.

C = A(:,ind) - B*(R1\R2);

A and B are sparse. ind is an index vector (full). R1 and R2
are full. C should be sparse, since it is a sum of terms,
all of which should be sparse.

NOT so. At least not on a Mac running 4.2c1 or on a sparc5.

I can fix it, by forcing R1 and R2 to be sparse, but this
cost me some headaches. When I later tried to use C, which is
huge when full, it crashed the sparc20 I was running it on
remotely with memory problems. It did not return cleanly. I
tried it again on my own sparc5, and it quickly crashed that
system too. No out of memory message. Just reboot.

If you do not believe me, try out the following code.
Check out b after it is computed. Full. Not sparse.

John D'Errico, derrico@kodak.com

------------------------------------
a = sprandn(100,50,0.1);
c = sprandn(10,50,0.05);
c=full(c);

crank=rank(c);

[q,r,e]=qr(c,0);

j_subs=e(1:crank);
j_est=e((crank+1):50);

a1=a(:,j_subs);

r1=r(1:crank,1:crank);
r2=r(1:crank,(crank+1):50);

b=a(:,j_est)-a1*(r1\r2);

whos
-------------------------------------





Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.