@@ -46,6 +46,15 @@ function defaultalg(A, b::GPUArraysCore.AbstractGPUArray, ::OperatorAssumptions{
46
46
end
47
47
end
48
48
49
+ function defaultalg (A:: SciMLBase.AbstractDiffEqOperator , b, assumptions:: OperatorAssumptions )
50
+ KrylovJL_GMRES ()
51
+ end
52
+
53
+ # Ambiguity handling
54
+ function defaultalg (A:: SciMLBase.AbstractDiffEqOperator , b, assumptions:: OperatorAssumptions{nothing} )
55
+ KrylovJL_GMRES ()
56
+ end
57
+
49
58
# Handle ambiguity
50
59
function defaultalg (A:: GPUArraysCore.AbstractGPUArray , b:: GPUArraysCore.AbstractGPUArray ,
51
60
:: OperatorAssumptions{true} )
@@ -70,6 +79,8 @@ function defaultalg(A::GPUArraysCore.AbstractGPUArray, b::GPUArraysCore.Abstract
70
79
QRFactorization ()
71
80
end
72
81
82
+
83
+
73
84
# Allows A === nothing as a stand-in for dense matrix
74
85
function defaultalg (A, b, :: OperatorAssumptions{true} )
75
86
# Special case on Arrays: avoid BLAS for RecursiveFactorization.jl when
119
130
120
131
function init_cacheval (alg:: Nothing , A, b, u, Pl, Pr, maxiters:: Int , abstol, reltol,
121
132
verbose:: Bool , assumptions:: OperatorAssumptions )
122
- init_cacheval (default_alg (A, b), A, b, u, Pl, Pr, maxiters, abstol, reltol, verbose,
133
+ init_cacheval (default_alg (A, b, assumptions ), A, b, u, Pl, Pr, maxiters, abstol, reltol, verbose,
123
134
assumptions)
124
135
end
0 commit comments