[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
reading about design matrices now to try to understand your answer
(?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
More information about the R-help
mailing list