[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: chol: matrix not positive definite
From: |
Geordie McBain |
Subject: |
Re: chol: matrix not positive definite |
Date: |
Tue, 17 Aug 2004 13:33:04 -0400 |
Hermitian matrices (A' == A) have lots of nice properties (e.g. real
eigenvalues), much like real symmetric matrices (A' == A && real (A) ==
A). Both correspond to self-adjoint operators. Check out
http://planetmath.org/encyclopedia/HermitianMatrix.html
for more information.
Nonconjugate symmetric complex matrices (A.' == A) have no special
properties that I'm aware of. This would be the reason that this
operation is given the weird two-character symbol; it's almost never
used, except maybe to more economically display a short (length < 4)
complex column vector as a row.
On Mon, 2004-08-16 at 23:06, Joe Koski wrote:
> on 8/16/04 7:52 PM, Henry F. Mollet at address@hidden wrote:
>
> > N.B. I should add that the "." in the non-conjugate transpose operator has
> > nothing to do with "element by element" operation as in ".*" or "./" etc.
> >
> > As far as I know
> > " ' " is the conjugate transpose operator, whereas
> > " .' " is the non-cojugate transpose operator.
> >
> > Perhaps difficult to understand that the former (one symbol) does more than
> > the latter (two symbols)?
> > Henry
>
> My Octave manual further confuses me. It says that for real arguments
> (meaning real matrices?), x' and x.' are equivalent. For complex matrices,
> x' is equivalent to conj(x.'), where .' gives the transpose. It appears to
> me that the "safest" transpose operator to use (unless you know what you
> want) is the .' operator. Can anyone confirm this?
>
> Joe Koski
>
> >
> >
> > on 8/17/04 6:51 AM, Geordie McBain at address@hidden
> > wrote:
> >
> >> Hello,
> >>
> >> I think the assuredly positive Hermitian matrices should be formed
> >> with X'*X rather than X.'*X
> >>
> >> I don't understand the latter (dot prime star). What does it do?
> >>
> >> With A=rand(3)+1i*rand(3), A'*A is positive Hermitian but A.'*A isn't.
> >>
> >> Geordie McBain
> >>
> >>
> >> On Mon, 2004-08-16 at 10:50, Pascal A. Dupuis wrote:
> >>> Hello,
> >>>
> >>> I generate a spare matrix X the following way:
> >>>
> >>> X=[ C0 0 0 0 0
> >>> C1 C0 0 0 0
> >>> C2 C1 C0 0 0
> >>> ...
> >>> C2 C1 C0]
> >>>
> >>> with a size of N, N-2 (N >> 2), and C0+C1+C2=0; ||(C0,C1,C2)|| = 1.
> >>>
> >>> then I compute:
> >>>
> >>> xinv = inv(X.'*X);
> >>> H = chol(xinv);
> >>>
> >>> which results in: chol: matrix not positive definite
> >>>
> >>> But by construction the matrix should be positive definite, as
> >>> range(X)=N-2. OTOH, X is also badly conditionned:
> >>>
> >>> [dummy, rcond]=inv(X.'*X);
> >>> rcond = 1.0498e-10
> >>>
> >>>
> >>> If I check the eigenvalues of X.'*X, they are all > 0, although some
> >>> of them are very small. (~= 1e-10). So, is it a problem of numerical
> >>> inaccuracy in the computation of chol ? Or should I instead compute
> >>> H = chol(pinv(X.'*X))
> >>>
> >>> TIA
> >>>
> >>> Pascal Dupuis
> >>
> >>
> >>
> >> -------------------------------------------------------------
> >> Octave is freely available under the terms of the GNU GPL.
> >>
> >> Octave's home on the web: http://www.octave.org
> >> How to fund new projects: http://www.octave.org/funding.html
> >> Subscription information: http://www.octave.org/archive.html
> >> -------------------------------------------------------------
> >>
> >
> >
> >
> > -------------------------------------------------------------
> > Octave is freely available under the terms of the GNU GPL.
> >
> > Octave's home on the web: http://www.octave.org
> > How to fund new projects: http://www.octave.org/funding.html
> > Subscription information: http://www.octave.org/archive.html
> > -------------------------------------------------------------
> >
>
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------