Open rvignolo opened 4 years ago
I'll have to double check the requirements for Order 1.5 by Rossler.
Are you referring to this paper? If this is the case, I am afraid Rossler used the same definition for diagonal noise as Kloeden and Platen (check out Section 6.4).
This would mean that many examples, including the one presented in the showcase (the second part), are not fully correct?
Thanks Chris!
I see. So the example isn't incorrect per-say, but there's probably order loss with the method. It would be good to try putting together a convergence test to see what the order loss is like. It probably only gets strong order 0.5 on examples like that. Could you run an analyticless convergence test on some other system to find out? (Some other system because a convergence test on a chaotic system is hard unless it's short)
https://github.com/SciML/StochasticDiffEq.jl/blob/master/test/noncommutative_tests.jl#L79-L82
Exactly, what is going to happen is that there will be order loss!
I don't know why the theory always jumps from diagonal noise with such restrictive conditions to commutative noise. In the middle of those two noises, there is the case where the diffusion matrix is diagonal and each component can depend on any other processes.
What I have done in the past is to add the terms in the discretization scheme that do not vanish if the matrix is diagonal but each element can depend on any process. Maybe we can achieve that for some discretization schemes.
I am sorry for my delay! I will test all these cases once I get time, following your suggestions!
I don't know why the theory always jumps from diagonal noise with such restrictive conditions to commutative noise. In the middle of those two noises, there is the case where the diffusion matrix is diagonal and each component can depend on any other processes.
I think no one has specialized a method on it. The common case here is always multiplicative noise, so that's handled. Commutative noise is natural because that's the case where the iterated integrals vanish. But indeed, if you can find a way to exploit the middle ground, that might be interesting.
No one specialized methods on it, that is correct. I think that what I did was to take commutative noise and remove some terms or take the nonautonomous general multi-dimensional version of the discretization and remove some terms. However, I have some documentation and it is already coded. For example, this is one out of six discretizations I have and it might be incorporated (if it has not already been included) in DifferentialEquations.jl:
Multiplicative noise is always the more common case. However, in finance, many fundamental processes do not fall in multiplicative noise either diagonal noise, such as the Heston Model:
Thanks!
Hi @ChrisRackauckas,
I just wanted to know what means diagonal noise in the context of DifferentialEquations.jl.
For example, Peter E. Kloeden and Eckhard Platen in "Numerical Solution of Stochastic Differential Equations" refer to diagonal noise as:
"... each component
X^k
of the Ito processX
is disturbed only by the corresponding componentW^k
of the Wiener processW
and the diagonal diffusion coefficientb^{k,k}
depends only onx^k
."This means that the diffusion matrix is diagonal + each element
k,k
in the diagonal only depends on the processk
so that partial derivatives with respect to other processes are 0.Both conditions greatly reduce the number of terms that appear in each scheme (or algorithm) for SDE solving. However, I am not sure if DifferentialEquations.jl is taking into account the second condition, i.e.: elements
k,k
in the diagonal must only depend on processx^k
.For example, here it seems that diagonal noise refers ONLY to a diagonal matrix. If this is the case, I need to be sure that diagonal noise algorithms don't neglect the terms with partial derivatives.
Thanks!