I might have hit a bug, but I am noticing that often, for example when dealing with LP-C curves, upon re-running the ipython (jupyter) cell with the same code, I obtain different results from run to run: meaning that with respect to the first run, on further runs either some bifurcations go missing, or the system does not converge... I am not doing any other continuation in between runs. I am just re-running the same notebook cell. What could be the source of this issue? Looks like there is a possible memory leak somewhere...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I can confirm this once again. Either from detection of spurious ZH points to failure to converge in the recomputation of just computed branches with the identical parameters... It looks a bit suspicious...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, Maurizio. I think the non-reproducibility is due to the random default initialization of the tangent vector. This is done to avoid causing numerical issues with the linear algebra routines. Essentially, if I give a fixed default tangent vector, it might lead to a singular matrix for a very specific problem. Choosing a random one effectively makes this possibility zero for all systems. Try choosing a fixed initial tangent vector. Let's see if we can't get the reproducibility thing fixed before dealing with the spurious bifurcation points.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks Drew.
I am going to check it. How can I choose the tangent vector and feed it to the continuer however? Should I just temporarily alter Continuation.py or can I set it by a method/argument of the continuer class?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I might have hit a bug, but I am noticing that often, for example when dealing with
LP-C
curves, upon re-running theipython
(jupyter
) cell with the same code, I obtain different results from run to run: meaning that with respect to the first run, on further runs either some bifurcations go missing, or the system does not converge... I am not doing any other continuation in between runs. I am just re-running the same notebook cell. What could be the source of this issue? Looks like there is a possible memory leak somewhere...I can confirm this once again. Either from detection of spurious
ZH
points to failure to converge in the recomputation of just computed branches with the identical parameters... It looks a bit suspicious...Hi, Maurizio. I think the non-reproducibility is due to the random default initialization of the tangent vector. This is done to avoid causing numerical issues with the linear algebra routines. Essentially, if I give a fixed default tangent vector, it might lead to a singular matrix for a very specific problem. Choosing a random one effectively makes this possibility zero for all systems. Try choosing a fixed initial tangent vector. Let's see if we can't get the reproducibility thing fixed before dealing with the spurious bifurcation points.
Thanks Drew.
I am going to check it. How can I choose the tangent vector and feed it to the continuer however? Should I just temporarily alter
Continuation.py
or can I set it by a method/argument of the continuer class?You can specify the
initdirec
argument of the continuer class, as a dictionary.