CAAM519
This course concerns scientific computation in a broad sense. We will use numerical libraries written in
higher level languages, such as C, Fortran, and Python, to solve computational problems. Emphasis will be placed on
computational decision making. For example, how should I choose which nonlinear solver to use? How should I evaluate
its suitability once I have tried it? We will also cover basic techniques of algorithm design and implementation,
project planning, source management, configuration and build tools, documentation, program construction, i/o, and
visualization.
If you go on to career in scientific computing, you will very often be confronted with models, discretizations,
numerical methods, and solution algorithms unfamiliar to you. Some you will research and understand completely,
and some you will understand at a merely mechanical level. This course mirrors that experience. When you first did
arthmetic, were you aware you were doing it in an algebraically closed field or why?
CAAM 519 Course Information
Instructor: Matthew G. Knepley
Class times: 11am to 11:50am on Monday, Wednesday, & Friday
Location: Duncan Hall 1042
Office Hours: Instructor 1:00pm to 2:00pm Tuesday in DCH 3021, TA 2:30pm to 3:30pm Thrusday in DCH 3016
A course overview and grading policy are
available in accordance with Rice academic policy.
Required and Recommended Reading
Class notes have been prepared for each lecture. Students should read the notes prior to attending class, but
the lecture may deviate from the notes somewhat. The notes will be continually updated as the class progresses,
so students should download them again at the beginning of each week. The lectures for each week of class are
contained in a chapter. The weekly lectures will roughly follow the chapter sections.
The following books are foundational for the software construction and documentation will be attempt in this
class. However we will not follow them in any way, and they are intended for reference and outside reading.
- The C Programming Language (2nd Edition) by Brian W. Kernighan and Dennis M. Ritchie (Prentice Hall) ISBN-10: 0131103628.
- The PETSc Manual, S. Balay,
S. Abhyankar, M. Adams, J. Brown, P. Brune, K. Buschelman, V. Eijkhout, W. Gropp, D. Kaushik, M. Knepley,
L. Curfman McInnes, K. Rupp, B. Smith, and H. Zhang, ANL-95/11 Rev 3.5, 2015.
- LaTex
Companion (Tools and Techniques for Computer Type Setting), 2nd ed., by Frank Mittelbach, Michel
Goossens, Johannes Braams, David Carlisle, and Chris Rowley (Addison Wesley Professional) ISBN-10: 0201362996.
Homework
- Due 9/14: All questions in Chapter 1
- Due 9/19: Questions 1, 2, 4, 5 in Chapter 2