The book reviewed here is one of three different versions, all
authored by Stephen Lynch. It includes code for the computer algebra
system (CAS) Mathematica, whereas the other two versions use Matlab
and Maple code. These have not been reviewed,
but it is to be expected that they are very similar to the Mathematica version. Lynch's book gives a broad introduction to
various topics in the area of dynamical systems. Some are standard
methods and classical results as they may be found in undergraduate
or graduate textbooks. Others are subjects of current research and
may be of interest to researchers both within and outside the area
of dynamical systems. The variety of subjects covered makes this
book excellent reading not only for people new to the field; it is
also a great way for the specialist to inform herself or himself
about other areas and applications of dynamical systems. In the
opinion of this reviewer, it is the applied aspects of dynamical
systems that make this book an exciting and worthwhile read.
In each chapter, basic definitions and results related to the topic
under discussion are presented. The presentation is very clear and
focused, and, as far as each subject allows, non-technical. Formal
proofs are given sparingly, and only for results that admit short
and straight-forward arguments. The unifying theme of this book is
to give the reader an idea of each subject by discussing well-chosen
examples. Mostly, this discussion involves using a CAS to check
conditions of theorems, perform numerical or symbolic calculations,
or utilize the CAS's graphing capabilities. Readers are invited to
download the CAS code from a web site. Practice problems at the end
of each chapter give the reader the opportunity to use and adapt
this code. In general, these practice problems were found to be
rather straightforward, and many of them are suitable for
undergraduate students. At the end of each chapter a list of
relevant references, comprising both standard reference texts and
research articles, is given. These references offer a great inroads
for readers who desire to learn more about the subject discussed in
the chapter. In the following, we give a brief chapter-by-chapter
overview of the book.
Chapter 0 is meant as a quick introduction to Mathematica and
briefly touches upon commonly used features of the software. This
introduction is useful for readers who generally are familiar with
another CAS or who need a quick refresher in using Mathematica.
Readers who wish to gain a thorough understanding of Mathematica are
advised to turn to some of the references given at the end of this
chapter.
Chapter 1 presents basic solution methods for first-order
differential equations. Two important types of applications that
appear in later chapters of the book are introduced: chemical
reaction equations and electrical circuits. Chapter 2 deals with
qualitative and geometric methods of analyzing two-dimensional
systems of autonomous differential equations. Chapter 3 presents
applications to population dynamics. Models of competition and
coexistence of two species and predator-prey models including the Lotka-Volterra model and the Holling-Tanner model are discussed.
Chapter 4 marks a departure from material customarily found in
differential equations textbooks. It focuses on criteria for
existence, non-existence or uniqueness of limit cycles. In
particular, the Poincaré-Bendixson Theorem, Dulac's Criterion,
and Bendixson's Criterion are stated. Examples include Liénard
systems, and perturbation methods for obtaining general solutions to
Duffings's and van der Pol's equation are presented. Here, the
advantages of using a CAS instead of a numerical solver come to
bear. Chapter 5 gives a brief introduction to two-dimensional
Hamiltonian systems and introduces Lyapunov functions. Chapter 6
deals with bifurcations of planar systems. Generic bifurcations are
presented, examples of bi-stable systems and a system with a
large-amplitude limit cycle bifurcation are given.
Chapter 7 deals with three-dimensional systems of autonomous
differential equations. Examples of chaotic systems include the
Rössler system, the Lorenz system, Chua's circuit and the
Belousov-Zhabotinski reaction. In Chapter 8, Poincaré maps are
used to analyze higher-dimensional systems such as Hamiltonian
systems with two degrees of freedom and the Duffing equation as an
example of a non-autonomous system in the plane. Chapter 9 deals
with the process of bifurcating limit cycles from a center.
Gröbner bases and Melnikov integrals are introduced. This
chapter is rather technical and relies heavily on the use of CAS.
Chapter 10 opens the door to a subject of intense current research:
the second part of Hilbert's Sixteenth Problem. Some results related
to this problem are stated. The remainder of the chapter is devoted
to introducing Poincaré compactification, and presenting global
and local results for Liénard systems.
A return of more basic material occurs in Chapter 11, where linear
discrete dynamical systems are discussed. The Leslie model serves as
a nice example of a linear but non-trivial population model. Chapter
12 deals with nonlinear discrete dynamical systems. The focus is on
bifurcations and chaotic systems, examples of which are furnished
in the form of the tent map, the logistic map, the Gaussian map, and
the Hénon map. As usual, graphical and numerical explorations
dominate the discussion. Chapter 13 gives a short overview of the
basics of discrete complex dynamical systems. The complex quadratic
map, corresponding Julia sets and the Mandelbrot set are
investigated.
Chapter 14 serves as an introduction to the theory of non-linear
optics. A short introduction to Maxwell's equations and a historical
overview of the field precede a discussion of optical resonators.
Chapter 15 deals with fractals and multifractals. Some classical
fractals are presented and their fractal dimension is computed.
Box-counting dimension is introduced and multifractals are
discussed. Chapter 16 touches upon the subjects of chaos control and
synchronization. Again, a historical overview gives the reader an
overview of the field, and the examples that follow serve as
illustrations of the problems encountered in these areas. Chapter 17
is, in the mind of this reviewer, one of the highlights of this
book. Here, the theory of neural networks is introduced, and
concrete examples of data analysis with neural networks are given.
An example of a discrete Hopfield network that uses attractors as
fundamental memories is a delightful example of applied dynamical
systems.
Chapter 18 is a collection of exam questions that apparently were
used by the author when teaching a course based on the material in
the book. Chapter 19 gives solutions or hints to most of the
practice problems. Finally, a long set of references marks the end
of the book.
Stephen Lynch's book offers a comprehensive introduction to the
theory and application of differential equations and dynamical
systems methods. Its focus on applications and avoidance of overly
technical arguments makes it a an equally good choice for teaching
an undergraduate course in dynamical systems, as self-study for
graduate students interested in dynamical systems, or as an
introductory text for researchers seeking an overview of some
current developments in applied dynamical systems. Most importantly,
its content and presentation style convey the excitement that has
drawn many students and researchers to dynamical systems in the
first place.