Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Large SparseArray in Mathematica 9 and the predictive interface

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129319] Re: Large SparseArray in Mathematica 9 and the predictive interface
  • From: jmmv73 at gmail.com
  • Date: Wed, 2 Jan 2013 21:15:07 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <kbqqv6$7vv$1@smc.vnet.net>

Hi again,

You could even try the following (which is not a big sparse array):


DiagonalMatrix[SparseArray at Table[1.0, {100000}]]


...(without the semicolon and the "Suggestion bar" activated) and 
the kernel will crash.
But, if you deactivate the "Suggestion Bar" everything goes smoothly.

I use to monitor the processes and memory by using the Sysinternals suite, 
and in particular, the "process explorer" that comes with it.

My machine is a 4Gb Windows 7 Pro notebook with an Intel i5.

many thanks for the several answers given,
regards,

  Jose M. Martinez
  Ph.D. Student
  Department of Electronic Engineering
  Universidad Tecnica Federico Santa Maria
  Valparaiso, Chile

On Sunday, December 30, 2012 10:49:26 PM UTC-3, jmm... at gmail.com wrote:
> 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
>  Universidad Tecnica Federico Santa Maria
>  Valparaiso, Chile



  • Prev by Date: Re: kernel
  • Next by Date: Sorry for the empty message. Here is the problem with DiscreteMarkovProcess...
  • Previous by thread: Using units (SI, &c.) in Mathematica 9
  • Next by thread: Sorry for the empty message. Here is the problem with DiscreteMarkovProcess...