Dear Alex, I forwarded your query to Jan Sieber (University of Exeter) who is the developer of symcoco. He shared the following (edited for clarity): The outcome appears to depend on the version of Matlab used and does not occur with the version used by Jan. The problem that you have encountered is mentioned in doc-src/symcoco-doc.pdf in the section that discusses inputs to sco_sym2funcs. The symbolic code generation in the version used by you creates functions that sometimes include "end" and sometimes...
Thank you, Joseph, for the question. The most recent release of COCO provides new general-purpose support for generic branch switching (that was originally motivated by and is compatible also with analysis of symmetry-breaking bifurcations in dynamical systems with symmetries). As a result, constructors of the form ===BP2TYPE have all been deprecated in favor of the corresponding ===TYPE2TYPE constructor and the assignment of 'switch' to the 'branch' property of the 'cont' settings. You can find...
I am thinking of an example where the family of solutions lies on a circle with two fold points at either extreme. The default atlas algorithm then keeps going around and around, since it has no memory of the parts of the atlas that have been covered previously. An alternative is the atlas-kd algorithm, which does retain such a memory (it is similar to the advancing front algorithm in Recipes for Continuation). To switch atlas algorithm, use coco_set(prob, 'cont', 'atlas', 'kd'). Best, Harry
Ah, I understand now that 'BP' in your question refers to the event string used by the atlas algorithm for branch points, not an event type of 'BP', i.e., a boundary. I am proposing a path below, which I believe addresses your need, but I haven't tried it and would probably need to experiment a bit to make it work. You would like the code to track the number of events of a certain type that have been encountered during continuation and take an action that depends on this number, e.g., terminate continuation...
Hi Jonathan, As you can see by typing help coco_add_event on the command line, event signatures come in several different forms, depending on the desired function. The 'BP' or 'boundary' event type defines a computational boundary beyond which continuation will not proceed, although it may still go in other directions from any available chart. The 'MX' or 'terminate' event type, on the other hand terminates continuation entirely. I can't tell from your question whether you are relying on an event...
Hi Marc, Yes, the problem is that when the solution type is a periodic orbit, the plotting routine by default assumes the existence of a po.test.USTAB column in the corresponding bifurcation data array. You can turn this off by changing thm = struct('special', {{'EP'}}); to thm = struct('ustab', '', 'special', {{'EP'}}); I hope that helps. /Harry
Yes, both syntaxes are correct. This is the meaning of 'log|on', as in logical (true/false) or on/off. A cursory glance suggests that this should work for all po constructors and I have no reason to believe this is not the case. If you are willing to share your script, I can have a look. Best, Harry
Amplitude definitions