ECS 231, Spring 2008
Large Scale Scientific Computing


Instructor:
Zhaojun Bai, 3005 Kemper Hall, 752-4874, bai@cs.ucdavis.edu

Lecture:
12:10pm - 1:00pm, M.W.F., 1070 Bainer

Office Hours :
Mondays and Wednesdays, 2-3; Fridays, 11-12
or by appointment

Prerequisite
ECS130 or consent of instructor. A solid knowledge of undergraduate linear algebra, and some experience with writing computer programs (in Matlab, C and/or Fortran).

Catalog Description
Algorithms and techniques for large-scale scientific computation, including basics for high performance computing, iterative methods, discrete approximation, fast Fourier transform, Poisson solvers, particle methods, spectral graph partition and its applications.

Goals of the Course
To learn about concepts and general techniques that are essential for modern methods, and to be able to apply them in a particular domain of large-scale scientific computation.

Syllabus
  1. The foundations:
    • floating point arithemtic
    • BLAS
    • vector and matrix norms
    • Frequently used matrix decompositions
  2. Krylov subspace projection methods
  3. Preconditioning techniques
  4. Graph partition and data clustering by spectral method
  5. Fast Poisson solvers (SOR, FFT, BCR, ...)

Textbook
Lecture Notes

Grading:

On-line Info:
Class annoucements and handouts will be available at this site:
http://www.cs.ucdavis.edu/~bai/ECS231/
Lecture Notes
  1. 3/31: Introduction (handout #1)
  2. 4/2: Floating-point arithmetic (handout #2)
  3. 4/4 Rounding error analysis (handout #3)
  4. 4/7 Block matrix multiplication and BLAS, I (handout #4)
  5. 4/9 Block matrix multiplication and BLAS, II
  6. 4/11 Vector and matrix norms (handout #5)
  7. 4/14 Frequently used matrix factorizations: LU and QR
  8. 4/16 Frequently used matrix factorizations: QR and SVD (handout #6)
  9. 4/18 Frequently used matrix factorizations: SVD and EVD
  10. 4/21 Iterative methods I: subspace projection framework (handout #7)
  11. 4/23 Iterative methods II: Steepest descent and and minimal residual methods
  12. 4/25 Iterative methods III: GMRES (handout #8)
  13. 4/28 Iterative methods IV: GMRES (cont'd) and CG
  14. 4/30 Iterative methods V: CG (cont'd) (handout #9), updated 6pm, May 2, 2008
    Reference: J. Schewchuk, An introduction to the conjugate gradient method without the agonizing pain
  15. 5/1 Seminar: CS Colloquium: Dr. J. Grcar, John von Neumann and the origins of scientific computing and computer science
  16. 5/2 Iterative methods VI: summary
  17. 5/5 Dr. Sherry Li, sparse matrix techniques I, handout #10
  18. 5/7 Dr. Sherry Li, sparse matrix techniques II, handout #11
  19. 5/9 Preconditioning techniques, handout #12
  20. 5/12 Eigenvalue problems and algorithms I, handout #13
  21. 5/14 Eigenvalue problems and algorithms II, handout #14, handout #15 (updated 5/16)
  22. 5/16 Eigenvalue problems and algorithms III, handout #16, handout #17,
  23. 5/19 Graph partition by spectral method I, handout #18
  24. 5/21 Graph partition by spectral method II, demodata
  25. 5/21 Seminar: Dr. S. Bhowmick, Blurring boundaries -- the changing face of computer science
  26. 5/23 Fast solvers for Poisson's model equations I, handout #19
  27. 5/26, holiday, no class
  28. 5/28 Fast solvers for Poisson's model equations II, handout #20
  29. 5/28 Extended office hour: 2-5pm
  30. 5/30, Fast solvers for Poisson's model equations III, handout #21
  31. 6/7, Saturday, extended office hour, 2-5pm
  32. Report Guideline
  33. Final project due Midnight, June 11, 2008
Homeworks and projects
  1. Homework #1, due April 21, 2008 Solution
  2. Homework #2 part A, due May 5, 2008, Solution
  3. Homework #2 part B, due May 5, 2008
  4. Homework #3 Homework #3, due May 19, 2008
  5. Final projects:
    1. C. Chen, Monotone Iterative Method for Solving Nonlinear 2D Poisson Equations
    2. S. Dey and A. Kishore, Computing few leading singular values and vectors using SVDpack
    3. D. Ding, Performance measurement, tuning and optimization of sparse matrix-vector products on ``MIPS''
    4. A. Garg and A. Patney, Computational SVD for matrices with missing elements for LSI-based recommendations
    5. M. Hashemi, Jacobi method for symmetric matrix diagonalization on FPGA.
    6. J. Honda, Convergence behaviors and analysis of CG (with respect to condition number, eigenvalue distribution, stopping criteria, ..)
    7. J. Hong, Computing a few largest eigenvalues and eigenvectors of large symmetric matrices using the Lanczos method (with and without reorth.)
    8. M. James, Computing k-leading leading singular values and vectors using Lanczos method
    9. W. Jiang, Solving eigenvalue problems arising from the simulation of optical fibers.
    10. J. Leek, Fast Poisson Solvers
    11. P. Luo, Computing pseudo-inverse of a matrix using the SVD (numerical stability, accuracy, ...)
    12. V. Missirian, Computing k-leading leading singular values and vectors using Lanczos method
    13. S. Mousavi, Lanczos algorithm (with and without reorth.) for computing selected (exterior and interior) eigenvalues and eigenvectors of large symmetric matrices.
    14. A. Ortiz, Computing a few largest eigenpairs of generalized symmetric positive definite eigenproblems using meshfree methods
    15. A. Perkins, FFT-based and Stationary iteration (SOR) methods for solving 2D Poisson's equation
    16. E. Phillips, Geometric MG Poisson solver vs. FFT-based and CG solvers.
    17. Z. Qi, Further study of graph partitioning using the spectral method
    18. C. Schwarz, Solving ill-posed linear system of equations
    19. M. Spear, Performance evaluation of sparse matrix-vector products with different sparse matrix storage formats
    20. S. Yan, Dense and sparse matrix-vector products on GPU (NVIDIA 8800)
  6. Final project due Midnight, June 11, 2008
Online resources:
Maintained by Zhaojun Bai, bai@cs.ucdavis.edu.