Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

eigs, LU, memory

27 views
Skip to first unread message

Cristina

unread,
Nov 17, 2009, 7:17:23 PM11/17/09
to
Hello to everybody,
I am solving an eigenvalue problem using eigs. I am able to get some eigenvalues for a certain size of the matrix (~300000 squared, sparse). When I increase the resolution (i.e. the size of the matrix) in order to check the convergence of these eigenvalues, I get:

??? Error using ==> lu
Sparse lu with 4 outputs (UMFPACK) failed

Error in ==> eigs>LUfactorAminusSigmaB at 1076
[L,U,P,Q] = lu(AsB);

Error in ==> eigs at 132
[L,U,P,permAsB] = LUfactorAminusSigmaB;

I have seen some posts that were associating this problem to lack of memory. This is not my case since I have enough memory and matlab is only using a fraction of it.

Is there anybody who can suggest a way around this problem? I am stuck!!!

Thank you to anybody willing to share an advice!

Cristina

unread,
Nov 19, 2009, 11:35:22 AM11/19/09
to
Please help!

Matt

unread,
Nov 19, 2009, 1:17:24 PM11/19/09
to
"Cristina " <cr...@libero.it> wrote in message <hdveej$19c$1...@fred.mathworks.com>...

> I have seen some posts that were associating this problem to lack of memory. This is not my case since I have enough memory and matlab is only using a fraction of it.

=====

That doesn't rule this out as a problem. MATLAB is only using a fraction of your memory, because it is only allowed to use a fraction of it (2GB under 32-bit Windows and only a portion of this is available to the MATLAB workspace). How much memory does the matrix consume?

Pat Quillen

unread,
Nov 19, 2009, 3:35:21 PM11/19/09
to
Hi Cristina.

Which eigenvalues are you trying to get? Is the matrix symmetric? There may be some things you can do to exploit the properties of your matrix.

Pat.

Cristina

unread,
Nov 19, 2009, 4:00:20 PM11/19/09
to
Thank you for your reply. I have a 64-bit operating system (ubuntu). When I run the matlab code it takes something like 4 GB of memory but I have much more memory than that. Is there a way to allow matlab to use more memory?


"Matt " <x...@whatever.com> wrote in message <he423k$dis$1...@fred.mathworks.com>...

Cristina

unread,
Nov 19, 2009, 4:01:20 PM11/19/09
to
Thanks for your reply. The matrix is complex and NOT symmetric. It does not have any of the 'usual' properties that could be exploited.


"Pat Quillen" <pqui...@mathworks.com> wrote in message <he4a68$7ed$1...@fred.mathworks.com>...

Claire Lee

unread,
Feb 10, 2010, 4:23:04 PM2/10/10
to
I encounter this situation very often. You thought your code doesn't use all the memory, but actually it does. When an LU factorization is almost finished, a spike in memory usage will occur. This is because UMFPACK and MATLAB have different data structures. It takes memory to create L and U matrices in MATLAB from UMFPACK's LU factors. In my experience, this operation can double the memory usage. For example, you may need about 8 GB memory even though UMFPACK only consumes 4 GB. The spike in memory usage usually lasts for a short period. Therefore you probably didn't notice that.

In my opinion, this is a SERIOUS problem that limits MATLAB's application in large-scale technical computing involving differential equations.

"Cristina " <cr...@libero.it> wrote in message <he4bl3$8es$1...@fred.mathworks.com>...

0 new messages