Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: calculating the inverse efficiently (not for solving equations :-) )
Date: Wed, 2 Apr 2008 08:28:02 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 23
Message-ID: <fsvg2i$a6$1@fred.mathworks.com>
References: <fsu1r6$ib3$1@fred.mathworks.com> <fsukql$df3$1@fred.mathworks.com> <fsuoob$g4n$1@fred.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-02-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1207124882 326 172.30.248.37 (2 Apr 2008 08:28:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Wed, 2 Apr 2008 08:28:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1337510
Xref: news.mathworks.com comp.soft-sys.matlab:460488



@John:

Thanks for your hints on using amd. I'll have to try that 
one.

@Tim:

Unfortunately, the mldivide also runs out of memory, so I 
can't use that one.


Since memory seems to be the main issue, I also thought of 
using blockwise inversion. There I would only have to 
compute the inverse of A and (D-C*A^-1*B), where I could 
reduce the size from n to n/2.

For those who don't know it:
[A, B; C, D]^-1 = [A^-1+ A^-1*B*(D-C*A^-1*B)^-1*C*A^-
1, ...; ..., ...]

Has anyone any experience on using blockwise inversion?

Thx in advance