Julia:什么时候在微分方程系统中输入 true 或 false?

Julia: When to type true or false in DifferentialEquations systems?

我从 DiffEqFinancial.jl 的源代码中汲取灵感来正确设置我自己的系统。我不明白下面代码片段中 truefalse 的用途:

sde_f = SDEFunction{true}(f,g)

SDEProblem{false}(f,g,u0,tspan;kwargs...)

那么 {true}{false} 在这种情况下做了什么?

我想知道我是否也应该在我自己的用户代码中包含它。我隐约知道“严格键入类型,松散键入函数”这句格言,所以我想知道为什么要在这里键入。

发布我的问题几个小时后,我找到了作者本人 Chris Rackauckas 的答案。引用:

if you are creating thousands of really small ODEProblems and want to avoid the dynamic checking going on, then you should do ODEProblem{false}(...) or ODEProblem{true}(...), i.e. directly declare whether it’s in in-place or out-of-place form. Normally this isn’t a huge deal so it’s not mentioned very often in the documentation, but it’s in there since there are scenarios where this helps.

来源:Chris Rackauckas