Iterative methods are still an experimental feature. Some numerical and performance issues should be expected.


Krylov.jl-based backend for solving linear systems.

The type is parametrized by:

  • KS<:Krylov.KrylovSolver: workspace type for the Krylov method. Also defines the Krylov method to be used.
  • V<:AbstractVector: the vector storage type used within the Krylov method. This should be set to Vector{T} (for arithmetic T) unless, e.g., one uses a GPU.

See the Krylov.jl documentation for further details.

Example usage

All the following examples assume everything runs on a CPU in Float64 arithmetic.

  • To use the conjugate gradient:
backend = KKT.TlpKrylov.Backend(Krylov.CgSolver, Vector{Float64})
  • To use MINRES:
backend = KKT.TlpKrylov.Backend(Krylov.MinresSolver, Vector{Float64})