MATH 320 (Fall 2010)
Instructor's contact information
Michael Robinson
3C5 David Rittenhouse Lab
(215)898-6285
robim at math (dot) upenn {dot} edu
Office hours: Thursday 10-11am, or by appointment (please give 24 hour notice)
My research website http://www.drmichaelrobinson.net/
Feel free to contact me with any questions (course-related or not)
Quick Links
Course description
Homework assignments
Course schedule
Concerning programming in this course
Information about exams
Some useful links
Course policies
Students will use numerical software and write programs to solve problems in numerical quadrature, equation-solving, linear algebra and differential equations. Theoretical and computational aspects of the methods will be discussed along with error analysis and a critical comparison of methods. Practical applications will be treated extensively in weekly programming assignments.
Prerequisite(s): MATH 240 or concurrent and ability to program a computer (see below), or permission of instructor.
The course textbook is
Isaacson and Keller, Analysis of Numerical Methods, Dover edition.
Homework assignments consist of two parts: suggested problems from the book, and programming assignments. You aren't required to submit the suggested problems, though I strongly suggest you attempt them. A majority of each exam will be taken from the suggested problems (with slight modifications). You're therefore encouraged to ask me about them!
The programming assignments will consist of some preliminary and background theory questions along with a set of guided programming exercises. Instructions and submission of all assignments will be elecronic via the course BlackBoard page! Check there often for updates.
Read the Matlab tutorial and get started on Assignment 1 early!
Suggested problems for September 13: pg. 16-17: 2, 3, 4, 6. pg. 21: 2, 3. pg. 25: 1.
Assignment 1 (Ray tracing), due September 20.
Suggested problems: pg. 96, 1. pg 108: 1, 2, 4, 6.
Suggested problems for September 27: pg. 123: 2, 3, 5. pg. 133: 1, 4, 6.
Assignment 2 (Curves for CAD, solid modeling, and machine toolpaths), due October 4.
Suggested problems: pg. 186: 1, 2. pg. 193: 1, 3, 5.
Suggested problems for October 13: pg. 218: 3, 5, 6, 7, 14, 18.
Assignment 3 (Smoothing and denoising of audio signals), due October 20.
Suggested problems: pg. 229: 2. pg. 242: 1, 5, 6, 8.
Suggested problems for October 25: pg. 255: 3, 5. pg. 260: 1, 2 (also try with computer). pg. 279: 1, 2.
Assignment 4 (Image alignment and change detection), due November 3.
Suggested problems: pg. 279: 6, 7. pg. 287: 2, 4. pg. 294: 2.
Suggested problems for November 5: pg. 1, 2.
Assignment 5 (GPS tracks and speedometers), due November 18.
Suggested problems: pg. 302: 1. pg. 318: 2, 5. pg. 326: 1.
Suggested problems for November 22: pg. 343: 1, 2, 6
Assignment 6 (Differential equations on the playground), due December 3.
Suggested problems: pg. 352: 1, 2, 3 (try doing it by hand!). pg. 362: 1, 4.
Suggested problems for December 8: pg. 383: 1, 3. pg. 394: 2, 3, 4. pg. 405. 1, 3.
The course meets almost every Monday, Wednesday, and Friday from 2-3pm in DRL 3C6.
Below is a listing of sections of the textbook (and links to course notes if they exist) that we will cover...
Unit 1: Numeric representation and solution of equations
September 8: Chapter 1, section 1: Vectors, matrices, and Matlab
September 10: Chapter 1, section 2: Floating point representation
September 13: Chapter 1, section 3: well-posedness for numerical calculations
September 15: Chapter 3, section 1: Single equation iterations
September 17: Chapter 3, section 2: Single equations, Newton's method
September 20: Chapter 3, section 2: Aitken's method
September 22: Chapter 3, section 3: Systems of equations
September 24: Chapter 3, section 3: continued
September 27: Chapter 3, section 4: Accelerated methods for polynomials
September 29: Exam 1
Unit 2: Manipulation of polynomials and derivatives
October 1: Chapter 5, section 1: Weierstrass approximation
October 4: Chapter 5, section 2: Interpolation with polynomials
October 6: Chapter 5, section 3: Least-squares polynomials
October 8: Chapter 5, section 3: continued
October 13: no class! (I'm talking at Lehigh's colloquium)
October 15: Chapter 5, section 4: Chebyshev polynomials
October 18: Chapter 5, section 5: Fourier series
October 20: Chapter 6, section 1: Newton's interpolation polynomial
October 22: Chapter 6, section 2: Iterative linear interpolation
October 25: Chapter 6, section 3: Forward differences: formulae
October 27: Chapter 6, section 3: continued
October 29: Chapter 6, section 4: Difference operators (diversion: C. Babbage's Difference Engine!)
November 1: Chapter 6, section 5: Numerical differentiation
November 3: Chapter 6, section 6: Multivariate interpolation
November 5: Exam 2 Review
November 8: Exam 2
Unit 3: Numerical differential equations and integration
November 10: Applications: Mechanical computation tools
November 12: Chapter 7, section 1: Introduction to quadrature
November 15: Chapter 7, section 1: General error bounds for quadrature
November 17: Chapter 7, section 1: Error bounds in Newton-Cotes
November 19: Chapter 7, section 2: Roundoff error in quadrature
November 22: Chapter 7, section 3: Gaussian quadrature
November 24: Chapter 7, section 5: Composite methods for quadrature
November 29: Chapter 8, section 1: Euler's method
December 1: Chapter 8, section 1: continued
December 3: Chapter 8, section 2: Multistep solvers
December 6: Chapter 8, section 3: One-step solvers
December 8: Chapter 8, section 3: continued
December 10: Review for final exam
Final exam : December 21, 6-8pm, DRL 4C6
Generally speaking, knowledge of the general techniques of programming
is expected, but I don't expect you to know the specifics of any
particular language at the beginning of the course. There will be
extensive programming required on the homeworks -- so you will be expected
to know some basic programming when the course finishes.
If you don't have a strong preference, I will suggest that you learn
some Matlab or Octave. Matlab is available on the SAS computers in the on campus computer labs. I've heard that students can obtain Matlab relatively cheaply, though Octave is free to use. If you do have a
strong preference for another programming language,
you may be permitted to use it, but you must contact me first about
it early in the course.
Matlab or GNU Octave Tutorials
Here is a short tutorial I wrote that covers the basics you'll need in this course.
For each exam, you will be permitted to bring one 3"x5" index card with handwritten notes on it. Electronic calculators will not be permitted. However, mechanical calculators (such as this or these) are fine. Don't worry; I won't ask you about syntax on the exams! (You will be asked to provide precise algorithm descriptions in English, though.)
GNU Octave
Matlab
Cleve Moler (the original author of Matlab) has written two books (Numerical computing with Matlab and Experiments with Matlab, freely available from the link), which serve as excellent introductions
Academic calendar
Schedule of classes being held in the DRL computer labs
Campus map
Absences
You are generally expected to attend the lectures. Please contact me in advance if you cannot attend, especially in the case of an exam.
Late homework is not accepted, though the lowest two homework scores will automatically be dropped.
Grading
The course grade will be determined as follows:
25% Homeworks
25% Exam 1
25% Exam 2
25% Final exam
Homework drop policy: The lowest two homework scores will automatically be dropped in the computation of the homework grade. Late homeworks will not be accepted, unless there is an official (University-approved) reason for doing so.
Academic dishonesty
Academic dishonesty is a serious offense. Read Penn's policies. As
applied to this course, you may work together on homeworks, but the
work you turn in must be your own. In so far as computer programs are
concerned, you may not simply copy another student's program and put
your name on it! In particular, I may ask you to explain or clarify sections of your program if I am unable to follow it. So please know what your program is doing!