@@ -678,7 +678,7 @@ function build_null_solution(prob::AbstractDEProblem, args...;
678678 end
679679
680680 timeseries = [Float64[] for i in 1 : length (ts)]
681-
681+
682682 if SciMLBase. has_initializeprob (prob. f) && SciMLBase. has_initializeprobpmap (prob. f)
683683 initializeprob = prob. f. initializeprob
684684 nlsol = solve (initializeprob)
@@ -1427,6 +1427,7 @@ function check_prob_alg_pairing(prob, alg)
14271427 prob isa SDDEProblem && ! (alg isa AbstractSDEAlgorithm) ||
14281428 prob isa DDEProblem && ! (alg isa AbstractDDEAlgorithm) ||
14291429 prob isa DAEProblem && ! (alg isa AbstractDAEAlgorithm) ||
1430+ prob isa BVProblem && ! (alg isa AbstractBVPAlgorithm) ||
14301431 prob isa SteadyStateProblem && ! (alg isa AbstractSteadyStateAlgorithm)
14311432 throw (ProblemSolverPairingError (prob, alg))
14321433 end
@@ -1460,8 +1461,10 @@ function check_prob_alg_pairing(prob, alg)
14601461 if ! SciMLBase. allows_arbitrary_number_types (alg)
14611462 if isdefined (prob, :u0 )
14621463 uType = RecursiveArrayTools. recursive_unitless_eltype (prob. u0)
1464+ u0_as_initial_guess = (prob isa BVProblem) && (uType <: Vector )
14631465 if Base. isconcretetype (uType) &&
1464- ! (uType <: Union{Float32, Float64, ComplexF32, ComplexF64} )
1466+ ! (uType <: Union{Float32, Float64, ComplexF32, ComplexF64} ) &&
1467+ ! u0_as_initial_guess
14651468 throw (GenericNumberTypeError (alg,
14661469 isdefined (prob, :u0 ) ? typeof (prob. u0) :
14671470 nothing ,
0 commit comments