Skip to content

Commit 9d9b8ce

Browse files
committed
Update the wrapper of Krylov.jl
1 parent e918e9e commit 9d9b8ce

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

Project.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ FastLapackInterface = "1"
2929
GPUArraysCore = "0.1"
3030
IterativeSolvers = "0.9.2"
3131
KLU = "0.3.0, 0.4"
32-
Krylov = "0.7.11, 0.8"
32+
Krylov = "0.9"
3333
KrylovKit = "0.5, 0.6"
3434
RecursiveFactorization = "0.2.8"
3535
Reexport = "1"

src/iterative_wrappers.jl

+7
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ end
1717

1818
KrylovJL_CG(args...; kwargs...) = KrylovJL(args...; KrylovAlg = Krylov.cg!, kwargs...)
1919
KrylovJL_GMRES(args...; kwargs...) = KrylovJL(args...; KrylovAlg = Krylov.gmres!, kwargs...)
20+
KrylovJL_FGMRES(args...; kwargs...) = KrylovJL(args...; KrylovAlg = Krylov.fgmres!, kwargs...)
2021
function KrylovJL_BICGSTAB(args...; kwargs...)
2122
KrylovJL(args...; KrylovAlg = Krylov.bicgstab!, kwargs...)
2223
end
@@ -89,6 +90,10 @@ function get_KrylovJL_solver(KrylovAlg)
8990
Krylov.QmrSolver
9091
elseif (KrylovAlg === Krylov.gmres!)
9192
Krylov.GmresSolver
93+
elseif (KrylovAlg === Krylov.fgmres!)
94+
Krylov.FgmresSolver
95+
elseif (KrylovAlg === Krylov.gpmr!)
96+
Krylov.GpmrSolver
9297
elseif (KrylovAlg === Krylov.fom!)
9398
Krylov.FomSolver
9499
end
@@ -105,6 +110,8 @@ function init_cacheval(alg::KrylovJL, A, b, u, Pl, Pr, maxiters::Int, abstol, re
105110
solver = if (alg.KrylovAlg === Krylov.dqgmres! ||
106111
alg.KrylovAlg === Krylov.diom! ||
107112
alg.KrylovAlg === Krylov.gmres! ||
113+
alg.KrylovAlg === Krylov.fgmres! ||
114+
alg.KrylovAlg === Krylov.gpmr! ||
108115
alg.KrylovAlg === Krylov.fom!)
109116
KS(A, b, memory)
110117
elseif (alg.KrylovAlg === Krylov.minres! ||

0 commit comments

Comments
 (0)