Search All of the Math Forum:

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

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Large SparseArray in Mathematica 9 and the predictive interface
Replies: 3   Last Post: Jan 2, 2013 9:14 PM

 Messages: [ Previous | Next ]
 jmmv73@gmail.com Posts: 4 Registered: 12/30/12
Large SparseArray in Mathematica 9 and the predictive interface
Posted: Dec 30, 2012 8:49 PM

Hi there,

I was generating a banded sparse array with the following code
in the new Mathematica 9.0:

gmat[K_, l_, m_] :=
Module[{bandU, bandL, bandD, res},

bandU = Table[l, {K - 1}];
bandL = Table[m, {K - 1}];
bandD = Table[-l - m, {K}];
bandD[[1]] = -l;
bandD[[K]] = -m;

res = DiagonalMatrix[SparseArray[bandU], 1]
+ DiagonalMatrix[SparseArray[bandD]]
+ DiagonalMatrix[SparseArray[bandL], -1];

Return[res];
];

then I used the function with the following parameters (without semicolon):

gmat[100, 0.8, 1]

...and everything was ok! a 100x100 sparse matrix was created and the
"predictive interface bar" appeared.

Nevertheless, when I typed (without semicolon):

gmat[10000, 0.8, 1]

...everything went not so good, a 10000x10000 sparse matrix was created
(what was ok), but the kernel went nuts with the memory use, some gigabytes
for a small sparsearray (You can try with greater parameters, but starting
with K=5000 things go weird)

I think the problem has to do with the "predictive interface" that tries to
generate the normal form of the matrix, so it uses a lot of memory (and even
produces a kernel crash).

Has anyone had the same problem with SparseArray? or have any
explanation to what actually happens? or it is just me?

Many thanks in advance for any help or advice with this issue.

Regards,

Jose M. Martinez
Ph.D. Student
Department of Electronic Engineering