LDL does not support complex symmetric matrices
Show older comments
Given that you cannot factorize a complex symmetric matrix with LDL in MatLab, I was wondering if there was a particular reason? Is there some package which can perform this factorization?
Accepted Answer
More Answers (1)
David Goodmanson
on 6 Jan 2022
Edited: David Goodmanson
on 7 Jan 2022
1 vote
Hi Nathan,
the LDL decomposition works for hermitian matrices. In LDL the D matrix is hermitian, so
if A = L*D*L', then A' = L*D' *L' = L*D*L' = A, and A has to be hermitian.
But a symmetric complex matrix is not hermitian, so LDL won't work.
3 Comments
Nathan Zhao
on 24 Jan 2022
Yaroslav Urzhumov
on 19 Jan 2023
David,
LDL for a symmetric matrix implies A=L*D*L.', where .' is the usual (rather than complex conjugate) transpose. You can easily see that this decomposition is a symmetric matrix - even if D is complex-valued. It's a different kind of decomposition.
EMCanuck1
on 18 Feb 2025
I agree with Yaroslav. My work involves decomposing a symmetric complex matrix and A=L*D*L.' is valid. The fact that ldl() threw an error made me second-guess my derivation, but it is correct. What should the LDL be called for complex symmetric matrices, I wonder?
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!