Nonlinear Physics: Modeling Chaos and Complexity

Instructor: Professor Jim Crutchfield (Physics and CSC)
Assistant: Benny Brown
WWW: http://cse.ucdavis.edu/~chaos/courses/nlp/

Upper Division catalog number: Physics 150, Special Topics (CRN 67025)
Units: 4
Graduate catalog number: Physics 250, Special Topics (CRN 59615)
Units: 3
Times: Tu-Th 0310-0430 PM
Location (Tu): 158 Roessler Hall
Location (Th): 2118 Mathematical Sciences Building
Office hours:
Crutchfield: Wed 0300-0400 PM, 1109 MSB
Brown: Tu 0100-0200 PM, 1106 MSB

Poster: [JPG].

This is a course on computational science methods. The goal is for you to learn how to build powerful computing tools that help you do science.

The course explores the origins of intrinsic unpredictability (deterministic chaos) and the emergence of structure (self-organization) in natural complex systems. This will be developed using dynamical systems theory and focus on analyzing periodic and chaotic behaviors and bifurcations between them. In addition to this physics track, the parallel theme is constructing exploration tools for nonlinear processes. That is, in addition to developing the mathematics of qualitative dynamics, this is also a practical class. Students will design and build interactive tools for simulating and visualizing complex systems using Python. We will also make a field trip to the KeckCAVES sensory immersive visualization lab (keckcaves.org).

Outline: (Course Syllabus [PDF] [HTML] )

Complex systems to be analyzed:

Audience: Upper division undergraduates and graduate students in physics, mathematics, computer science, engineering, mathematical biology, and theoretical neuroscience. Others also welcome. Please see the Prerequisites in the syllabus linked above.

Reference materials:

  1. Books:
    • Nonlinear Dynamics and Chaos: with applications to physics, biology, chemistry, and engineering, S. H. Strogatz, Second Edition, Addison-Wesley, Reading, Massachusetts (2001).
    • Learning Python, M. Lutz, Third Edition, O'Reilly Media, New York (2008). This edition covers Python 2.5, which is the version the course will use. An electronic version is on reserve at the library. Go there, select Course Reserves Catalog. Select Instructor, enter Crutchfield. This will bring up a page with a link to the electronic version.
  2. Lecture Notes.
  3. Python Programming Labs.
  4. Python Installation.
  5. Computing Tutorials.
  6. Nonlinear Physics Reader.
  7. Supplemental Readings for reference documents, historical background, projects, programming, and amusement.
  8. Supplemental Software Tools.

Course Work (Grading):

  1. Class accounts:
    • Set up your account on the math computing lab machines here.
    • Use MAT 998Z. Those with existing Math department accounts need not get a separate one to use the lab.
  2. Assigned readings for each lecture.
  3. Weekly Problem Sets (30%) and Labs (30%) : 60%.
  4. Research Project: 40%.