Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: calculating the inverse efficiently (not for solving equations :-) )
Date: Tue, 1 Apr 2008 19:18:02 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 44
Message-ID: <fsu1pa$hji$1@fred.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1207077482 18034 172.30.248.38 (1 Apr 2008 19:18:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Tue, 1 Apr 2008 19:18:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1337510
Xref: news.mathworks.com comp.soft-sys.matlab:460375



Hi,

well most of you probably think "Oh no, not another one
trying to solve a system of linear equations using the
matrix inverse", but luckily for those guys I don't need it
for that :-)

So my problem is that after some calculations I got stuck
with an equation of the following kind:

(A*B^-1*C)*x=y

As the matrix B is multiplied with A and C there's no way
(or at least I don't know of any) to get around the problem
of knowing the full inverse of B.

Some important properties for B are, that it's symmetric and
sparse. Yes, I know having the inverse will destroy the
sparisty :-)


So far the possibilities for calculating the inverse of B, I
have come up with are:
*LU decomposition: tends to fail because B is rather large
and therefore my computer runs out of memory
*Cholesky decomposition: not much more efficient than the LU
decomposition (n^3/3 compared to 2n^3/3)

I also thought of using eigenvalues, but that wouldn't help
much since you need the inverse of the matrix with the
eigenvectors.

I hope that I could give anyone enough insight into my
problem...

Does anyone know another efficient way for calculating the
inverse for sparse symmetric matrices, or maybe to simplify
or transform the upper equation to make it less costly?

Thanks in advance!!

Albert Buehrli