SciML / LinearSolve.jl

LinearSolve.jl: High-Performance Unified Interface for Linear Solvers in Julia. Easily switch between factorization and Krylov methods, add preconditioners, and all in one interface.
https://docs.sciml.ai/LinearSolve/stable/
Other
245 stars 52 forks source link

steps towards iterative solvers + tests for general numbers #263

Open j-fu opened 1 year ago

j-fu commented 1 year ago

Doesn't work for Duals in the moment

codecov[bot] commented 1 year ago

Codecov Report

Merging #263 (fc4ae65) into main (fa64510) will decrease coverage by 17.59%. The diff coverage is 100.00%.

@@             Coverage Diff             @@
##             main     #263       +/-   ##
===========================================
- Coverage   70.27%   52.68%   -17.59%     
===========================================
  Files          14       14               
  Lines         841      837        -4     
===========================================
- Hits          591      441      -150     
- Misses        250      396      +146     
Impacted Files Coverage Δ
src/iterative_wrappers.jl 55.15% <100.00%> (-22.17%) :arrow_down:
src/factorization_sparse.jl 0.00% <0.00%> (-100.00%) :arrow_down:
src/factorization.jl 44.93% <0.00%> (-38.19%) :arrow_down:
src/preconditioners.jl 60.00% <0.00%> (-26.67%) :arrow_down:
src/default.jl 35.06% <0.00%> (-12.99%) :arrow_down:
src/common.jl 88.13% <0.00%> (-1.70%) :arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

j-fu commented 1 year ago

See https://github.com/JuliaLang/julia/issues/41753, https://github.com/JuliaSmoothOptimizers/Krylov.jl/issues/646

ChrisRackauckas commented 11 months ago

I don't think we want to do this approach. Instead, we should do an approach like https://github.com/SciML/NonlinearSolve.jl/blob/master/src/ad.jl where an overload catches the floats and just makes BLAS solve the problem in Float64s by appropriately reinterpreting. That would be faster than using the BLAS fallbacks.