Cholesky Factorization and Positive-Definite Systems
The symmetric, twice-as-fast factorization - and the engine that turns independent normals into a correlated portfolio.
Leads to: Correlated-normal simulation feeds Monte Carlo (Phase 13) and risk (Phase 14).
Learning Objectives
Click a status chip to cycle: Not started → In progress → Studied → Practiced → Needs review → Mastered.
- State positive-definiteness and derive the Cholesky factorization \(A=LL^\top\).
- Explain why Cholesky needs no pivoting and costs half of LU.
- Implement Cholesky and verify \(LL^\top=A\) on a covariance matrix.
- Use Cholesky to simulate correlated normal random vectors with a target covariance.
- Diagnose non-positive-definite covariance matrices via a failed factorization.
Key Vocabulary
- Positive definite
- Symmetric \(A\) with \(x^\top A x\gt 0\) for all \(x\ne0\); equivalently all eigenvalues positive.
- Cholesky factor
- Lower-triangular \(L\) with positive diagonal such that \(A=LL^\top\).
- Covariance matrix
- Symmetric positive-semidefinite \(\Sigma\) with \(\Sigma_{ij}=\Cov(X_i,X_j)\).
- Correlated normals
- A vector \(X=\mu+LZ\) built from i.i.d. standard normals \(Z\) so that \(\Cov(X)=LL^\top=\Sigma\).
- Positive semidefinite
- \(x^\top A x\ge0\) for all \(x\); allows zero eigenvalues (a singular covariance).
- Nearest-PD repair
- Projecting an indefinite estimated covariance to the closest positive-definite matrix so Cholesky succeeds.
Intuition & Motivation
The factorization
Entrywise, comparing both sides of \(A=LL^\top\) gives the recursion:
If any diagonal radicand is \(\le 0\), the matrix is not positive definite - a failed Cholesky is the cheapest positive-definiteness test there is.
Application: simulate correlated normals
To draw \(X\sim\Normal(\mu,\Sigma)\), factor \(\Sigma=LL^\top\), draw \(Z\sim\Normal(0,I)\), and set \(X=\mu+LZ\). The empirical covariance of many such draws converges to \(\Sigma\).
- Feeding a non-symmetric or indefinite matrix to Cholesky and ignoring the failure - it is telling you \(\Sigma\) is invalid.
- Using \(X=\mu+L^\top Z\) (upper factor) instead of \(X=\mu+LZ\); the covariance then is \(L^\top L\ne\Sigma\) in general.
- Estimating a covariance from too few samples so it is only positive semidefinite, then wondering why Cholesky throws.
- Adding a huge jitter to force positive-definiteness; use the smallest ridge or a nearest-PD projection.
- A failed Cholesky is the standard, cheap check that an estimated covariance is valid.
- Cache \(L\) once per risk matrix and reuse it for every Monte-Carlo path.
- For a nearly-PSD estimate, add \(\lambda I\) with the smallest \(\lambda\) that restores positivity, or clip negative eigenvalues.
- In finance, \(L\) gives an interpretable factor decomposition: each variable is a triangular combination of orthogonal shocks.
Knowledge Check
Practical Exercise
Given target correlation \(\rho\) and unit variances, write the \(2\times2\) Cholesky factor of \(\Sigma=\begin{psmallmatrix}1&\rho\\\rho&1\end{psmallmatrix}\) and use it to express two correlated standard normals in terms of independent \(Z_1,Z_2\).
Here \(L_{11}=1\), \(L_{21}=\rho\), \(L_{22}=\sqrt{1-\rho^2}\).
Then \(\Var(X_2)=\rho^2+(1-\rho^2)=1\) and \(\Cov(X_1,X_2)=\rho\) - the standard two-factor recipe used throughout derivatives pricing.
Lesson Summary
Retrieval Practice
Close the lesson and answer from memory before checking. This is deliberate, effortful recall - the single highest-yield study action.
A: Factor \(\Sigma=LL^\top\) (Cholesky), draw \(Z\sim\Normal(0,I)\), and set \(X=\mu+LZ\); then \(\Cov(X)=\Sigma\).
A: The matrix is not positive definite - typically an invalid or under-sampled covariance; it is the cheapest PD test.
Completion Checklist
- I can explain the core ideas in my own words
- I worked the derivations/examples by hand
- I completed the interactive workbench(es)
- I passed the knowledge check