**Mon 2 Apr:**Introduction: model finite difference problem; graph Laplacians. [slides; Matlab diary; Matlab files]**Reading for next class:**Review Davis chapter 1 (definitions). Read chapter 2 (you don't have to read all the code in detail) and chapter 3 (sparse triangular solves).**(Homework 1 assigned)**[hw1.tex]**Wed 4 Apr:**Sparse Cholesky, fill, graph game, elimination orders. [slides; notes and proofs; Matlab diary; Matlab files]**Reading for next class:**Davis sections 4.0-4.7 (skim the details of 4.4-4.5) (Cholesky, etrees) and 7.5-7.7 (nested dissection).**Mon 9 Apr:**Fill-reducing permutations; sparse data structures; matrix-matrix multiplication (SpGEMM); sparse triangular solve. [slides]**Reading for next class:**Review Davis chapter 3 (sparse triangular solve). Read sections 6.1, 6.2, and 7.3 (LU and block triangular form).**(Homework 1 due, homework 2 assigned)**[hw2.tex]**Wed 11 Apr:**More algorithms: Sparse-sparse triangular solve, LU, Cholesky. [slides]**Reading for next class:**Davis chapter 8 (sparse direct solvers).**Mon 16 Apr:**Nonsymmetric matrices: Partial pivoting, fill-reducing permutations, direct methods grab bag. [slides1, slides2]**Reading for next class:**Shewchuk paper sections 1-8 (CG), review Saad chapter 1 (linear algebra background).**(Homework 2 due, homework 3 assigned)**[hw3.tex]**Wed 18 Apr:**Krylov subspace methods: Conjugate gradients. [slides]**Reading for next class:**Shewchuk paper sections 9-12 (convergence of CG), Saad sections 10.1-10.6 (preconditioning).**Mon 23 Apr:**Convergence of CG in theory and practice. [slides; Matlab diary; Matlab files]**Reading for next class:**Saad sections 6.5.1 – 6.5.4, 6.5.6 (GMRES), 6.7.1 (CG), and 7.4.2 (BiCGSTAB).**(Homework 3 due, homework 4 assigned)**[hw4.tex]**Wed 25 Apr:**Preconditioning; nonsymmetric methods (GMRES and BiCGstab); high-performance implementation. [slides 1; slides 2; Matlab diary; Matlab files]**Mon 30 Apr:**Graphs, Laplacians, and support-theory preconditioning. [definitions etc. (items 1-16, 21, 23, 24, 26, 33-37, 65-67)]**Reading for next class:**Spielman survey sections 1 (intro), 2 (what Laplacians are good for), 3 (review of methods), 4 (sparse graph approximation--just scan), 5 (support theory--Monday's class), 6 (low stretch methods--Wednesday's class).**(Homework 4 due, homework 5 assigned)**[hw5.tex]**Wed 2 May:**Exotic Laplacian linear solvers. [slides; definitions etc. (items 30, 53-54, 72-78)]**Reading for next class:**Multigrid Tutorial chapters 1 (intro), 2 (smoothers), and 3 (MG elements).**Mon 7 May:**Multigrid: basics. [my slides; tutorial slides]**Reading for next class:**MG Tutorial chapter 4 (implementation), 5 (convergence), and optionally 8 (algebraic multigrid).**(Homework 5 due)****(Final project proposal due)****Wed 9 May:**Multigrid: analysis and extensions. [slides: tutorial part 2; Van Henson on AMG; Yiannis Koutis on CMG; Tristan Konolige on parallel AMG]**Reading for next class:**Saad sections 6.3, 6.6 (Arnoldi and Lanczos).**Mon 14 May:**Sparse eigenvector methods. [Matlab diary and demo code; eigenvalue templates book; ARPACK and Anasazi software]**Reading for next class:**Eigenvalue templates book online nodes: Implicitly restarted Lanczos [nodes 117 through 130].**Wed 16 May:**More on eigenvector methods. [Matlab diary and demo code]**Reading for next class:**Wolf et al. on triangle counting.**(Progress report due)****Mon 21 May:**(JRG travel, no class)**Wed 23 May:**Graph algorithms and linear algebra. [slides 1, slides 2]**Mon 28 May:**(Memorial Day holiday, no class)**Wed 30 May:**Final project presentations. [schedule]**Mon 4 Jun:**(JRG travel, no class)**Wed 6 Jun:**(JRG travel, no class)**Wed 13 Jun:****(Final project reports due)**