I miss in the documentation a full list of (advanced) options to be used in coco_set for the user.
I have found (with some effort) the following list, but are not sure it is all.
%settings that I could find
% Merge default class settings with cont argument.
%
% This file is part of the atlas_kd toolbox, copyright (C) Michael
% Henderson, Frank Schilder, Harry Dankowicz, Erika Fotsch, of the package
% COCO (http://sourceforge.net/projects/cocotools).
%
% defaults.h = 0.1; % Initial step size
% defaults.h_max = 1; % Maximum step size
% defaults.h_min = 0.001; % Minimum step size
% defaults.h_fac_min = 0.5; % Minimum step size adaptation factor
% defaults.h_fac_max = 2.0; % Maximum step size adaptation factor
% defaults.ga = 0.95; % Adaptation security factor
% defaults.MaxRes = 0.1; % Maximal residuum for prediction step
% defaults.PtMX = 50; % Maximum number of continuation steps
% defaults.theta = 0.5; % Theta method
% defaults.almax = 35; % Critical angle between successive tangent vectors
% defaults.Rmarg = 1.05; % Scale for cube
prob = coco_set(prob,'cont','h0',0.1);
prob = coco_set(prob,'cont','h_max',h_max);
prob = coco_set(prob,'cont','h_min',h_min);
prob = coco_set(prob,'cont','PtMX',100);
prob = coco_set(prob,'cont','LogLevel',1);
prob = coco_set(prob,'corr','ItMX',10); %max # of iterations before step is reduced
prob = coco_set(prob,'corr','SubItMX',7); %# of damping steps
prob = coco_set(prob,'corr','TOL',1.00E-006); %Tolerance of Newton correction
prob = coco_set(prob,'corr','ResTOL',1.00E-006); %Converge criterion of norm of the residium
prob = coco_set(prob,'corr','LogLevel',1);
% EP settings
% 'bifus', 'log|on', true, 'switch', {}, 'enable/disable detection of bifurcations'
% 'USTAB', 'log|on', true, 'switch', {}, 'monitor number of unstable eigenvalues'
% 'SN', 'log|on', true, 'switch', {}, 'detect saddle-node bifurcations'
% 'HB', 'log|on', true, 'switch', {}, 'detect Hopf bifurcations'
% 'NSA', 'log|on', false, 'switch', {}, 'detect neutral saddle points'
% 'BTP', 'log|on', true, 'switch', {}, 'detect Bogdanov-Takens points'
% ODE settings
% 'vectorized', 'log|on', true, 'switch', {}, 'enable/disable vectorized evaluation'
% 'autonomous', 'log|on', true, 'switch', {}, 'indicate whether ODE is autonomous or not'
%
%PO_GET_SETTINGS Merge PO toolbox settings with default values.
% spec = {% Name Type Default Action Args Description
% 'bifus', 'log|on', true, 'switch', {}, 'enable/disable detection of bifurcations'
% 'USTAB', 'log|on', true, 'switch', {}, 'monitor number of unstable eigenvalues'
% 'SN', 'log|on', true, 'switch', {}, 'detect saddle-node bifurcations'
% 'PD', 'log|on', true, 'switch', {}, 'detect period-doubling bifurcations'
% 'TR', 'log|on', true, 'switch', {}, 'detect torus bifurcations'
% 'NSA', 'log|on', false, 'switch', {}, 'detect neutral saddle points'
I was thinking a lot about a systematic way to query toolbox options. Unfortunately, Matlab's path-oriented way of managing toolboxes is a bit outdated. Matlab does not offer any form of registration, activation or deactivation of toolboxes (similar to plug-ins).
The main question is, how to find out what COCO toolboxes are installed, considering the possibility of third-party toolboxes that do not come from us. One possibility could be to mark a COCO toolobox with a file with a fixed name. This file can be a script that constructs a toolbox information struct, containing version information, settings, default values etc.
As a short-term solution, I'm in the process of adding a user manual section to COCO's short reference, which will contain this information as static text.
Additional parameters :
prob = coco_set(prob, ’cont’, ’NAdapt’, 1);adaptive setting of the Atlas algorithm (see [PO-Tutorial.pdf, p. 5])
As described in Section 2 of ATLAS-Tutorial.pdf, you can see the settings associated with the 'atlas_1d' atlas algorithm by typing
atlas_1d_settingson the command line. When you write'cont'in the call tococo_set, you are specifying that the following name-value pair defines a setting associated with the atlas algorithm. In your example, you are setting the'NAdapt'setting to 1, implying that adaptive updates will be made to the zero problem before each new continuation step.Individual toolboxes also have functions for exploring the toolbox settings. For example, typing
coll_settingson the command line prints the available settings associated with the 'coll' toolbox to screen.Last edit: Harry Dankowicz 2023-12-08
Those coll_settings etc. commands are very useful. This solves this issue, thank you!