LDL matrix factorization

Decomposition of a matrix into lower triangular matrix L and diagonal matrix D

You are now following this Submission

MATLAB includes LDL factorization, which however returns block diagonal matrix D instead of diagonal matrix D. These implementations return true diagonal matrix D.

The package includes two implementations of LDL.
One implementation takes a symmetrical matrix A and returns [L, D] that:
L*D*L' = ldl(A).
The second implementation is convenient whenever you would run LDL on Gramian matrix A:
A=Z*Z'+Λ,
where Z is a potentially long (but slim) rectangular matrix and Λ is a regularization diagonal matrix (can be just all zeros, if you don't need it). The second implementation saves you of explicitly storing the potentially large Z*Z' matrix.

Both implementations are textbook implementations and as such should serve only educative purposes.

Cite As

Jan Motl (2026). LDL matrix factorization (https://in.mathworks.com/matlabcentral/fileexchange/75232-ldl-matrix-factorization), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0