Efficient Computation of Square Root of Covariance Matrix

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
2 replies · 4K views
foges
Messages
52
Reaction score
0
So I need to calculate the square root of the covariance matrix [itex]\sqrt{\Sigma_tR\Sigma_t}[/itex] (the matrix square root, not the element-wise square root). [itex]\Sigma_t[/itex] is a diagonal matrix with the square root of the variance on the diagonal (these values are time dependent) and [itex]R[/itex] is the correlation between my variables (this is assumed to be independent of time). Here is an example:

[itex]\sqrt{\left(\begin{array}{cc}\sigma_1 & 0 \\ 0 & \sigma_2\end{array}\right) \cdot \left(\begin{array}{cc}1 & \rho \\ \rho & 1 \end{array}\right) \cdot \left(\begin{array}{cc}\sigma_1 & 0 \\ 0 & \sigma_2\end{array}\right) }[/itex]

Now the thing is, it is awfully slow to recalculate the square root of this matrix for every time step. Seeing as my correlation is constant I was thinking there might be a more computationally efficient method of calculating this root, but haven't been able to come up with anything. Does anyone have any suggestions?
 
Physics news on Phys.org