# [R] Find A, given B where B=A'A

(Ted Harding) Ted.Harding at manchester.ac.uk
Wed Oct 31 22:02:44 CET 2007

```On 31-Oct-07 22:19:22, Lucke, Joseph F wrote:
> chol(B) doesn't give the original A, which I believe is
> what Mike wants.

No-one can tell what this was, from B alone.
If A is any solution to t(A)%*%A = B,
and if T is any unitary matrix -- i.e. t(T)%*%T = I,
the unit diagonal matrix (and there are infinitely many
of these), then T%*%A is also a solution:

t(T%*%A)%*%(T%*%A) = t(A)%*%t(T)%*%T%*%A = t(A)%*%A

For 2x2 matrices, matrix(c(cos(u),-sin(u),sin(u),cos(u)),nrow=2)
is a unitary matrix, for any real value of u. Etc.

Best wishes,
Ted.

> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org]
> On Behalf Of Katharine Mullen
> Sent: Wednesday, October 31, 2007 4:08 PM
> To: Michael Gormley
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] Find A, given B where B=A'A
>
> B is symmetric by definition; if it's also real positive-definite then
> A
> is the upper triangular factor of the Choleski decomposition, and you
> can use
>> chol(B)
> to get A.
>
> On Wed, 31 Oct 2007, Michael Gormley wrote:
>
>> Given a matrix B, where B=A'A, how can I find A?
>> In other words, if I have a matrix B which I know is another matrix A
>> times its transpose, can I find matrix A?
>>
>> Thanks,
>> Mike
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help