Cholesky Decomposition
Overview
The Cholesky Decomposition takes a symetric matrix and decomposes it into two triangular matrices, such that one is the transpose of
the other and the original matrix is the result of the two matrices multiplied.
Example
The following shows what the Cholesky decomposition looks like for a 3x3 matrix.
{%
\begin{bmatrix}
x_{1,1} & x_{1,2} & x_{1,3} \\
x_{2,1} & x_{2,2} & x_{3,3} \\
x_{3,1} & x_{3,2} & x_{3,3} \\
\end{bmatrix} =
\begin{bmatrix}
y_{1,1} & 0 & 0 \\
y_{2,1} & y_{2,2} & 0 \\
y_{3,1} & y_{3,2} & y_{3,3} \\
\end{bmatrix}
\times
\begin{bmatrix}
y_{1,1} & y_{2,1} & y_{3,1} \\
0 & y_{2,2} & y_{3,2} \\
0 & 0 & y_{3,3} \\
\end{bmatrix}
%}
Try it!
Implementation
The cholesky deomposion is implemented in the
linear algebra module.
let la = await import('/lib/linear-algebra/v1.0.0/linear-algebra.mjs');
let matrix = [[1,0.5],[0.5,1]]
let L = la.cholesky(matrix);
Try it!
Generating Correlated Variables
The Cholesky decomposition is useful when generating correlated random variables in a Monte Carlo
simulation. For more information, see
Cholesky Correlated Simulations.