Scientific computing
has become an indispensable tool in many branches of research, and is
vitally important for studying a wide range of physical and social
phenomena. In this course we will examine the mathematical foundations
of well-established numerical algorithms and explore their use through
practical examples drawn from a range of scientific and engineering
disciplines.
Instructor: David Knezevic
Lectures: Tuesday, Thursday 10am-11:30am, MD G125
Office Hours: Tuesday 11:30am-1pm, Cruft 403
TFs: Philip Mocz (pmocz@fas.harvard.edu), Bo Liu (bliu@physics.harvard.edu)
Sections: Announced during semester
Syllabus: The AM205 syllabus is available here.
Announcements:
- We will use Piazza to provide a discussion forum for this class. Sign up for the AM205 page on Piazza here.
- Matlab Tutorials run by Mathworks will be in Pierce 209, on September 17 & 18, 6pm-8pm. More details and registration is here. Space is limited to be sure to register.
- The AM205 iSites page is here. We will use the iSites dropbox for assignment and project submission.
- Download
Matlab for Windows or Mac from Harvard here. Linux users
will need to send an email to rchelp@fas.harvard.edu to download Matlab
for Linux.
- To
view which Matlab Toolboxes you have installed, type "ver" at the
Matlab command line. You will need to have the Optimization Toolbox.
Lecture Material:
Course Logistics
Unit 0: Overview of Scientific Computing
Unit I: Data Fitting
Unit II: Numerical Linear Algebra
Unit III: Numerical Calculus and Differential Equations
Unit IV: Nonlinear Equations and Optimization
Unit V: Eigenvalue Problems
Course Logistics
Unit 0: Overview of Scientific Computing
Unit I: Data Fitting
Chapter I.1:
Motivation
Chapter I.2: Polynomial interpolation interpolation_comparison.m
Chapter I.3: Linear least squares fitting nonpoly_linlsq.m underdet_lsq.m
Chapter I.4: Nonlinear least squares nonlinlsq_script.m
Chapter I.2: Polynomial interpolation interpolation_comparison.m
Chapter I.3: Linear least squares fitting nonpoly_linlsq.m underdet_lsq.m
Chapter I.4: Nonlinear least squares nonlinlsq_script.m
Unit II: Numerical Linear Algebra
Chapter II.1:
Motivation
Chapter II.2: LU and Cholesky factorizations lu_vs_backslash.m
Chapter II.3: QR factorization, SVD
Chapter II.2: LU and Cholesky factorizations lu_vs_backslash.m
Chapter II.3: QR factorization, SVD
Unit III: Numerical Calculus and Differential Equations
Chapter III.1:
Motivation
Chapter III.2: Numerical differentiation, numerical integration
Chapter III.3: ODE Initial value problems
Chapter III.4: Boundary value problems and PDEs Matlab code
Chapter III.2: Numerical differentiation, numerical integration
Chapter III.3: ODE Initial value problems
Chapter III.4: Boundary value problems and PDEs Matlab code
Unit IV: Nonlinear Equations and Optimization
Chapter IV.1:
Motivation
Chapter IV.2: Root finding Matlab code
Chapter IV.3: Conditions for optimality
Chapter IV.4: Survey of optimization methods Matlab code
Chapter IV.2: Root finding Matlab code
Chapter IV.3: Conditions for optimality
Chapter IV.4: Survey of optimization methods Matlab code
Unit V: Eigenvalue Problems
Chapter V.1:
Motivation Matlab code
Chapter V.2: Fundamentals Matlab code
Chapter V.3: Algorithms for Eigenvalue Problems Matlab code
Chapter V.4: Krylov Subspace Methods Matlab code
Chapter V.2: Fundamentals Matlab code
Chapter V.3: Algorithms for Eigenvalue Problems Matlab code
Chapter V.4: Krylov Subspace Methods Matlab code
Assignments:
Homework assignments are due electronically in the dropbox folders on the AM205 iSite page. All dropbox folders are timed and will close exactly on the deadline (late work will not be accepted, except in extenuating circumstances). Assignments 1-5 are to be completed individually, and each is worth 14% of the final grade. Submission of a written report (in .pdf format) and corresponding Matlab code will be required.
Assignment 0 Assignment 0 Solutions
(Not assessed)
Assignment 1 Assignment 1 Data
(Due: October 2, 10am)
Assignment 2 Assignment 2 Data
(Due: October 18, 10am)
Assignment 3 Assignment 3 Data
(Due: November 1, 10am)
Assignment 4 Useful test script for q3
(Due: November 20, 10am)
Assignment 5
(Due: December 4, 10am)
Collaboration Policy for Assignments (standard Harvard policy for "individual work"):
Students should be aware that in this course collaboration of any sort on any work submitted for formal evaluation is not permitted. This means that you may not discuss your problem sets, paper assignments, exams, or any other assignments with other students. All work should be entirely your own and must use appropriate citation practices to acknowledge the use of books, articles, websites, lectures, discussions, etc., that you have consulted to complete your assignments.
Final Project:
The final project is to be completed either individually or in groups of two and will account for 30% of your final grade.
Due date: 3pm on Friday, December 14.
You will need to submit a .pdf for your project write-up, and your Matlab code in the iSites dropbox for the project. Also, I request that you print out a hard copy of your project write-up and give it to me on the due date. The write-up needs to be done in latex or with a word-processing application, as would be required by an academic journal (you may not submit a handwritten report).
As usual, the dropbox will close exactly at the deadline, and (in the absence of extenuating circumstances) late work will not be accepted.
The final project is to be completed either individually or in groups of two and will account for 30% of your final grade.
Due date: 3pm on Friday, December 14.
You will need to submit a .pdf for your project write-up, and your Matlab code in the iSites dropbox for the project. Also, I request that you print out a hard copy of your project write-up and give it to me on the due date. The write-up needs to be done in latex or with a word-processing application, as would be required by an academic journal (you may not submit a handwritten report).
As usual, the dropbox will close exactly at the deadline, and (in the absence of extenuating circumstances) late work will not be accepted.
• You should propose a project
topic drawn from an application area of of interest to you. The project
should make use of concepts covered in the course, and the topic must
be approved by the instructor.
• The project should be roughly equivalent in scope and quality to a section of a published research article. One option for a project topic is to reproduce and extend results from a published research article.
• You will be required to develop Matlab-based software to solve your problem, and to submit a report that includes a mathematical discussion of your methodology in relation to the theory covered in the course.
• Projects will be assessed based on a written report, and the quality and correctness of software. Code should be well-documented and should be organized so that figures submitted in the report can be easily reproduced by the graders.
• The project should be roughly equivalent in scope and quality to a section of a published research article. One option for a project topic is to reproduce and extend results from a published research article.
• You will be required to develop Matlab-based software to solve your problem, and to submit a report that includes a mathematical discussion of your methodology in relation to the theory covered in the course.
• Projects will be assessed based on a written report, and the quality and correctness of software. Code should be well-documented and should be organized so that figures submitted in the report can be easily reproduced by the graders.
