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 toVector{T}
(for arithmeticT
) 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
— TypeSPDSolver
Tulip.KKT.TlpKrylov.SIDSolver
— TypeSIDSolver
Tulip.KKT.TlpKrylov.SQDSolver
— TypeSQDSolver