Module 2: Alessandro Sbrizzi (University Medical Center Utrecht)

Teaching assistent: Ruben Meijs (Mathematical Institute UU)

Module 1 (4 weeks): begin intro Matlab, then Chapter 5 (linear systems) and 7 (PageRank) from the online book by Cleve Moler (2011), Experiments with Matlab. We will use other materials as well.

Module 2 (4 weeks): Magnetic Resonance Imaging (MRI). Online material will become available soon via Alessandro Sbrizzi's ISC webpage.

- Day 1 (Monday February 4, 2019):
**Introduction Matlab**(Ch1 and Ch2)- Iterations
- Fibonacci sequence
- Life demos from .m files from the book
- Exercises Ch1: 1, 6, 9, 10, 15
- Exercises Ch2: 3, 4, 5, 6, 7, 8
- Today's slides : A quick introduction to Matlab, Johns Hopkins University, Computer Science Dept. 2007

- Day 2 (Thursday February 7, 2019):
**Matrix laboratory**(Ch4)- Matrices and transformations
- Rotations and QR decomposition
- Timing of matrix multiplication
- Traditional vs. Strassen matrix multiplication
- Exercises Ch4: 3, 4, 5, 8, 14
- Useful videos on linear algebra: Essence of linear algebra by 3Blue1Brown, a YouTube channel on animating mathematics.

- Day 3 (Monday February 11, 2019):
**Linear systems**(Ch5)- LU decomposition
- Cholesky decomposition
- Electric circuit: Kirchoff laws
- Today's slides: Solving Systems of Linear Equations by Greg Fasshauer, Illinois Institute of Technology.
- Ch5 is a first introduction to solving linear systems. LU decomposition and related topics can be found in Linear equations, Chap. 2 of "Numerical Computing with MATLAB" by Cleve Moler, 2014.
- Exercises Ch5: 2, 3, 4, 7. Also: exercise 2.5 from Moler 2014 on Cholesky decomposition.
- Videos of the Khan Academy on nullspaces: Null space, Calculating the null space, Relation to linear independence.
- Videos on Cholesky decomposition by Jacob Bishop: Cholesky decomposition, Example.

- Day 4 (Thursday February 14, 2019):
**Google PageRank**(Ch7)- Web matrices
- Adjacency matrix of a graph
- PageRank algorithm
- Exercises Ch7: 1, 3, 4, 6.

- Day 5 (Monday February 18, 2019):
**Sparse matrices**- SparseSuite (University of Florida) collection of sparse matrices
- Partitioning of graphs and sparse matrices
- Separated Block Diagonal (SBD) structure
- Today's slides: Sparse Matrix Ordering and Sparse Matrix Partitioning by Rob Bisseling. Downloadable file for Sparse Matrix partitioning including movies in .avi format, compressed as gzipped tarfile.

- Day 6 (Thursday February 21, 2019):
**Iterative solvers**- Finding pivots by graph matching.
- Block triangular form of a matrix.
- Krylov methods: conjugate gradients, GMRES, BiCGStab
- Neural networks as a sparse matrix-vector product
- Today's slides: Sparse Linear Systems by Rob Bisseling.

- Day 7 (Monday February 25, 2019):
**Working on project 1**- Discussion of the report to be written on the project.
- Working on the project: crawl the world wide web using a crawler, and choose your own subdomain. Construct a PageRank algorithm, and investigate personalisation.
- Write your own sparse matrix-vector product (SpMV)
with your own data structure. Reorder
the matrix
*A*into*PAQ*. Find a suitable*P*and*Q*, e.g. based on the Hilbert-curve, Morton-curve, Separated Block Diagonal (SBD) structure. Aim: more efficient use of the computer cache, and faster SpMV. Compare your own program with the Matlab-implementation. - Compute the PageRank of the websites from your own chosen domain. How large can you choose your domain?
- Use your SpMV also in an iterative solver to solve a linear system.
- A detailed description of the project can be found on Blackboard.

- Day 8 (Thursday February 28, 2019):
**Continuing with project 1**- Start writing your first report. The deadline of this report is Monday March 11, 13.15 hour, i.e., at the start of module 2. Send your report for module 1 preferably through Blackboard (Assignment 1) to Rob Bisseling. If this fails, just as PDF by email to Rob Bisseling. It will be discused indivually with every student the week after.