Welcome!
Here is the syllabus.

Unit 1


Read Chapter 1 of Numerical linear algebra with applications (W. Ford).
Read about numerical integration.
Begin going through Chapters 1 - 5 of K and R's C book. This is about the best way to learn C! Note that solutions to a majority of the exercises in the book are available.

Homework #1 is posted here. It is due on September 25th.
Topics discussed: mat-vec, mat-mat mult for dense matrices, compiled vs interpreted code, basic Linux and C, begin to do mat-vec library. See week1 codes.


Read Chapter 21 of Numerical linear algebra with applications (W. Ford).
Read up on the use of ssh, scp, rsync.
See the short Tufts cluster overview and the slides from workshop.
Topics discussed: expand mat-vec library, binary files, string processing, installation, config, and use of the GNU GSL library (QR factorization example). See week2 codes.

Read Linux phrasebook (see process management, vim, screen)
Topics discussed: mex files, GNU libmatheval library for mathematical expression parsing, more on strings and command line arguments, sparse matrix storage and sparse mat-vec mat-mat mult. See week3 codes.
Five number summary (min,Q1,Q2,Q3,max) for homework 1: (64,75,84,95,100).


Unit 2


Homework #2 is posted here. It is due on October 21st.
Topics discussed: sparse matrix storage and sparse mat-vec mat-mat mult. Solutions of linear systems of different dimensions: square, overdetermined, underdetermined. Splitting methodsi (Jacobi, Gauss-Seidel). Tikhonov regularization. Continuation schemes.

Continue discussion of sparse mat-vec ops. Examples with GSL sparse BLAS and discussion of compressed column storage and compressed row storage formats. Here are some notes on regularization, part I. Sparse regularization. Iterative method using majorization minimization procedure.
Five number summary (min,Q1,Q2,Q3,max) for homework 2: (57,73,78,90,100).


Unit 3


Onto multi-core computing. We start with sparsity constrained regularization and applications to image deblurring. Review of FFT methods for imaging applications, gaussian blur, deconvolution problems.
Representations using different types of basis. Examples with wavelets. Here are some notes on Haar wavelets and their application in regularization. Discussion of power iteration.
BLAS operations and optimization algs with Intel Math Kernel Library. Various OpenMP constructs.
Homework #3 is posted here. It is due on November 15th. OpenMP vs P-threads. 2D wavelets and wavelet image denoising.

Unit 4


GPU computing. Model fitting. Linear and non-linear least squares. Newton's method and Gauss-Newton algorithm. Here are some notes on data fitting I and more on Gauss Newton method. Here is a note on gradients and Jacobians. Here is Homework #4, due on December 22nd. Discussion of NVIDIA CUDA, thrust and CUSP, cuBLAS, CULA libraries. Examples in basic MPI; nonzero counting, thresholding.

Written solutions and notes for HW problems:
HW#1 notes.
HW#2 notes.
HW#4 notes.