ds4dm / Tulip.jl

Interior-point solver in pure Julia
Other
154 stars 20 forks source link

Re-write KKT module #101

Closed mtanneau closed 3 years ago

mtanneau commented 3 years ago

This PR makes the KKT module substantially more modular, by introducing explicit KKT backends and KKT systems, as well as creating individual modules for each underlying linear solver. It does not affect performance.

Doing so allows a more systematic and flexible management of KKT solvers, without the need for complicated Factory and outer constructors.

codecov-commenter commented 3 years ago

Codecov Report

Merging #101 (254f39c) into master (070a9f4) will increase coverage by 0.22%. The diff coverage is 95.90%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #101      +/-   ##
==========================================
+ Coverage   90.38%   90.60%   +0.22%     
==========================================
  Files          36       43       +7     
  Lines        2558     2587      +29     
==========================================
+ Hits         2312     2344      +32     
+ Misses        246      243       -3     
Impacted Files Coverage Δ
src/KKT/Test/test.jl 95.45% <ø> (ø)
src/KKT/Dense/lapack.jl 92.68% <92.68%> (ø)
src/KKT/Krylov/sqd.jl 94.59% <94.59%> (ø)
src/KKT/LDLFactorizations/ldlfact.jl 95.12% <95.12%> (ø)
src/KKT/Krylov/spd.jl 95.34% <95.34%> (ø)
src/KKT/Krylov/sid.jl 95.45% <95.45%> (ø)
src/KKT/Cholmod/spd.jl 96.96% <96.96%> (ø)
src/IPM/HSD/HSD.jl 88.18% <100.00%> (ø)
src/IPM/MPC/MPC.jl 90.06% <100.00%> (ø)
src/KKT/Cholmod/cholmod.jl 100.00% <100.00%> (ø)
... and 17 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 070a9f4...254f39c. Read the comment docs.