Julia:什么时候在微分方程系统中输入 true 或 false?
Julia: When to type true or false in DifferentialEquations systems?
我从 DiffEqFinancial.jl 的源代码中汲取灵感来正确设置我自己的系统。我不明白下面代码片段中 true
和 false
的用途:
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.
我从 DiffEqFinancial.jl 的源代码中汲取灵感来正确设置我自己的系统。我不明白下面代码片段中 true
和 false
的用途:
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.