CS 372/CM 372
General Information, Winter 2006
Course descriptions
Instructor Office hours:
Justin Wan
DC 3625
Office Hours: Mondays 2:30 - 3:30
TA Office hours:
Zhao Yi
DC 3594
Office Hours: Tuesdays 3:00 - 4:00 (starting from Jan 17)
Lecture hours:
MWF 11:30 - 12:20, MC4060
Assignments
- There will be four assignments which are to be submitted in class the date
the assignment if due. On the due date of an assignment, the work done to date
should be submitted in class; further material may be submitted for one-half
credit at the start of the next class.
- The assignments will involve completing a library for direct and iterative
solution of sparse matrices. You will be given source code for the library (in
C/C++), with missing functions. Each assignment will ask you to fill in the
missing functions, and carry out some numerical tests. There will also be some
theory on each assignment.
- To submit your code for each assignment, create a directory
named yourUserID_00000000 where you replace
yourUserID with your own personal user ID on the Unix system and
00000000 with your student number. Copy only the files you
have been asked to change into that directory. Create a zip file using
the command
zip -r yourUserID_00000000 yourUserID_00000000
and e-mail the resulting archive file yourUserID_00000000.zip to
the course address cs372@student.cs.uwaterloo.ca
For example, if your user ID is jqstuden with ID number
12365478 your directory would be called
jqstuden_12365478 and you will have mailed
jqstuden_12365478.zip
- Cheating policy:
You are encouraged to discuss the assignments with others. But, what
you submit for marking must be your own creation (written text, program
listing, figures and numerical output listing). Submitting material that you
did not create, or providing your material to another student for the purpose
of cheating, and the policy of the School of Computer Science on cheating will be
followed; i.e., -100% credit for an assignment submission involved in a
cheating incident.
Course Grading
- 4 assignments: 35% of the final mark.
- Midterm: 25% of the final mark.
- Final: 40% of the final mark.
Tentative Topics
- Object-oriented approach to linear algebra library:
introduction to C++, pointers, dynamic memory allocation,
operator overloading, templates, classes and objects.
- Solving linear systems: LU factorization, Cholesky factorization,
tridiagonal matrices, band matrices.
- Conditioning and stability.
- Least squares problems: QR factorization, Householder transform,
Givens rotation.
- Eigenvalue problems: Schur form, power iteration, inverse
iteration, QR method, Jacobi, divide-and-conquer.
- Singular value decomposition.
Computing Resources