From: "John D'Errico" <>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Solving x'Px = v
Date: Fri, 12 Dec 2008 10:00:05 +0000 (UTC)
Organization: John D'Errico (1-3LEW5R)
Lines: 48
Message-ID: <ghtcn5$764$>
References: <ghsae8$nlk$> <>
Reply-To: "John D'Errico" <>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: 1229076005 7364 (12 Dec 2008 10:00:05 GMT)
NNTP-Posting-Date: Fri, 12 Dec 2008 10:00:05 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 869215
Xref: comp.soft-sys.matlab:506503

swgillan <> wrote in message <>...
> On Dec 11, 4:15=A0pm, "Benp P" <> wrote:
> > Hi, I need to solve the equation
> >
> > x'Px =3D v
> >
> > where x is an (n by 1) vector of unknowns and P is a (n by n) square matr=
> ix (v is a scalar).
> >
> > Any help would be great!
> >
> > Thanks,
> > Ben.
> Not sure of this would help, but can you perform a cholesky
> factorization on P? P =3D LL' where L is a lower triangular.
> x'Px =3D v
> x'LL'x =3D v
> let L'x =3D y
> y'y =3D v
> if you can find y, you can just do simple back substition to get x.
> Not sure if that helps or not.

Its an idea, although the OP has never stated that
P is positive definite, a HUGEly important factor
in the existence of a Cholesky factor.

Essentially, IF P is symmetric and positive definite,
then X'*P*X = v is the equation of a hyper-ellipsoid.
All the Cholesky factor does is to transform the
ellipsoid into a hyper-sphere, still in n dimensions.
Having then turned the problem into Y'*Y = v,
you still do not have a solution for y. Remember,
the OP has asked for a way to recover the unknown.

All that we know is that y lies on a hyper-sphere
of known radius.

If P is a general matrix, this will fail, although one
might choose another form to factorize P. Perhaps
an LDL' or UDU' form might be chosen. Note that
D need not always be a diagonal matrix in these