# (Numerical) Cholesky Decomposition of a Product of Matrices

Let $E$ be a symmetric positive definite matrix and let $O$ be an orthonormal matrix i.e. $O^{T}O=I$. Let $chol(A)=L$ such that $A=LL^{T}$ i.e. $chol(.)$ is the operation that returns the lower triangular matrix corresponding to the cholesky decomposition. The Cholesky decomposition is unique when $A$ is positive definite

Claim: $chol(OEO^{T})=Ochol(E)$

Proof: $Ochol(E)[Ochol(E)]^{T}=Ochol(E)chol(E)^{T}O^{T}=OEO^{T}$

However, in the R programming language, this doesn't seem to be the case.

$t(chol(O%*%E%*%t(O)))-O%*%t(chol(E)) [,1] [,2] [,3] [,4] [1,] 1.688334 0.5226711 -3.3855134 4.186151 [2,] 2.215484 7.5935907 -7.7984888 -2.518728 [3,] 3.889553 2.7044721 10.3045410 7.110639 [4,] 1.122813 -8.8302090 -0.8037116 13.555652 \end$

Where I was expecting a matrix of zeros. Note in R chol() returns the transpose of the way I defined chol() so I transpose it in the above code.

-
Why would $OL$ be lower triangular? –  copper.hat Feb 2 '14 at 4:58
That's a good point, yeah, $OL$ isn't necessarily lower triangular, so can't be the Cholesky. –  Lindon Feb 2 '14 at 5:04