Menu

November 17, 2017 release of COCO

A major new release of COCO was posted to the SourceForge site on November 17, 2017.

The following is a summary of changes since last announced release in November 2015 (more details below):

  • Fully documented support for general-purpose, staged construction of adjoint equations, consistent with COCO’s object-oriented construction paradigm and the decomposition of continuation problems into coupled instances of individual continuation objects.
  • Full support for adaptive remeshing of adjoint equations, consistent with adaptive updates to the problem discretization along families of solutions to integro-differential boundary-value problems.

  • Detailed core and toolbox tutorials and demos illustrating a method of successive continuation for constrained single-objective optimization along

    • Solutions to arbitrary algebraic continuation problems;
    • Families of equilibrium points in autonomous dynamical systems;
    • Families of constrained trajectory segments, e.g., periodic orbits;
    • Solutions to composite continuation problems, e.g., coupled periodic orbits.
  • Partially documented support for core and toolbox-specific visualization themes and utilities that simplify the construction of bifurcation diagrams and other graphical representations of the properties of individual solutions.

=========================

COCO is the result of software development by Frank Schilder and Harry Dankowicz that began in 2007, with contributions by Michael Henderson, Erika Fotsch, and Mingwu Li. COCO aims to provide a development platform for advanced toolbox and atlas algorithm development, but also to enable all the functionality of existing continuation packages in a user-accessible format.

The basic philosophy of COCO and the detailed development of template toolboxes and atlas algorithms, as well as explicit code examples, are documented in the book Recipes for Continuation, published by SIAM in 2013. This e-mail describes work done by the developers subsequent to the publication of this book.

The November 2017 release contains:

New definition of COCO-compatible continuation problems:
The COCO core has been augmented to make it compatible with an expanded definition of COCO-compatible continuation problems, for example in support of simultaneous continuation of a zero problem and the associated adjoint conditions. New core constructors have been implemented to support staged construction of the adjoint functions and the associated continuation multipliers. See help/CORE-Tutorial.pdf for tutorial and reference documentation for cocoaddfunc and cocoaddadjt, including a fully documented example of single-objective optimization along a family of solutions to an algebraic continuation problem and related exercises.

The code has been tested with Matlab R2016b.

COCO visualization themes and graphing utilities:
The COCO core now includes a set of visualization utilities that automate the extraction of information from data stored to disk during continuation and generate two- and three-dimensional representations according to problem-specific visualization themes. See help/CORE-Tutorial.pdf for tutorial and reference documentation for cocoplotbd and cocoplotsol, as well as toolbox demos for examples of use.

The code has been tested with Matlab R2016b.

Production-ready toolboxes, including fully documented source code, examples, and tutorials:
The ep, coll, and po folders in the release contain toolboxes and demos for

  • Continuation and bifurcation analysis of equilibria in smooth, autonomous dynamical systems. Automated support for construction of the associated adjoint equations. New visualization theme and plotting routines. Seven fully documented examples, including detection and continuation of codimension-one bifurcations, continuation of isolas, continuation of approximate eigenfunctions of a discretized Laplacian, and constrained single-objective optimization along a family of equilibria. See help/EP-Tutorial.pdf for tutorial and reference documentation, including additional exercises.

  • Continuation of collections of constrained trajectory segments with independent adaptive discretization in autonomous or non-autonomous dynamical systems, including single- and multi-segment boundary-value problems. Automated support for construction of the associated adjoint equations. New visualization theme and plotting routines. Twelve fully documented examples, including continuation of solutions to two-point boundary-value problems, continuation of approximate homoclinic orbits, continuation of periodic orbits in autonomous and non-autonomous encodings, continuation of quasiperiodic invariant tori, and constrained optimization along families of solutions to single and coupled two-point boundary-value problems. See help/COLL-Tutorial.pdf for tutorial and reference documentation, including additional exercises.

  • Continuation and bifurcation analysis of single-segment periodic orbits in smooth, autonomous or non-autonomous dynamical systems, and multi-segment periodic orbits in hybrid, autonomous dynamical systems. Automated support for construction of the associated adjoint equations. New visualization theme and plotting routines. Twelve fully documented examples, including detection and continuation of codimension-one bifurcations, continuation along a canard family in a slow-fast system, frequency response analysis of linear and nonlinear oscillators with harmonic and bang-bang excitation, continuation of periodic orbits in piecewise-smooth and vibro-friction-impact oscillators, and constrained optimization of an integral functional along a family of periodic orbits. See help/PO-Tutorial.pdf for tutorial and reference documentation, including additional exercises.

The code has been tested with Matlab R2016b.

**Online documentation of code associated with Recipes for Continuation: **
The recipes folder in the release contains all the code printed in Recipes for Continuation, including toolboxes and demos, as well as code used to generate most of the figures in the book. The code is extensively commented and documented, and is further accompanied by help files that may be read and navigated using the Matlab help browser. To explore this content, after installation, type the command “doc recipes” on the command line.

The code has been tested with Matlab R2015a.

A multi-dimensional atlas algorithm:
An experimental, user-accessible, multi-dimensional atlas algorithm (atlaskd) is available in the covering folder. This is based on joint development with Michael Henderson and Erika Fotsch and includes full step-size adaptivity. The covering/examples/manifolds folder contains several partially commented examples of continuation along one- and two-dimensional manifolds, including continuation within computational domain boundaries and large variations in curvature.

The code has been tested with Matlab R2012b.

Continuation in experiments:
The continex folder in the release contains an alpha-version of a COCO-compatible toolbox for continuation of periodic orbits in physical experiments. See http://www.continex.mek.dtu.dk for further details.

COCO reference and tutorials:
An introductory suite of video tutorials illustrating the core principles of continuation and their implementation in COCO is available at http://danko.mechanical.illinois.edu/coco_tutorials.htm. The video files are also accompanied by a complete transcript. A COCO short reference guide for command-line use is available in help/COCOShortRef.pdf. This includes core commands and describes calling syntax and use. Some more esoteric commands that are useful for toolbox development are described in context in Recipes for Continuation, and may be added to the short reference guide in the future.

Posted by Harry Dankowicz 2017-11-18

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.