Dankowicz authors "Recipes for Continuation"
Published in May 2013, the book is meant to be used in tandem with a MATLAB-based software platform, the Computational Continuation Core (COCO). Both the book and the development platform are products of a joint effort by MechSE professor Harry Dankowicz and Dr. Frank Schilder from the Technical University of Denmark.
The text is intended for upper-level undergraduate students and first-year graduate students in applied mathematics as well as computational science and engineering. COCO provides a unique toolbox-development platform and interface that is making major advances in the field of computational analysis of multi-parameter nonlinear equations.
The idea for the textbook and the development platform originated at a conference in 2007, celebrating the 60th birthday of Eusebius Doedel, a professor of computer science and software engineering at Concordia University. In the 1980s, Doedel authored AUTO, at the time a unique software package for using continuation methods to analyze bifurcations in dynamical systems.
"It provided a straightforward and unparalleled interface to computational bifurcation analysis that proved both timely and innovative, and that remained on the leading edge of user-friendly tools for a very long time," Dankowicz said.
Dankowicz and Schilder, both present at the celebratory event, convened again later in the fall at Illinois, where they envisioned the creation of a next-generation software platform targeted to developers and users alike. The result, COCO, was based in equal parts on the integration of sophisticated mathematical algorithms, modern software engineering paradigms, and application-oriented design.
In "Recipes for Continuation," the authors focus on the analysis of nonlinear differential equations to illustrate the use of COCO as a tool for user-level interaction and exploration, but also as a "platform for toolbox development."
Individual toolboxes collect the characteristic features of a particular class of nonlinear problems and contain utility functions and problem encodings specific to the solutions of these problems.
"The book provides the mathematical foundations of toolbox development, describes an object-oriented paradigm of hierarchical problem definitions, with toolbox instances embedded within other toolbox instances, and then shows lots of explicit examples of how to implement these ideas in practice," Dankowicz said.
Example toolboxes in the book, and the specific problems used to illustrate the application of these toolboxes, are drawn from research questions in the applied mathematics literature. These include questions relevant to engineering system dynamics analysis, such as the vibration response to external excitation, the stability of periodic responses in mechanical systems with impacts and friction, or the sensitivity of transient and steady-state behavior to changes in design parameters.
A key design feature of COCO is its support for the concept of constrained continuation. This allows run-time decisions to determine the course of the computational analysis, rather than relying on hard-coded implementation. To engineers, this feature allows for a computational exploration of the safe limits of operation of a system design without relying on any forehand knowledge of these limits.
COCO's task-embedding paradigm further supports its integration with stand-alone, commercial simulation platforms such as the multiphysics software package COSMOL.
"The straightforward coupling of COCO with third-party software would not have been possible without careful attention to such functionality in the original software design process," Dankowicz said.
Another unique feature of COCO is its support for algorithms used to build a description of a hypersurface embedded in a high-dimensional problem space.
"If you have more unknowns than equations, your solution space is a family of points in a space of as many dimensions as the number of unknowns. Often, this family forms a hypersurface, a manifold, that generalizes concepts of three-dimensional geometry to many dimensions," Dankowicz said. "This is very common in engineering applications, in which the excess of unknowns represents design parameters that may be varied for optimal performance."
Once readers learn about the design and implementation of toolboxes and their potential to perform a range of calculations, the book teaches the fundamentals of mapping out such hypersurfaces. "Recipes for Continuation" demonstrates these ideas through a sequence of example algorithms for one- and two-dimensional solution families. It then explains how to detect special points along such families, points associated with changes to dynamical stability or other critical thresholds.
The book also reminds readers that computations always return approximate results.
"When you work with a computer, you are always limited to finite-dimensional approximations. Unknown functions are represented in terms of known basis functions, and real numbers are rounded off to finite precision," Dankowicz said. "As long as your code executes, numbers will come out; so how can you judge their fidelity?"
In the last part on adaptation, the book demonstrates modifications to toolboxes that can be implemented to build confidence in the numerical results. By integrating such confidence-building facilities with the tools used to map out hypersurfaces, a desired level of fidelity can be maintained throughout a computation.
"As you change your design parameters, you want to make sure that your confidence remains the same," Dankowicz said.
"Recipes for Continuation" will be the required course text for a TAM 598 special topics class in Spring 2014.