Computational Methods for Nonlinear Systems

Similar documents
School of Innovative Technologies and Engineering

Instructional Approach(s): The teacher should introduce the essential question and the standard that aligns to the essential question

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Python Machine Learning

Software Maintenance

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

GACE Computer Science Assessment Test at a Glance

EGRHS Course Fair. Science & Math AP & IB Courses

Generative models and adversarial training

Radius STEM Readiness TM

Statewide Framework Document for:

Probability and Statistics Curriculum Pacing Guide

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

University of Illinois

GRADUATE STUDENT HANDBOOK Master of Science Programs in Biostatistics

Biology 1 General Biology, Lecture Sections: 47231, and Fall 2017

Ansys Tutorial Random Vibration

Seminar - Organic Computing

Physics 270: Experimental Physics

Grade 6: Correlated to AGS Basic Math Skills

INTERMEDIATE ALGEBRA PRODUCT GUIDE

Mathematics. Mathematics

Math 121 Fundamentals of Mathematics I

The Moodle and joule 2 Teacher Toolkit

Shockwheat. Statistics 1, Activity 1

CS Machine Learning

A Neural Network GUI Tested on Text-To-Phoneme Mapping

Biology Keystone Questions And Answers

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

While you are waiting... socrative.com, room number SIMLANG2016

Timeline. Recommendations

Using Virtual Manipulatives to Support Teaching and Learning Mathematics

Control Tutorials for MATLAB and Simulink

WSU Five-Year Program Review Self-Study Cover Page

ME 4495 Computational Heat Transfer and Fluid Flow M,W 4:00 5:15 (Eng 177)

Introduction to Simulation

What can I learn from worms?

UNIT ONE Tools of Algebra

Bachelor of Science in Mechanical Engineering with Co-op

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

ENME 605 Advanced Control Systems, Fall 2015 Department of Mechanical Engineering

Physics XL 6B Reg# # Units: 5. Office Hour: Tuesday 5 pm to 7:30 pm; Wednesday 5 pm to 6:15 pm

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Number Line Moves Dash -- 1st Grade. Michelle Eckstein

Circuit Simulators: A Revolutionary E-Learning Platform

A Reinforcement Learning Variant for Control Scheduling

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Algebra 1, Quarter 3, Unit 3.1. Line of Best Fit. Overview

Multimedia Application Effective Support of Education

Dublin City Schools Mathematics Graded Course of Study GRADE 4

LEGO MINDSTORMS Education EV3 Coding Activities

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

Natural Sciences, B.S.

Integrating simulation into the engineering curriculum: a case study

Mathematics subject curriculum

SAT MATH PREP:

Honors Mathematics. Introduction and Definition of Honors Mathematics

Introduction to Causal Inference. Problem Set 1. Required Problems

University of Groningen. Systemen, planning, netwerken Bosman, Aart

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Operational Knowledge Management: a way to manage competence

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Xinyu Tang. Education. Research Interests. Honors and Awards. Professional Experience

Foothill College Fall 2014 Math My Way Math 230/235 MTWThF 10:00-11:50 (click on Math My Way tab) Math My Way Instructors:

Proposal of a PhD Programme (PhD) managed by the Politecnico di Milano. PhD in: STRUCTURAL, SEISMIC AND GEOTECHNICAL ENGINEERING CYCLE: XXVIII

Physical Versus Virtual Manipulatives Mathematics

B.S/M.A in Mathematics

Fourth Grade. Reporting Student Progress. Libertyville School District 70. Fourth Grade

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS

MTH 141 Calculus 1 Syllabus Spring 2017

STA 225: Introductory Statistics (CT)

ME 443/643 Design Techniques in Mechanical Engineering. Lecture 1: Introduction

Course Content Concepts

South Carolina College- and Career-Ready Standards for Mathematics. Standards Unpacking Documents Grade 5

Answers To Hawkes Learning Systems Intermediate Algebra

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

COMPUTER-ASSISTED INDEPENDENT STUDY IN MULTIVARIATE CALCULUS

ICTCM 28th International Conference on Technology in Collegiate Mathematics

LOUISIANA HIGH SCHOOL RALLY ASSOCIATION

Biology and Microbiology

On-Line Data Analytics

SELECCIÓN DE CURSOS CAMPUS CIUDAD DE MÉXICO. Instructions for Course Selection

Navigating the PhD Options in CMS

Automating the E-learning Personalization

Introduction and Motivation

Mathematics 112 Phone: (580) Southeastern Oklahoma State University Web: Durant, OK USA

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

DOCTORAL SCHOOL TRAINING AND DEVELOPMENT PROGRAMME

Analysis of Emotion Recognition System through Speech Signal Using KNN & GMM Classifier

Bittinger, M. L., Ellenbogen, D. J., & Johnson, B. L. (2012). Prealgebra (6th ed.). Boston, MA: Addison-Wesley.

Application of Virtual Instruments (VIs) for an enhanced learning environment

Green Belt Curriculum (This workshop can also be conducted on-site, subject to price change and number of participants)

Montana Content Standards for Mathematics Grade 3. Montana Content Standards for Mathematical Practices and Mathematics Content Adopted November 2011

Predicting Students Performance with SimStudent: Learning Cognitive Skills from Observation

An Introduction to Simio for Beginners

PRODUCT COMPLEXITY: A NEW MODELLING COURSE IN THE INDUSTRIAL DESIGN PROGRAM AT THE UNIVERSITY OF TWENTE

BMBF Project ROBUKOM: Robust Communication Networks

Transcription:

Computational Methods for Nonlinear Systems Cornell Physics 7682 Fall 2015! Chris Myers c.myers@cornell.edu Physical Sciences Building 424

Computational Methods for Nonlinear Systems Graduate computational science laboratory course developed by Myers, Sethna & Mueller, starting in 2004 - developed originally to support interdisciplinary IGERT program on Nonlinear Systems - class work focused on implementation of computer programs from papers, hints and skeletal code

Computational Methods for Nonlinear Systems Hands-on introduction to computational science & scientific computing: modeling, algorithms, data structures, programming, simulation techniques, data analysis, etc. - a broad variety of scientific themes: complex networks, biomechanics, pattern formation, chemical kinetics, statistical mechanics, molecular dynamics, chaos, random matrix theory, constraint satisfaction, infectious diseases, etc. - a broad variety of numerical methods: ODEs, PDEs, graph theory, Monte Carlo, data analysis, fitting, root finding, etc. - many exercises incorporated into Sethna s textbook, Statistical Mechanics: Entropy, Order Parameters, and Complexity - complementary to Physics 4480 / 7680 ( Computational Physics with Numerical Recipes ) which focuses more specifically on algorithms and numerical analysis

Course structure Primary focus is working on course modules in class Periodic lectures on science and/or computation to complement work on course modules Self-paced and autonomous: work on those modules you are most interested in, or propose other topics of interest you would like to explore in more detail Can work in groups if desired, although be sure to take turns driving Students can use PECF workstations in Rockefeller B3 (computing.physics.cornell.edu), or bring own laptop for use in class

Course structure No homework assignments no graded assignments; reading background material outside of class is useful Attendance, engagement and participation are paramount Ask questions if you are confused, need help debugging, or want to discuss material Students will be expected to deliver at least one short lecture (~15 minutes) on a subject of interest, and to participate in other initiatives that might unfold (e.g., Bring your problems to class day ) Opportunities to bring relevant projects of interest to class (e.g., related to research), or to work with me to implement some new modules for the course - random graphs, forest fires, flocking, parameter estimation, sloppiness, zombies, mosh pits, etc.

Recommended to take S/U Course structure If a letter grade is needed for a particular program, we will conduct oral examination / review of work done at end of semester (can be based in part on extra project) Flexible within reason: can accommodate absences due to occasional conflicts (e.g., special lab meeting, travel to a conference); can make up missed time outside of class - talk to instructor if conflicts arise

Programming all programming done in Python 3rd party Python libraries for numerics, graphics, visualization, etc. graphical tools provided to give feedback, help debug, etc. why Python? - interpreted: rapid program development and interactive access - built-in data structures & high-level syntax - rich standard library and 3rd party libraries (for science, visualization, databases, internet programming, etc.) - supports procedural programming, object-oriented programming, functional programming, scripting, large systems - free software (monetarily and intellectually) - good job skill

Goals for semester Yours? - get exposed to a broad set of interesting scientific and computational problems and methods - learn how to integrate a variety of tools to solve problems - learn how to conduct research that integrates computation with theory, data, analysis, etc. Mine - teach you all of the above, and learn from all of you - convey how to think computationally: abstraction, interface & information - add new course modules (suggestions are welcome!) - new features/modules to be rolled out over the course of the semester (and you are welcome to help if you are interested in such things) - continue to improve the course website and workflow

Scientific topics Networks Biological dynamics & patterns Dynamics & Dynamical Systems Statistical mechanics etc.

Course modules Small-world networks Invariant measure Cardiac dynamics NP-completeness Percolation Chaos & Lyapunov Random matrix theory Ising model Pendulum Fractal dimensions Stochastic cells Molecular dynamics Walker Period doubling Repressilator Infectious diseases

Small-world networks Science - small world networks (Watts & Strogatz) - six degrees of separation - shortest path lengths in randomly wired graphs Computing - data structure for undirected graphs good introduction to built-in Python containers (lists and dictionaries) - object-oriented encapsulation of complex data structures - graph traversal algorithms (breadth-first search) for shortest path and betweenness - simple graph visualization software supports debugging and provides quick feedback

Percolation Science - statistical mechanics of percolation connected clusters in randomly wired graphs (e.g., bond percolation on a lattice) universality of phase transitions Computing - reuse of objects with generic interface (reuse of UndirectedGraph class from small-world network module) - graph traversal algorithms (breadth-first search) for cluster finding - scaling collapses

Walker Science - Simple model of bipedal walker (Ruina and coworkers) double pendulum with impulse for heelstrike single pendulum as warmup - period-doubling bifurcations in physical system Computing - integration of ODEs finite differences, time-step dependence, integration schemes (stability, fidelity, accuracy) calling 3rd party numerical libraries - change of integration variables for event detection (heelstrike) - tracking unstable periodic orbit - visualization tools for animation

Maps & dynamical systems Science - bifurcations and chaos in iterated maps - period doubling in logistic map - density (invariant measure) in chaotic regime - Lyapunov exponents: divergence of nearby trajectories - fractal dimensions of attractors - renormalization group of logistic map & universality of period doubling route to chaos Computing - iterating maps - root-finding - fitting

Cardiac dynamics Science - pattern formation in excitable medium - FitzHugh-Nagumo model (type of reaction-diffusion equation) - spiral defects forming in electrical pulsing can lead to cardiac arrythmias - model extensions to simulate dead tissue, cardiac chambers, etc. Computing - numerical solution of PDEs finite-differences, operator stencils - nullcline analysis for single cell (rootfinding) - simple animation tool allows interactive steering of simulation (needed to provide targeted electrical pulses and defribrillator shock)

Cell dynamics: stochastic cells and Repressilator Science - Repressilator (Elowitz & Leibler): genetic oscillator from realm of synthetic biology oscillatory mrna/protein dynamics from mutually repressing proteins - telegraph noise and shotgun noise in stochastic systems Computing - chemical kinetics and reaction networks Petri nets synthesis of aggregate kinetic equations from network - Monte Carlo algorithms (Gillespie) - stochastic vs. deterministic descriptions Additional projects exploring other gene regulatory networks (switches, feed-forward loops, etc.)

NP-completeness & constraint satisfaction Science - NP-complete problems - phase transitions in 3SAT and parametric complexity - integer partitioning problem Computing - algorithms for NP-complete problems - backtracking, recursion

Random matrix theory Science - eigenvalue spacings in random matrices - developed originally to describe energy level spacings in quantum systems Computing - random matrix generation - eigenvalue computation (numpy)

Molecular dynamics Science - thermodynamics: emergence of effective properties from molecular chaos Computing - design of large software systems - geometric data structures - integration of ODEs - thermodynamics pressure pair distribution functions

Ising model Science - phase transitions in simple model of magnetic system nucleation self-similarity fluctuation-dissipation Computing - Monte Carlo algorithms heat bath Metropolis cluster flipping

Randomness: random walks & Gumbel distributions Science - ensembles and distributions averages extremal behavior emergent symmetries Computing - random number generation - statistical analysis of ensembles

The Python for Science Ecosystem SciPy and NumPy [www.scipy.org] - NumPy: provides (in a compiled library) high-level array syntax, linear algebra, random number generation, Fourier transforms - Python interfaces to well-tested compiled numerical routines, interfaced to work with NumPy arrays - provides routines for integration of functions and differential equations, root-finding, minimization, etc. matplotlib (a.k.a. pylab) [matplotlib.org] - provides 2D (x-y) plotting, histograms, etc. (modeled after MATLAB plotting) ipython [ipython.org] - enhancement of the standard python interpreter: command completion & history, magic functions, etc. - notebook mode for integrated programs, documentation, results

The Python for Science Ecosystem (continued) Python standard library: pickle, time, os, collections, multiprocessing, string, url lib, xml, json, etc. Python Imaging Library (PIL, Pillow): image processing and analysis scikit-learn: machine learning NetworkX: graph theory and network analysis sympy: symbolic mathematics Pandas: data analysis mpmath: multiple precision mathematics h5py: HDF5 interface (btw, also interface to MATLAB.mat files) SWIG, Cython, weave, theano, : tools for integrating compiled code with interpreted Python code etc.

Course mechanics & information Course web page - www.physics.cornell.edu/~myers/teaching/computationalmethods Module web pages - www.physics.cornell.edu/~myers/teaching/computationalmethods/ ComputerExercises - linked from Computer Exercises on course web page Navigation bar on course web page - News & Updates: information about new modules, bug fixes, special projects, etc. - Lecture Notes: copies of in-class lecture slides - Python Resources: tutorials, documentation, guides, etc.

Course mechanics: working with modules For a given module: - possibly some background reading (e.g., journal paper) - text describing an exercise (pdf or on web page) read this first! - a Hints file (e.g., SmallWorldHints.py) Hints files have skeletal Python code with comments (docstrings) Hints files have minimal Python code body consisting of keyword pass Copy Hints file to new file (e.g., SmallWorld.py) and then fill in code body to implement desired functionality %run Python code file within IPython notebook to test code, run analyses, make plots, document work, etc.

Python installations Encourage use of Anaconda Scientific Python distribution (unless you are already a seasoned Python user with your own setup)! If using your own laptop: Anaconda distribution (free): download & install Python 3.4 - https://store.continuum.io/cshop/anaconda/! Physics Educational Computing Facility (PECF) - python, ipython, scipy, etc. all installed - add ~myers/anaconda3/bin to beginning of shell path - let me know if packages are missing or broken! Text editors have auxiliary python editing mode: syntax highlighting, indenting, etc. (e.g., python-mode in emacs)

Development Environments, Workflows & Interpreters python interpreter ( python ) - bare bones interpreter of Python code - useful to run programs in background/batch once fully developed ipython interpreter ( ipython or ipython qtconsole ) - enhanced Python interpreter with help, autocompletion, editing, etc. - extra functionality ( magics ) outside of Python language - magics prepended by % - %who : list of what variables, functions, etc. defined in namespace - %timeit : provide timing information of specific command ipython notebooks ( ipython notebook ) - graphical interface integrating code, documentation, analyses, plots, etc. (a la Mathematica notebooks)

Some new twists this year Python 3 - core numerical code for all the modules has been updated - some of the visualization tools will need to be updated and/or replaced (anyone interested in helping?) Encouraging use of Anaconda python v. 3.4 by everyone IPython notebooks to organize and summarize analyses and results