U.C. Berkeley Math 221 Home Page

Matrix Computations / Numerical Linear Algebra

Fall 2009

T Th 12:30-2pm, 3109 Etcheverry Hall


  • Jim Demmel
  • Offices:
    831 Evans Hall
    564 Soda Hall ("Virginia"), (510)643-5386
  • Office Hours - M 11-12 in 564 Soda and F 11-12 in 831 Evans
  • (send email)
  • Reader:

  • Ashwin Chander Mahavadi (CEE)
  • (send email)
  • Phone: 408-838-4540
  • Administrative Assistants:

  • Laura Rebusi / Tammy Johnson
  • Offices: 563 / 565 Soda Hall
  • Phones: (510)643-1455 / (510)643-4816
  • Email: (to Laura) / (to Tammy)
  • Announcements:

  • (Oct 23) Today my office hours will be in Soda Hall at 1-2pm, instead of the usual 11am in Evans.
  • (Oct 3) There will be a one-day conference on Sparse Matrix computations next to campus at LBL on Nov 2. Click here for details. Registration is free but required.
  • (Sept 22) Henceforth, office hours will be Mondays 11-12 in 564 Soda and Fridays 11-12 in 831 Evans.
  • (Sept 20) There will be office hours on Monday, Sept 21, in 564 Soda Hall from 11-12. I am considering permanently moving my Wednesday office hours to this time; please email me if you prefer a different time.
  • (Sept 13) There will be make-up office hours on Monday, Sept 14, in 564 Soda Hall from 11-12 and 1-2.
  • (Sept 3) The classroom has moved to 3109 Etcheverry.
  • (Sept 3) I will start posting the notes before lecture (or at least try to!).
  • (Sept 3) We have hired a reader for homework; please see above for contact info.
  • Handouts

  • Course Overview in pdf, including syllabus, prerequisites, pointers to other references, and grading.
  • Class Survey . Please fill this out and email it to demmel@cs.berkeley.edu if you did not get the copy in class.
  • An Introduction to the Conjugate Gradient Method Without the Agonizing Pain by Jonathan Shewchuk, is a very easy to understand description of one of the most popular iterative methods for solving A*x=b. In contrast to the terse treatment in the course text book, you might want to see Shewchuk's answer to the question "How could fifteen lines of code take fifty pages to explain?"
  • Lectures notes on Multigrid, in either html or powerpoint.
  • Textbook

  • Applied Numerical Linear Algebra by J. Demmel, published by SIAM, 1997.
  • List of Errata for the Textbook (This will be updated during the semester. Suggestions welcome!)
  • Homework assignments

    Matlab Programs for Homework Assignments

    Lecture Notes

    Other Online Software and Documentation

  • Matlab documentation is available from several sources, most notably by typing ``help'' into the Matlab command window. A primer (for version 4.0/4.1 of Matlab, old but not too different from the current version) is available in either postscript or pdf.
  • Netlib, a repository of numerical software and related documentation
  • Netlib Search Facility, a way to search for the software on Netlib that you need
  • GAMS - Guide to Available Math Software, another search facility to find numerical software
  • Linear Algebra Software Libraries and Collections
  • LAPACK, state-of-the-art software for dense numerical linear algebra on workstations and shared-memory parallel computers. Written in Fortran.
  • LAPACK Manual
  • CLAPACK, a C version of LAPACK.
    (For a partial C++ version, see LAPACK++ on Roldan Pozo's homepage)
  • LAPACK95, Fortran95 interface to LAPACK.
  • ScaLAPACK, a partial version of LAPACK for distributed-memory parallel computers.
  • ScaLAPACK manual
  • LINPACK and EISPACK are precursors of LAPACK, dealing with linear systems and eigenvalue problems, respectively.
  • SuperLU is a fast implementations of sparse Gaussian elimination for sequential and parallel computers, respectively.
  • BEBOP (Berkeley Benchmarking and Optimization) is a source for automatic generation of high performance numerical codes, including OSKI, a system for producing fast implementations of sparse-matrix-vector-multiplication. (OSKI stands for Optimized Sparse Kernel Interface, and only coincidentally is also the name of the Cal Bear mascot :) ).
  • Sources of test matrices for sparse matrix algorithms
  • Matrix Market
  • University of Florida Sparse Matrix Collection
  • Templates for the solution of linear systems, a collection of iterative methods, with advice on which ones to use. The web site includes on-line versions of the book (in html and postscript) as well as software.
  • Templates for the Solution of Algebraic Eigenvalue Problems is a survey of algorithms and software for solving eigenvalue problems. The web site points to an html version of the book, as well as software.
  • Updated survey of sparse direct linear equation solvers, by Xiaoye Li
  • MGNet is a repository for information and software for Multigrid and Domain Decomposition methods, which are widely used methods for solving linear systems arising from PDEs.
  • Resources for Parallel and High Performance Computing
  • Millennium a UC Berkeley campus-wide parallel computing resource
  • CS 267, Applications of Parallel Computers, including slides and videos of lectures on parallel linear algebra
  • ParLab Parallelism Short Course, including slides and videos of (shorter) lectures on parallel linear algebra
  • ACTS (Advanced CompuTational Software) is a set of software tools that make it easier for programmers to write high performance scientific applications for parallel computers.
  • PETSc: Portable, Extensible, Toolkit for Scientific Computation
  • NHSE - National High Performance Computing and Communications Software Exchange, pointers to related work across the country.
  • Issues related to Computer Arithmetic and Error Analysis
  • Efficient software for very high precision floating point arithmetic
  • GMP
  • Notes on IEEE Floating Point Arithmetic, by Prof. W. Kahan
  • Other notes on arithmetic, error analysis, etc. by Prof. W. Kahan
  • Report on arithmetic error that cause the Ariane 5 Rocket Crash
  • The IEEE floating point standard was updated in 2008. Look here for a summary.