-
-
Notifications
You must be signed in to change notification settings - Fork 76
Description
Hello, it's been a while since I've been trying this package before and I'm happy to try it again, now that I see that there are many new solvers etc.
The issue I'm facing is the following (rather a generic question than a bug report).
I'm trying to simulate eqs. (5) from this paper for the case of a single mode; i.e. the subindex drops and no coupling terms
An observable of interest is the particle number
When solving eqs. (5) however, by starting from an
This lower result for
*manual implementations of Euler-Mayurama and Milstein in MATLAB with a pretty small timestep. Typically a small amount of trajectories (less than 0.1% depending on the timestep) will diverge and is thus disregarded
*I contacted the author of the paper, he used some kind of semi-implicit midpoint method after transformation to the Stratonovich sense, and also saw numerical instabilities. His belief is that is the omission of the diverged trajectories introduces a bias that gives the offset in the results.
*Meanwhile, I tried using the DiffEq. solvers here. Ensemblesimulation didn't work easily either (it gave warnings about stability indeed-I didn't try to optimize any further-, plus I also didn't quite figure out how to obtain N from the ensemble-output). However, if I just solve the equations with Julia in a for loop and use the default solver, all results (out of 10^5) remain nicely finite, no warnings about tolerances or so. And it leads again to the biased value for N above.
To understand the discrepancy, I'm wondering if a stiff solver could have been selected as a default, and if it could have kept trajectories artificially in check that should have diverged in reality? Or must any converged result be genuine?