TlpKrylov
Iterative methods are still an experimental feature. Some numerical and performance issues should be expected.
Tulip.KKT.TlpKrylov.Backend — TypeBackend{KS<:Krylov.KrylovSolver,V<:AbstractVector}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})Tulip.KKT.TlpKrylov.AbstractKrylovSolver — TypeAbstractKrylovSolver{T}Abstract type for Kyrlov-based linear solvers.
Tulip.KKT.TlpKrylov.SPDSolver — TypeSPDSolverTulip.KKT.TlpKrylov.SIDSolver — TypeSIDSolverTulip.KKT.TlpKrylov.SQDSolver — TypeSQDSolver