Yes, I meant by D to a 1 \times 1 block diagonal matrix.
The example you have given to show that a PLDL^TP^T factorization may not exist is very helpful.
From the REPL help, it seems to me that ldlt
does no pivoting on SymTridiagonal
matrices, but it does on SparseMatrixCSC
. However, this factorization is still not useful because, as you say, it may not exist — and indeed yields an error in your example. By the way, here is some help to retrieve the factors from the ldlt
decomposition.
So, now it is more clear to me that bunchkaufman
is the best option. However, it works only for full matrices. In the case of sparse matrices, is there any bunchkaufman
factorization? In Matlab there seems to be a stable LBL^T (B=block diagonal) factorization both for dense and sparse matrices. I have not found anything similar in Julia.