Path: news.mathworks.com!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!p23g2000vbl.googlegroups.com!not-for-mail
From: Rune Allnor <allnor@tele.ntnu.no>
Newsgroups: comp.soft-sys.matlab
Subject: Re: how to deal with the inversion problem of a huge sparse 
	covariance matrix
Date: Sun, 27 Sep 2009 05:16:57 -0700 (PDT)
Organization: http://groups.google.com
Lines: 44
Message-ID: <ace8cc81-2737-4630-83b6-76c09f427a97@p23g2000vbl.googlegroups.com>
References: <h9llp6$mho$1@fred.mathworks.com>
NNTP-Posting-Host: 77.16.191.74
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1254053817 12826 127.0.0.1 (27 Sep 2009 12:16:57 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Sun, 27 Sep 2009 12:16:57 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: p23g2000vbl.googlegroups.com; posting-host=77.16.191.74; 
	posting-account=VAp5gAkAAAAmkCze5hvZtMeedpZWNthI
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; 
	Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; 
	.NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322),gzip(gfe),gzip(gfe)
Xref: news.mathworks.com comp.soft-sys.matlab:573185


On 26 Sep, 20:16, "Hua Wang" <ehw...@163.com> wrote:
> Dear All,
>
> I am processing some data using weighted least-squares (WLS) method. As you know, the solution of a system function A*x=b with weighting matrix P is that: x=inv(A'*P*A)*(A'*P*b);
>
> I am solving the system function using Cholesky decomposition. The formula is:
> w=cholinc(P,'0');
> x=(w*A)\(w*b);
>
> I am not sure whether the above method is possible for the back slash operator. But first of all, I met the problem of calculating weight matrix P from the covariance matrix C, i.e. P=inv(C). It is almost impossible to get the inverse of the huge sparse matrix C.
>
> Could anybody give me some suggestions to solve such equation A*x=B, giving huge sparse covariance matrix C? It is urgent for me!

I'm a bit curious what kinds of situations occur where you
need to handle a huge sparse covariance matrix.

First of all, most processes of practical interest are
stationary. You don't need the long-term covariances,
which means that you can get away with a smaller covariance
matrix.

Second, the cyclostationary processes that do have some
significant long-term covariance can be handled by specialized
higher-order techniques, so you don't need the *covariance*
matrix.

The remaining processes, that are not stationary or cyclo-
stationary, would require all the covariance data to be
available, so you would not use a *sparse* covariance matrix.

All in all, I think you might want to look over the problem
statement, to see if there are other approaches than the naive
go-straight-ahead-and-implement-the-literal-expressions.

That particular approach is almost always wrong.

Rune