### Scientific Computing

Spring 2018

Tues & Thurs 4:15-5:30pm

Shanahan B442

Harvey Mudd College

**Instructor:** Professor Allon Percus

**Contact information:** CGU Math South, tel. 909-607-0744

**TA:** Christopher Hoyt, choyt@g.hmc.edu

**Office hours:** TBA. Tentatively: Thurs after class, or by appointment.

**Course description:** Math 164/264 aims at providing a broad range of mathematical and computational techniques for use in modeling and simulation. Topics include numerical methods for solving linear and nonlinear algebraic equations, algorithmic analysis, computer arithmetic, random number generation, Monte Carlo and optimization methods. The course is also cross-listed as CS 144 at HMC.

**Background and prerequisites:** Linear algebra, ODEs, probability and statistics. Some exposure to the asymptotic analysis of algorithms is assumed (as taught in CS 60, for instance). Students should have some familiarity with Matlab but can use any standard programming language for computational assignments.

**Learning outcomes:**

- Understand and apply fundamental techniques of numerical analysis and computational linear algebra
- Understand probabilistic principles behind modeling, simulation, and optimization
- Comfortably, correctly, and confidently use mathematical tools for solving computational problems

**Format:** Classes will consist of lectures, labs and student presentations.

**Textbook:** Detailed course notes, along with a number of other helpful materials, will be posted on sakai under the “Resources” section. You are also encouraged to have a copy (physical or electronic) of William H. Press, Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery, *Numerical Recipes: the Art of Scientific Computing*, 3rd ed. (Cambridge University Press, Cambridge, 2007).

**Tentative schedule:**

- Jan 16-18: Algorithms and complexity
- Jan 18-23: Computer arithmetic

**Assignment #1 due** - Jan 23-25: Root finding
- Jan 30: Interpolation

**Assignment #2 due** - Feb 1-6: Numerical differentiation
- Feb 6-8: Numerical integration
- Feb 13-15: Solving linear systems

**Assignment #3 due** - Feb 20-27: Singular value decomposition
- Mar 1: Modeling of data

**Assignment #4 due** - Mar 6: Random number generation
- Mar 8: FINAL PROJECT DISCUSSIONS
- Mar 13-15: SPRING BREAK
- Mar 20-27: Monte Carlo

**Assignment #5 due** - Mar 29: LAB #1
- Apr 3-10: Markov Chains

**Final project draft due** - Apr 12: Simulated Annealing
- Apr 17: LAB #2
- Apr 19-26: FINAL PROJECT PRESENTATIONS

**Final project due**

**Assignments and grading:** There will be approximately biweekly homework assignments (depending on the week) worth 60% of the grade, and a final project worth 40% of the grade. These assignments are intended not only as exercises in modeling and computing but also in scientific communication. Pay attention to clarity, grammar and spelling. All assignments will be posted on sakai, and must be submitted in PDF format, uploaded to sakai or e-mailed to the instructor, unless otherwise specified.

You are welcome to collaborate on assignments, subject to a few basic rules:

- Collaborate to understand the problem better – not just to get the (right) answer.
- Do not look at someone else’s code until you have written your own, and it works.
- Write up your submission individually, and in your own words, unless the assignment specifically calls for a team submission.
- Acknowledge all sources of help (people, books, websites, etc.) that you receive to complete your work.
**You must list the names of all of your collaborators.** - Do not simply correct the work or debug the code of someone else: by offering to collaborate, you take responsibility for helping him or her
*understand*what is involved.