Preconditioners.jl icon indicating copy to clipboard operation
Preconditioners.jl copied to clipboard

Allow reordering for incomplete cholesky

Open learning-chip opened this issue 3 years ago • 1 comments

Reordering can reduce fill-in for both complete and incomplete factorizations. The CholeskyPreconditioner calls lldl() in LimitedLDLFactorizations.jl, but without suppling the reorder parameter:

https://github.com/JuliaLinearAlgebra/Preconditioners.jl/blob/52b3702e9c8c5d42d6092ed2df7efdbe07c81411/src/incompletecholesky.jl#L8-L13

In lldl's example, AMD or METIS reordering can be used like:

AMD_P = amd(K1)
METIS_P, METIS_invP = Metis.permutation(K)
...
LLDL, t, b, g, m = @timed lldl(K1, Kdiag, AMD_P, memory = p)
...
LLDL, t, b, g, m = @timed lldl(K1, Kdiag, METIS_P, memory = p)

learning-chip avatar Sep 14 '22 08:09 learning-chip

A PR would be welcome :)

mohdibntarek avatar Sep 19 '22 14:09 mohdibntarek

Fixed by #32.

mohdibntarek avatar Jun 23 '23 02:06 mohdibntarek