LDL does not support complex symmetric matrices
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Nathan Zhao
am 6 Jan. 2022
Kommentiert: EMCanuck1
vor 11 Minuten
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?
0 Kommentare
Akzeptierte Antwort
Christine Tobler
am 7 Jan. 2022
Largely the reason LDL doesn't support this is that it's less commonly requested for complex symmetric matrices than for complex Hermitian ones, so LDL only supports the more common variant. We would also need some option to indicate which of the two modes is meant to be used.
There is a LAPACK function ZSYTRF that you can call from a mex-file to get the complex symmetric LDL decomposition.
2 Kommentare
Christine Tobler
am 10 Jan. 2022
Yes, LDL for sparse matrices doesn't support complex at all, neither the Hermitian nor the complex symmetric case. This is again not based on mathematics, just on practical considerations of resources and commonality of the use case.
Weitere Antworten (1)
David Goodmanson
am 6 Jan. 2022
Bearbeitet: David Goodmanson
am 7 Jan. 2022
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 Kommentare
Yaroslav Urzhumov
am 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
vor 11 Minuten
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?
Siehe auch
Kategorien
Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!