AMATH 301
SLN 10200, MWTHF 1:30-2:20, Kane 210
(Prerequisites: MATH 126 or MATH 136. Recommended CSE 142)
Beginning Scientific Computing
Instructor: Professor Abigail Wacher
TAs: | Yun Zhang (Claire), Mikala Johnson, Travis Johnson and Sam Stapleton
Office hours (Claire): T: 3:30pm-7:30pm in the ICL room CMU B027.
Th: 12:30pm to 2:30pm GUG 415 L.
F: 2:30pm-6:30pm GUG 416
Office hours (Mikala): MW 9:30am-1:30pm, T: 3:30pm-7:00pm in the ICL room CMU B027.
Office hours (Travis): F 12:30pm-2:30pm in the
ICL room CMU B027
MW 1:30pm-3:30pm MGH 058, MW 5:00pm-8:00pm ICL room CMU B027
Th 3:30pm-6:30pm GUG 415L Also, see Travis' notes on material you might have missed to help you with this
class:
Travis' notes
Office hours (Sam): T 3:30pm-8pm at
ICL room CMU B027
MW 5:00pm-8:00pm ICL room CMU B027.
|
Description and Objectives
Introduction to
use of computers to solve scientific and
engineering problems. Application
of mathematical judgment in
selecting tools to solve problems and to
communicate results.
MATLAB is the primary tool used for numerical
computation.
Although the subject matter of Beginning Scientific
Computing can be made rather difficult, I
will attempt to present the course
material in as simple a manner as
possible. More theoretical aspects, such
as proofs, will not be presented.
Applications will be emphasized.
Office Hours
Assistance at the ICL lab is scheduled with the Lab Teaching Assistants as well as office hours.
For questions regarding the course please attend the ICL lab or one of the scheduled office hours. If the
course Teaching Assistant Yun Zhang (Claire) is unable to help you first with your request/question, then
you may email me at awacher@u.washington.edu if you need to schedule an appointment with me. Also, I encourage you to
please join the Face book group "AMATH 301"
to have access to questions and answers via the wall as I will not be accepting questions about the course material
via email.
Textbook and Notes (.pdf)
There is no text required
for this course. We will follow the notes by Prof. Nathan Kutz available on-line at (.pdf).
If you need further reading material two useful books are:
1) Numerical Computing with MATLAB, by Cleve Moler .
This text is available electronically at the link just given.
2) Matlab Guide, by Desmond J. Higham and Nicholas J. Higham.
In addition, there are a variety of MATLAB help books and other references on course reserve for this class at the library.
Here is a list of a few updates and typos for the notes 301.pdf:
p.10, y1=sin(x) shoudl be y1=sin(x1).
p.13,
save x1 x1.dat -ASCII should be save x1.dat x1 -ASCII.
p. 17, equation (2.1.14), last equality: PLUx=Pb should be
LUx=Pb.
p.35, use polyinterp function to do polynomial interpolation (order n-1 polynomial) -- see code curvefitting_v2.m
p.37, use command fminsearch in place of fmins
MATLAB on campus
In this course, we will
make extensive use of Matlab, a technical computing
environment for
numerical computation and visualization produced by The MathWorks, Inc.
There is MATLAB access at the ICL lab on campus.
You can access this also remotely by following the links to "terminal server", which can also be reached from the ICL page
*here*. Another option is to purchase the student version of MATLAB for
your personal computer -- this is available for a very heavily discounted price. A Matlab manual is
available in the ICL Lab.
Many Matlab resources are available on the net, such as:
Step-by-step instructions for accessing MATLAB from a MAC (many of these settings may be already in place):
Go to applications folder in MAC, click on remote desktop connection
For "computer," type login.aslab.washington.edu
Click on the options arrow
Go to display tab
Choose size of remote desktop to be 1280X1024 or another "big enough" size
Choose millions of colors
IF you want to save documents on the MAC, or on a flash drive, go to Local Resources Tab, click the Disk Drives
checkbox
Click connect.
If you need the logon and password from here, go to http://depts.washington.edu/aslab/ and click on ``terminal server"
link.
Another note:
To avoid having your files viewable by others using remote login, follow these steps.
When using remote login, CLICK local resources, and enable access to disk drives
(accept warnings)
then you will be able to save on LOCAL computer you are logging in from, or even on a flash drive. You can navigate
matlab to this local drive and run your codes from there.
Syllabus
- (1) Program Algorithms and Architecture; Matlab
Introduction: 4 lectures + 1 Q&A
- Monday, March 30: Lecture 1: Course information and basic MATLAB notation (.pdf)
- Wednesday, April 1: Lecture 2: Vectors and Matrices (.pdf)
- Thursday, April 2: Lecture 3: Logic, Loops and Iterations (.pdf), and bisection.m (.m)
- Friday, April 3: Programming Q&A (.m)
- Monday, April 6: Lecture 4: Plotting and Importing/Exporting Data(.pdf)
-
(2) Linear Systems: 3 lectures + 1 Q&A
- Wednesday, April 8: Lecture 5: Direct solution methods for Ax= b ***
- Thursday, April 9: Lecture 6: Iterative solution methods for Ax = b. Solvability and the Fredholm-Alternative
Theorem. ***
- Friday, April 10: Programming Q&A ***
- Monday, April 13: Lecture 7: Eigenvalues and Eigenvectors (.pdf)
*** This hour will be presented by Professor Nathan Kutz.
- (3) Curve
Fitting, Interpolation, Splines:
3 lectures + 1 Q&A
- Wednesday, April 15: Lecture 8: Least-Square Fitting Methods (.pdf)
- Thursday, April 16: Lecture 9: Polynomial Fits and Splines (.pdf)
- Friday, April 17: Programming Q&A Clean implementation of Interpolating Polynomial by Calzino: (.m) found online: via mathworks
- Monday, April 20: Lecture 10: Data Fitting with MATLAB (.pdf)(.dat)(.m)(.dat)
- (4) Numerical Differentiation and
Integration: 3 lectures + 1 Q&A
- Wednesday, April 22: Lecture 11: Numerical Differentiation (.pdf)
- Thursday, April 23: Lecture 12: Numerical Integration (.pdf) and pictures from Eric
Shea-Brown (.pdf)
- Friday, April 24: Programming Q&A
- Monday, April 27: Lecture 13: Implementation of Differentiation and Integration (.pdf), ux_2ndOrder.m (.m), data_MoreReal.dat (.dat), ux_2ndOrder_MoreReal.m (.m), myux.m
(.m)
- (5) Differential Equations:
5 lectures + 2 Q&A + midterm 1
- Wednesday, April 29: Lecture 14: Initial value problems: Euler, Runge-Kutta and Adams methods (.pdf), aquabuoy (.m), solve_aquabuoy (.m)
- Thursday, April 30: Lecture 15: Error analysis for time-stepping routines (.pdf)
- Friday, May 1: Programming Q&A
- Monday, May 4: Midterm 1 (covering material up to and including Wednesday, April 29)
- Wednesday, May 6: Lecture 16: Boundary value problems: the shooting method (.pdf), file f: (.m),
file solve_bvp.m (.m), file solve_bvp_2.m (.m), file fbc.m (.m)
- Thursday, May 7: Lecture 17: Boundary value problems: direct solve and relaxation (.pdf)
- Friday, May 8: Programming Q&A
- Monday, May 11: Lecture 18: Implementing a numerical method for BVPs. File Direct.m (.m), file F.m (.m),
file A.m (.m), file Jac.m (.m), file Newton.m (.m)
- (6) Transforms and Spectral Analysis:
2 lectures + 1 Q&A
- Wednesday, May 13: Lecture 19: Basics of the Fourier Transform ***
- Thursday, May 14: Lecture 20: Spectral Analysis and Application of the FFT ***
- Friday, May 15: Programming Q&A ***
*** This hour will be presented by Professor Nathan Kutz.
- (7) Partial Differential Equations:
3 lectures + 1 Q&A
- Monday, May 18: Lecture 21: Basic time- and space-stepping schemes. (.pdf), (rhs.m), (pde_1D.m), (rhs2D.m), (pde_2D.m)
- Wednesday, May 20: Lecture 22: Time- and space-stepping schemes part I. (.pdf), (one_way_wave.m)
- Thursday, May 21: Lecture 23: Time- and space-stepping schemes part II. (.pdf), (heat.m)
- Friday, May 22: Programming Q&A. Backward Euler for the heat equation created by AMATH 301, Spring 2009 students in class (.m)
- Monday, May 25: Memorial day/no class
- (8) Final Midterm Review: 2 lectures + 1 Q&A
- Wednesday, May 27: Lecture 24: Review and study guide for final part I.
- Thursday, May 28: Lecture 25: Review and study guide for final part II.
- Friday, May 29: Programming Q&A
- (9) Visualization: 2 lectures + 1 Q&A
- Monday, June 1: Lecture 26: Advanced 2D plotting, and hints for the midterm
- Wednesday, June 3: Lecture 27: Advanced 3D plotting, and hints for the midterm
- Thursday, June 4: Programming Q&A
- Friday, June 5: Midterm 2
Schedule and Homework
Follow links in
the table below to obtain a copy of the homework in
Adobe
Acrobat (.pdf) format. You may also obtain here solutions to some of
the
homework and exam problems. An item shown below in plain text is not
yet
available. For additional information regarding viewing and printing
the
homework and solution sets,
click
here.
| Homework and Exams |
Important due dates
|
Homework Problem Sets |
| First day of classes |
Monday, March 30 |
| Homework#1 |
due Sunday, April 12 at 11 p.m. |
Homework #1 (.pdf)
|
| Homework#2 |
due Thursday, April 23 at 11 p.m. |
Homework #2 (.pdf) |
| Midterm 1 |
Monday, May 4 |
Summer 2008 M1 (.pdf), Winter 2009 sample M1 (.pdf)
, Spring 2009 M1 (.pdf) |
| Homework#3 |
due Thursday, May 7 at 11 p.m. |
Homework #3 (.pdf) |
| Homework#4 |
due Thursday, May 21 at 11 p.m. |
Homework #4 (.pdf), and download this noisy data: (noisydata.dat)
|
| Memorial Day |
Monday, May 25 |
no
classes |
| Homework#5 |
due Thursday, June 4 at 11p.m. |
Homework #5 (.pdf) |
| Midterm 2 |
Friday, June 5 |
| Last day of classes |
Friday, June 5 |
HOMEWORK SUBMISSION
You can now submit homework at the following link: www.scorelator.com
NOTE: you must use Firefox or Internet Explorer (NOT Safari) web browsers to access scorelator.
Remember that the submission checks your answers and compares (anti-cheat) against
the MATLAB codes of others in this class and those of past years.
Grading
Your course grade will be calculated by weighing the homework,
Midterm 1, and Midterm 2 in the proportions 60%, 20%, and 20%,
respectively. Homework problem
sets will be assigned roughly bi-weekly. Homework
constitutes 60% of your final grade.
There will also be two one-hour-long
midterms for 20% and 20% or your grade respectively.
The test schedule is as follows:
Midterm 1: Monday May 4, 2009 (20% - 50 minutes)
Midterm 2: Friday, June 5, 2009 (20% - 50 minutes)
Four of the five homework sets will determine the remaining
60% of your grade (the fifth lowest scoring homework set will be ignored).
LATE HOMEWORK WILL NOT BE ACCEPTED.
Homework will be submitted and graded on-line. You have up to five
attempts per homework to get everything correct. If everything is correct
the first time a homework is submitted, you will receive a 100% for that homework.
If something is not correct, then you must fix it and re-submit the homework.
Your highest submitted homework grade will be your final grade for that particular
homework.