JuliaLinearAlgebra / Preconditioners.jl

A few preconditioners for iterative solvers.
https://julialinearalgebra.github.io/Preconditioners.jl/
Other
50 stars 11 forks source link

Fix incomplete cholesky #17

Closed t-bltg closed 3 years ago

t-bltg commented 3 years ago

Running https://github.com/mohamed82008/Preconditioners.jl#examples failed with:

ERROR: MethodError: no method matching iterate(::LimitedLDLFactorizations.LimitedLDLFactorization{Float64, Int64})
Closest candidates are:
  iterate(::Union{LinRange, StepRangeLen}) at range.jl:664
  iterate(::Union{LinRange, StepRangeLen}, ::Int64) at range.jl:664
  iterate(::T) where T<:Union{Base.KeySet{var"#s79", var"#s78"} where {var"#s79", var"#s78"<:Dict}, Base.ValueIterator{var"#s77"} where var"#s77"<:Dict} at dict.jl:693
  ...
Stacktrace:
  [1] indexed_iterate(I::LimitedLDLFactorizations.LimitedLDLFactorization{Float64, Int64}, i::Int64)
    @ Base ./tuple.jl:89
  [2] CholeskyPreconditioner(A::SparseMatrixCSC{Float64, Int64}, memory::Int64)
    @ Preconditioners ~/.julia/packages/Preconditioners/03GuC/src/incompletecholesky.jl:28

Reference: https://github.com/JuliaSmoothOptimizers/LimitedLDLFactorizations.jl/pull/19

mohamed82008 commented 3 years ago

Thanks! Please put a lower bound on the version of LimitedLDLFactorizations where this breaking change was introduced or at least some recent version.

mohamed82008 commented 3 years ago

CI was not working. I merged a PR that fixes CI. I will merge this without CI and see if tests pass.

mohamed82008 commented 3 years ago

Thanks!

t-bltg commented 3 years ago

Thanks! Please put a lower bound on the version of LimitedLDLFactorizations where this breaking change was introduced or at least some recent version.

LimitedLDLFactorizations = "≥ 0.3.1" should do it

mohamed82008 commented 3 years ago

Yes