Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
is it possible to extract P from A=P'*P?

Subject: is it possible to extract P from A=P'*P?

From: billy ford

Date: 24 Nov, 2010 22:24:04

Message: 1 of 5

Hi all,

I am looking for a program that can extract the matrix back, for example, I know a matrix A which is produced from P'*P, then I would rather prefer to have P back, is there anyway to do this in Matlab? I give you an example here:
P = [1 2
          5 6]
A = P'*P = [26 32
                      32 40]
I try to use Cholesky decomposition, and it does give me the matrix P back
C = chol(A) = [5.099019513592784 6.275716324421889
                                                             0 0.784464540552735]
Even I use sqrtm command, I still can not get the original matrix P
D = sqrtm(A) = [25.999999999999996 32.000000000000000
                             32.000000000000000 40.000000000000000]
Plese help and thanks all,
Billy.

Subject: is it possible to extract P from A=P'*P?

From: Bruno Luong

Date: 24 Nov, 2010 22:57:06

Message: 2 of 5

"billy ford" <firstsillybilly@yahoo.com> wrote in message <ick3a3$om3$1@fred.mathworks.com>...
> Hi all,
>
> I am looking for a program that can extract the matrix back, for example, I know a matrix A which is produced from P'*P, then I would rather prefer to have P back, is there anyway to do this in Matlab?

No!!! Because the solution is not unique. If P is a solution then any Q*P with Q hermitian will be a solution. So there are a lot of P that satisfied A=P'*P, therefore there is no way Matlab can pick the one you want to "get back".

Bruno

Subject: is it possible to extract P from A=P'*P?

From: Roger Stafford

Date: 24 Nov, 2010 23:09:03

Message: 3 of 5

"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <ick582$s42$1@fred.mathworks.com>...
> "billy ford" <firstsillybilly@yahoo.com> wrote in message <ick3a3$om3$1@fred.mathworks.com>...
> > Hi all,
> >
> > I am looking for a program that can extract the matrix back, for example, I know a matrix A which is produced from P'*P, then I would rather prefer to have P back, is there anyway to do this in Matlab?
>
> No!!! Because the solution is not unique. If P is a solution then any Q*P with Q hermitian will be a solution. So there are a lot of P that satisfied A=P'*P, therefore there is no way Matlab can pick the one you want to "get back".
>
> Bruno
- - - - - - - -
  I think you meant any unitary Q, Bruno.

Roger Stafford

Subject: is it possible to extract P from A=P'*P?

From: Bruno Luong

Date: 24 Nov, 2010 23:21:03

Message: 4 of 5

> I think you meant any unitary Q, Bruno.
>
> Roger Stafford

Yes of course Roger. Thanks, I need some sleep now.

Bruno

Subject: is it possible to extract P from A=P'*P?

From: Matt Fig

Date: 24 Nov, 2010 23:34:04

Message: 5 of 5

Perhaps an explicit example of what Bruno is talking about will help. Say:

P = [a b;c d]
A = [w x;y z];

where a,b,c,d are unknown and w,x,y,z are known. Now from A = P'*P (assuming real values here) we know that:

w = a^2 + c^2
x = y = a*b + c*d
z = b^2 + d^2

So we have three equations and four unknowns, and thus an underdetermined system.

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us