Announcements

  • Quiz 2 graded and returned.

  • HW2 graded. Merge pull request.

  • Tue TA office hours cancelled. Thu TA office hours 1p-3p.

Feedback on HW2

Don’t be discouraged by low grade. It’s intended as feedback. Trend is more important. Make good use of office hours.

Q1

  • Use BlAS-3 function BLAS.syrk.
    A_mul_Bt(X, X) or X * X' dispatches to BLAS.gemm.

  • Merge two matrix multiplications $XX’ + (2-X)(2-X’)$ into one.

  • Avoid allocating intermeidate arrays. Looping is more efficient from the memory point of view.

Q3

  • Difference between
    (σ1 / σ0)^2 * Z' * Z
    

    and

    (σ1 / σ0)^2 * (Z' * Z)
    
  • Uniform scaling I in Julia is useful for adding a constant to diagonal of a matrix.

  • cholfact vs cholfact!.

Last time

  • A list of “easy” linear systems (cont’d).

  • Eigen-decomposition (review).

  • SVD (review).

Today

  • Eigen-decomposition.

  • SVD

  • Optimization: introduction.