Skip to content

Commit 3feb8d2

Browse files
Merge branch 'master' into add-additative-noise-trait
2 parents 14b761e + 91f1651 commit 3feb8d2

16 files changed

+69
-18
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "SciMLBase"
22
uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
33
authors = ["Chris Rackauckas <[email protected]> and contributors"]
4-
version = "2.50.5"
4+
version = "2.52.0"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"

src/alg_traits.jl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,3 +263,25 @@ function is not a function of `u`.
263263
Defaults to false
264264
"""
265265
requires_additive_noise(alg::AbstractSDEAlgorithm) = false
266+
267+
EnumX.@enumx AlgorithmInterpretation Ito Stratonovich
268+
269+
"""
270+
alg_interpretation(alg)
271+
272+
Integral interpolation for the SDE solver algorithm. SDEs solutions depend on the chosen definition of the stochastic integral. In the Ito calculus,
273+
the left-hand rule is taken, while Stratonovich calculus uses the right-hand rule. Unlike in standard Riemannian integration, these integral rules do
274+
not converge to the same answer. In the context of a stochastic differential equation, the underlying solution (and its mean, variance, etc.) is dependent
275+
on the integral rule that is chosen. This trait describes which interpretation the solver algorithm subscribes to, and thus whether the solution should
276+
be interpreted as the solution to the SDE under the Ito or Stratonovich interpretation.
277+
278+
For more information, see https://oatml.cs.ox.ac.uk/blog/2022/03/22/ito-strat.html as a good high-level explanation.
279+
280+
!!! note
281+
282+
The expected solution statistics are dependent on this output. Solutions from solvers with different
283+
interpretations are expected to have different answers on almost all SDEs without additive noise.
284+
"""
285+
function alg_interpretation(alg::AbstractSciMLAlgorithm)
286+
error("Algorithm interpretation is not defined for this algorithm. It can be either `AlgorithmInterpretation.Ito` or `AlgorithmInterpretation.Stratonovich`")
287+
end

src/problems/dae_problems.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
Defines an implicit ordinary differential equation (ODE) or
44
differential-algebraic equation (DAE) problem.
5-
Documentation Page: https://docs.sciml.ai/DiffEqDocs/stable/types/dae_types/
5+
Documentation Page: [https://docs.sciml.ai/DiffEqDocs/stable/types/dae_types/](https://docs.sciml.ai/DiffEqDocs/stable/types/dae_types/)
66
77
## Mathematical Specification of an DAE Problem
88

src/problems/dde_problems.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ struct StandardDDEProblem end
66
@doc doc"""
77
88
Defines a delay differential equation (DDE) problem.
9-
Documentation Page: https://docs.sciml.ai/DiffEqDocs/stable/types/dde_types/
9+
Documentation Page: [https://docs.sciml.ai/DiffEqDocs/stable/types/dde_types/](https://docs.sciml.ai/DiffEqDocs/stable/types/dde_types/)
1010
1111
## Mathematical Specification of a DDE Problem
1212

src/problems/discrete_problems.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const DISCRETE_OUTOFPLACE_DEFAULT = DiscreteFunction{false}((u, p, t) -> u)
44
@doc doc"""
55
66
Defines a discrete dynamical system problem.
7-
Documentation Page: https://docs.sciml.ai/DiffEqDocs/stable/types/discrete_types/
7+
Documentation Page: [https://docs.sciml.ai/DiffEqDocs/stable/types/discrete_types/](https://docs.sciml.ai/DiffEqDocs/stable/types/discrete_types/)
88
99
## Mathematical Specification of a Discrete Problem
1010

src/problems/implicit_discrete_problems.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@doc doc"""
22
33
Defines a discrete dynamical system problem.
4-
Documentation Page: https://docs.sciml.ai/DiffEqDocs/stable/types/discrete_types/
4+
Documentation Page: [https://docs.sciml.ai/DiffEqDocs/stable/types/discrete_types/](https://docs.sciml.ai/DiffEqDocs/stable/types/discrete_types/)
55
66
## Mathematical Specification of a ImplicitDiscrete Problem
77

src/problems/integral_problems.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@doc doc"""
22
33
Defines an integral problem.
4-
Documentation Page: https://docs.sciml.ai/Integrals/stable/
4+
Documentation Page: [https://docs.sciml.ai/Integrals/stable/](https://docs.sciml.ai/Integrals/stable/)
55
66
## Mathematical Specification of an Integral Problem
77

src/problems/linear_problems.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@doc doc"""
22
33
Defines a linear system problem.
4-
Documentation Page: https://docs.sciml.ai/LinearSolve/stable/basics/LinearProblem/
4+
Documentation Page: [https://docs.sciml.ai/LinearSolve/stable/basics/LinearProblem/](https://docs.sciml.ai/LinearSolve/stable/basics/LinearProblem/)
55
66
## Mathematical Specification of a Linear Problem
77

src/problems/ode_problems.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ struct StandardODEProblem end
66
@doc doc"""
77
88
Defines an ordinary differential equation (ODE) problem.
9-
Documentation Page: https://docs.sciml.ai/DiffEqDocs/stable/types/ode_types/
9+
Documentation Page: [https://docs.sciml.ai/DiffEqDocs/stable/types/ode_types/](https://docs.sciml.ai/DiffEqDocs/stable/types/ode_types/)
1010
1111
## Mathematical Specification of an ODE Problem
1212

src/problems/optimization_problems.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
@doc doc"""
44
55
Defines an optimization problem.
6-
Documentation Page: https://docs.sciml.ai/Optimization/stable/API/optimization_problem/
6+
Documentation Page: [https://docs.sciml.ai/Optimization/stable/API/optimization_problem/](https://docs.sciml.ai/Optimization/stable/API/optimization_problem/)
77
88
## Mathematical Specification of an Optimization Problem
99

0 commit comments

Comments
 (0)