@@ -18,8 +18,9 @@ export cg_lanczos_shift, cg_lanczos_shift!
1818 M=I, ldiv::Bool=false,
1919 check_curvature::Bool=false, atol::T=√eps(T),
2020 rtol::T=√eps(T), itmax::Int=0,
21- timemax::Float64=Inf, verbose::Int=0, history::Bool=false,
22- callback=workspace->false, iostream::IO=kstdout)
21+ timemax::Float64=Inf, verbose::Int=0,
22+ history::Bool=false, callback=workspace->false,
23+ iostream::IO=kstdout)
2324
2425`T` is an `AbstractFloat` such as `Float32`, `Float64` or `BigFloat`.
2526`FC` is `T` or `Complex{T}`.
@@ -31,6 +32,12 @@ of shifted systems
3132
3233of size n. The method does _not_ abort if A + αI is not definite.
3334
35+ #### Interface
36+
37+ To easily switch between Krylov methods, use the generic interface [`krylov_solve`](@ref) with `method = :cg_lanczos_shift`.
38+
39+ For an in-place variant that reuses memory across solves, see [`cg_lanczos_shift!`](@ref).
40+
3441#### Input arguments
3542
3643* `A`: a linear operator that models a Hermitian matrix of dimension `n`;
@@ -66,9 +73,12 @@ function cg_lanczos_shift end
6673"""
6774 workspace = cg_lanczos_shift!(workspace::CgLanczosShiftWorkspace, A, b, shifts; kwargs...)
6875
69- where `kwargs` are keyword arguments of [`cg_lanczos_shift`](@ref).
76+ In this call, `kwargs` are keyword arguments of [`cg_lanczos_shift`](@ref).
77+
78+ See [`CgLanczosShiftWorkspace`](@ref) for instructions on how to create the `workspace`.
7079
71- See [`CgLanczosShiftWorkspace`](@ref) for more details about the `workspace`.
80+ For a more generic interface, you can use [`krylov_workspace`](@ref) to allocate the workspace,
81+ and [`krylov_solve!`](@ref) to run the Krylov method in-place.
7282"""
7383function cg_lanczos_shift! end
7484
0 commit comments