The functions full(.) and issparse(.) are behaving strangely for me. In particular, issparse(.) seems unable to detetct sparse matrices correctly, and full(.) fails to convert sparse matrices to full matrices. For example, when I run the code below:
S = sparse(double(rand(200,200) < 1/2));SS = speye(200);A = full(S);AA = full(SS);d1=issparse(S)d2=issparse(SS)d3=issparse(A)d4=issparse(AA)whos
I get the following output:
d1 = 0d2 = 0d3 = 0d4 = 0 Name Size Bytes Class Attributes A 200x200 321096 double sparse AA 200x200 4808 double sparse S 200x200 321096 double sparse SS 200x200 4808 double sparse ans 1x1 8 double d1 1x1 8 double d2 1x1 8 double d3 1x1 8 double d4 1x1 8 double
So, issparse(.) tells me none of the matrices are sparse, while the "whos" command tells me that all four are sparse, when it should be the case that S and SS are sparse, while A and AA are not. Additionally, the Workspace window indicates that all four are sparse.
Any help with why this might be happening would be greatly appreciated. (The reason I need this is because a particular function I'm working with, schur(.), can only take full matrices as arguments.)
Best Answer