Krylov.jl
Krylov.jl copied to clipboard
Krylov 1.0
Epic created through ZenHub to control what is needed for the Krylov 1.0 release.
Version 1.0
- [x] LNLQ (#128)
- [ ] USYMLQR (#164)
- [x] Regularization in CRAIG and CRAIGMR (#171)
Version ≥ 1.0
- [ ] Support for complex linear systems (#103)
- [ ] Use 5-arguments
mul!
(y <- a * A * v + b * y
andz <- c * A' * u + c * z
) to reduce the number of vectors allocated
I don't think we need complex systems for 1.0 but would be great to have at some point of course.
I'd add 2 features before 1.0.000
:
- A State of Solver
An API to supply a state of solver (Probably the solver itself) to the in place flavor of functions too add more iterations. For instance, I ran a CG with 500 iterations and it didn't converge to the required tolerance. By using
cg!()
on the same solver withitmax = 1000
I expect it to apply another 1000 iterations from the last iteration. - User Supplied Initial Vector The user can supply the solvers (Or constructors) with initial guess. This is highly helpful when the user use the solvers in a loop with ever slightly changing RHS. So it makes sense to start from the solution of the previous run. See https://github.com/JuliaSmoothOptimizers/Krylov.jl/issues/414.
By the way, thank you for this package and Linear Operators. A really powerful combination,