Applied Numerical Linear Algebra

UC Berkeley Mathematics Department

Math 221

Class Organization

  • Prof: Jim Demmel, 737 Soda Hall, 643-5386
    (send email)
  • Prof: Beresford Parlett, 799 Evans Hall, 642-6655
    (send email)
  • TA: Plamen Koev, 1049 Evans Hall.
    (send email)
  • Secretary: Victor Faessel, 776 Soda Hall, 642-8395
    (send email)
  • Handouts

  • Course Overview (Postscript) (PDF)
  • Class Survey. Please fill this out and email it to if you did not get the copy in class.
  • Class Roster


  • 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

    Other Online Software and Documentation

  • Matlab Primer (for version 4.0/4.1)
  • 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.
  • CLAPACK, a C version of LAPACK.
    (For a partial C++ version, see LAPACK++ on Roldan Pozo's homepage)
  • LAPACK Manual
  • 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 and SuperLU_MT are fast implementations of sparse Gaussian elimination for uniprocessors and SMPs, respectively.
  • 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. MGNet, 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
  • Resources for CS 267, Applications of 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.
  • ACTS (Advanced Computational Testing and Simulation) ToolkitK, is a set of DOE-developed software tools that make it easier for programmers to write high performance scientific applications for parallel computers
  • Issues related to Computer Arithmetic, Error Analysis, and Java
  • Notes on IEEE Floating Point Arithmetic, by Prof. W. Kahan
  • Other notes on arithmetic, error analysis, etc. by Prof. W. Kahan
  • Java Numerics, a focal point for information on numeric computing in Java. There are a number of controversial features of Java from the point of view of numeric computing, such as the value of pi changing dynamically while a program is running...
  • "How Java's floating point hurts everyone everywhere", by Prof. W. Kahan
  • Report on arithmetic error that cause the Ariane 5 Rocket Crash
  • Related Courses

  • Applications of Parallel Computers. This course is offered yearly at UC Berkeley. It includes discussions of parallel numerical linear algebra. The version above is by Jim Demmel, but David Culler taught it in Spring 1997 and Kathy Yelick taught it in Spring 1998
  • MIT's 18.335, Numerical Methods. Fall 1998.
  • MIT's 18.337, Parallel Scientific Computing, Spring 1998.
  • CSEP - Computational Science Education Project, an on-line course developed by the Dept. of Energy
  • Miscellany

  • Other UCB EECS classes with home pages