Skip to content

Commit bcafe1f

Browse files
Default non-square operators to LSMR
1 parent 79eea00 commit bcafe1f

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/default.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ function defaultalg(A::SciMLBase.AbstractDiffEqOperator, b,
6969
KrylovJL_GMRES()
7070
end
7171

72+
function defaultalg(A::SciMLBase.AbstractDiffEqOperator, b,
73+
assumptions::OperatorAssumptions{false})
74+
KrylovJL_LSMR()
75+
end
76+
7277
# Handle ambiguity
7378
function defaultalg(A::GPUArraysCore.AbstractGPUArray, b::GPUArraysCore.AbstractGPUArray,
7479
::OperatorAssumptions{true})

src/iterative_wrappers.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ function KrylovJL_MINRES(args...; kwargs...)
2424
KrylovJL(args...; KrylovAlg = Krylov.minres!, kwargs...)
2525
end
2626

27+
function KrylovJL_LSMR(args...; kwargs...)
28+
KrylovJL(args...; KrylovAlg = Krylov.lsmr!, kwargs...)
29+
end
30+
2731
function get_KrylovJL_solver(KrylovAlg)
2832
KS = if (KrylovAlg === Krylov.lsmr!)
2933
Krylov.LsmrSolver

0 commit comments

Comments
 (0)