Hello.

I found a solution that may interest others.

Recall that my problem was how to use R to decompose a matrix into the 
product of a matrix and its transpose. or, symbolically:

     For known matrix M (3x3 matrix) and unknown matrix F and its 
transpose t(F)
     where  F * t(F) = M
     determine F

The solution using R seems to be :

     U=eigen(M)$vectors
     D=diag(x=eigen(M)$values)
     F=U %*% sqrt(D)

But now I have two new questions:
1. How can I find a solution where F is a triangular matrix.
2. How can I find solutions to non-square matrices?

/shawn



p.s. Here's a numerical example that demonstrates the above.

 > M
           [,1]       [,2]       [,3]
[1,] 0.6098601  0.2557882  0.1857773
[2,] 0.2557882  0.5127065 -0.1384238
[3,] 0.1857773 -0.1384238  0.9351089

 > U=eigen(M)$vectors
 > D=diag(x=eigen(M)$values)
 > F=U %*% sqrt(D)

 > *F %*% t(F)*
           [,1]       [,2]       [,3]
[1,] 0.6098601  0.2557882  0.1857773
[2,] 0.2557882  0.5127065 -0.1384238
[3,] 0.1857773 -0.1384238  0.9351089




        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to