A common solve function
Author JuliaDiffEq
4 Stars
Updated Last
11 Months Ago
Started In
July 2019


This holds the common solve command. The rules are that you must dispatch on one of your own types. That's it. No pirates.

Oh and there're init and solve! as well.

General recommendation

solve function has the default definition

solve(args...; kwargs...) = solve!(init(args...; kwargs...))

So, we recommend defining

init(::ProblemType, args...; kwargs...) :: SolverType
solve!(::SolverType) :: SolutionType

where ProblemType, SolverType, and SolutionType are the types defined in your package.

To avoid method ambiguity, the first argument of solve, solve!, and init must be dispatched on the type defined in your package. For example, do not define a method such as

init(::AbstractVector, ::AlgorithmType)

Required Packages

No packages found.