Note: the LAPACK code can be found at ~www/users/rvdg/class/CS383C.F00/Codes/LAPACK/SRC/ on the CS machines.

My schedule Nov. 9-10

Assignment part 1:

  1. Read the initial assignment
  2. Read the README file in subdirectory Codes assignment/Codes

Project assignments to teams:

  1. Translate the LAPACK reduction to bidiagonal form (DGEBRD) to FLAME.

  2. Translate the LAPACK condition number estimator for a linear system (DGECON) to FLAME.
  3. Translate the LAPACK reduction to Hessenberg form (DGEHRD) to FLAME.
  4. Translate the LAPACK LQ factorization (DGELQF) to FLAME. (Note: the LQ factorization is much like the QR factorization, except that a lower triangular matrix is computed).
  5. Translate the LAPACK QR factorization with column pivoting (DGEQPF) to FLAME.
  6. Translate the LAPACK iterative refinement method (DGERFS) to FLAME.
  7. Translate the LAPACK RQ factorization with column pivoting (DGERQF) to FLAME.
  8. Translate the LAPACK routine for computing the inverse of a matrix (DGETRI) to FLAME. (Alternatively: implement our better matrix inversion routine given in a recent paper. See the PLAPACK webpage: http://www.cs.utexas.edu/users/plapack/)
  9. Translate the LAPACK routine that takes a number of Householder transformations, as computed during the QR factorization, and forms the matrix Q (DOPGTR) to FLAME.
  10. Translate the LAPACK routine that applies Q, stored as Householder transformations, to a matrix (DOPMTR) to FLAME.
  11. Translate the LAPACK routine for computing the inverse of a symmetric positive definite matrix (DPOTRI) to FLAME. (Alternatively: implement our better matrix inversion routine given in a recent paper. See the PLAPACK webpage: http://www.cs.utexas.edu/users/plapack/)
Suggested steps:
  1. Write a FLAME wrapper to the routine from lapack.
  2. Write a driver routine to test the routine created in 1. Use the FLA_Obj_show routine to print out some results that can be checked using MATLAB.
  3. Rewrite the target routine in FLAME format. The best way to do this is to do the top level routine first, making FLAME wrappers to routines called by this top level routine. Then, layer by layer, replace all routines called by the top level routine.