# [R] B %*% t(B) = R , then solve for B

Shawn Koppenhoefer shawn.koppenhoefer at epfl.ch
Tue Apr 12 18:20:46 CEST 2011

```Thanks to both Doran and Spencer for your helpful answers.

@Doran: I still have to parse your answer, as I'm not experienced enough
to see immediately how it relates to my M. Sorry for being daft! I don't
immediately see how doing a linear regression on two vectors. I'm
(?model.matrix). And when I look at A, I don't see anything that leads
me to finding a diagonal matrix. :-(

@Spencer: Yup. SVD (Single Value Decomposition) gave me a solution
(non-triangular unfortunately). From it, I got my F and t(F) however F
is not triangular.
I didn't know about about QR which gives me orthogonal and upper
triangular matrix. So this is closer!

In the meantime, I've learned about the "LU Decomposition"... which
sounded promising:

library(Matrix)
lum=lu(M)
L=expand(lum)\$L
U=expand(lum)\$U
L%*%U

I get lower L and upper U triangular matrices,
However it is not the case that U is the transpose of L :-(
which is what I'm after (certainly Doran's solution gives me the answer
once I figure it out).

3 x 3 Matrix of class "dgeMatrix"
[,1]       [,2]       [,3]
[1,] 0.6098601  0.2557882  0.1857773
[2,] 0.2557882  0.5127065 -0.1384238
[3,] 0.1857773 -0.1384238  0.9351089
> L
3 x 3 Matrix of class "dtrMatrix" (unitriangular)
[,1]       [,2]       [,3]
[1,]  1.0000000          .          .
[2,]  0.4194211  1.0000000          .
[3,]  0.3046228 -0.5336215  1.0000000
> U
3 x 3 Matrix of class "dtrMatrix"
[,1]       [,2]       [,3]
[1,]  0.6098601  0.2557882  0.1857773
[2,]          .  0.4054235 -0.2163427
[3,]          .          .  0.7630718
>

See?
U is not t(L) :-(

remember that I'm trying to get this solution:

[,1]   [,2]  [,3]
[1,] 0.781  0.000 0.000
[2,] 0.328  0.637 0.000
[3,] 0.238 -0.341 0.873

/shawn

```