Back to Courses

CDS 140a -- Fall 2007

Introduction to Dynamics

Prerequisites: ACM 95 or equivalent

Basics in topics in dynamics in Euclidean space, including equilibria, stability, Lyapunov functions, periodic solutions, Poincaré-Bendixon theory, Poincaré maps. The Euler-Lagrange equations, mechanical systems, dissipation, energy as a Lyapunov function, and simple conservation laws. Introduction to basic bifurcations and eigenvalue crossing conditions. Discussion of bifurcations in applications, invariant manifolds, the method of averaging, Melnikov's method, and the Smale horseshoe.


Aaron D. Ames
Steele 3, x3366

Sujit Nair
Steele 5, x3367

Office hours: Tues 4pm-5pm. Steele 5

Teaching assistant

Molei Tao

Steele 15, x3369

Office hours: at recitation

Cole Lepine

Steele 15, x3369


T & Th 10:30am-noon; Steele 214

Course Announcements

Course Policy

  • Homework 40%, Midterm 20%, Final 30%, Participation 10%
  • Students should present their solutions to homework at recitation every Monday. This will account for the 10% participation. Details will be discussed at the first recitation.
  • Homework will be handed out every Tuesday (except for the first week), due by next Wednesday 5pm.



  • Required: Ferdinand Verhulst, Nonlinear Differential Equations and Dynamical Systems, Second Edition.
  • Hassan Khalil, Nonlinear Systems, Third Edition.
  • Shankar Sastry, Nonlinear Systems.
  • Lawrence Perko [2001], Differential Equations and Dynamical Systems, Third Edition.
  • Stephen Wiggins [2003], Introduction to Applied Nonlinear Dynamical Systems and Chaos, Second Edition.

Syllabus (Tentative)

Week 1: Linear systems: exponentials of operators; fundamental theorem for linear systems

Week 2: Linear systems: Jordan forms; stability; nonhomogeneous linear systems
Week 3: Existence and uniqueness, linearization, first integrals
Week 4: Stability (linear and nonlinear)
Week 5: Periodic orbits
Week 6: Stable/unstable manifold for periodic orbits
Week 7: Center manifold, normal form, topological conjugacy and equivalence, introduction to bifurcation
Week 8: Saddle-node, transcritical, pitchfork and Poincare-Andronov-Hopf bifurcations.
Week 9: Introduction to Lagrangian mechanics
Week 10: Lagrangian and Hamiltonian mechanics

Homework Assignments
Homework should be turned in to the mailbox labeled CDS 140a Homework amongst the mailboxes (Box H) on first floor of Steele.

  • Week 1, due on Wednesday, Oct 10, 2007.
  • Week 2, due on Wednesday, Oct 17, 2007.
  • Week 3, due on Wednesday, Oct 24, 2007.
  • Week 4, due on Wednesday, Oct 31, 2007.
  • Midterm, due on Tuesday, Nov 6, 2007.
  • Week 6, due on Wednesday, November 14, 2007.
  • Week 7, due on Wednesday, November 21, 2007.
  • Week 8, due on Wednesday, November 28, 2007.
  • Week 9, due on Wednesday, December 5, 2007.
  • Final Exam, due on Wednesday, December 12, 2007.

Matlab files

These are the matlab files used to illustrate various concepts.

  • normA.m This file illustrates what a linear map maps a sphere into.
    Try to modify the code and extend it to illustrate how a two dimensional sphere is transformed into a n ellipsoid.
  • arnoldcat.m and arnoldcatode.m. Save these files in the same directory and run arnoldcat.m. Try playing with it with various choices for the A matrix. The animation illustrats how a rectangular region "flows" under the linear ODE. If you are super curious, figure out why the file is named Arnold Cat!
  • phasepotrait.m and phasepotraitode.m. Save these files in the same directory and run phasepotrait.m. When you run it, a figure will pop up and you will need to select various initial conditions by just clicking around. Once you are finished selecting the initial conditions, just press ENTER. The code will calculate the corresponding trajectories and plot it. The red dots are the initial conditions you chose and the green dots are the corresponding final positions and these dots are connected by a blue colored trajectory, i.e., the arrows in the phase potrait is in the direction going from red dots to green dots. The end time for the simulation in the code is 2 seconds. Feel free to play around by choosing various values for the A matrix, which is labelled by gA in the code.