Skip to content

Latest commit

 

History

History
212 lines (153 loc) · 5.32 KB

coverage.md

File metadata and controls

212 lines (153 loc) · 5.32 KB

Coverage of ReLAPACK

This file lists all LAPACK compute routines that are covered by recursive algorithms in ReLAPACK, it also lists all of LAPACK's blocked algorithms which are not (yet) part of ReLAPACK.

Table of Contents generated with DocToc

List of covered LAPACK routines

xlauum

Multiplication of a triangular matrix with its (complex conjugate) transpose, resulting in a symmetric (Hermitian) matrix.

Routines: slauum, dlauum, clauum, zlauum

Operations:

  • A = L^T L
  • A = U U^T

xsygst

Simultaneous two-sided multiplication of a symmetric matrix with a triangular matrix and its transpose

Routines: ssygst, dsygst, chegst, zhegst

Operations:

  • A = inv(L) A inv(L^T)
  • A = inv(U^T) A inv(U)
  • A = L^T A L
  • A = U A U^T

xtrtri

Inversion of a triangular matrix

Routines: strtri, dtrtri, ctrtri, ztrtri

Operations:

  • L = inv(L)
  • U = inv(U)

xpotrf

Cholesky decomposition of a symmetric (Hermitian) positive definite matrix

Routines: spotrf, dpotrf, cpotrf, zpotrf

Operations:

  • L L^T = A
  • U^T U = A

xpbtrf

Cholesky decomposition of a banded symmetric (Hermitian) positive definite matrix

Routines: spbtrf, dpbtrf, cpbtrf, zpbtrf

Operations:

  • L L^T = A
  • U^T U = A

xsytrf

LDL decomposition of a symmetric (or Hermitian) matrix

Routines:

  • ssytrf, dsytrf, csytrf, chetrf, zsytrf, zhetrf,
  • ssytrf_rook, dsytrf_rook, csytrf_rook, chetrf_rook, zsytrf_rook, zhetrf_rook

Operations:

  • L D L^T = A
  • U^T D U = A

xgetrf

LU decomposition of a general matrix with pivoting

Routines: sgetrf, dgetrf, cgetrf, zgetrf

Operation: P L U = A

xgbtrf

LU decomposition of a general banded matrix with pivoting

Routines: sgbtrf, dgbtrf, cgbtrf, zgbtrf

Operation: L U = A

xtrsyl

Solution of the quasi-triangular Sylvester equation

Routines: strsyl, dtrsyl, ctrsyl, ztrsyl

Operations:

  • A X + B Y = C -> X
  • A^T X + B Y = C -> X
  • A X + B^T Y = C -> X
  • A^T X + B^T Y = C -> X
  • A X - B Y = C -> X
  • A^T X - B Y = C -> X
  • A X - B^T Y = C -> X
  • A^T X - B^T Y = C -> X

xtgsyl

Solution of the generalized Sylvester equations

Routines: stgsyl, dtgsyl, ctgsyl, ztgsyl

Operations:

  • A R - L B = C, D R - L E = F -> L, R
  • A^T R + D^T L = C, R B^T - L E^T = -F -> L, R

Covered BLAS extension

xgemmt

Matrix-matrix product updating only a triangular part of the result

Routines: sgemmt, dgemmt, cgemmt, zgemmt

Operations:

  • C = alpha A B + beta C
  • C = alpha A B^T + beta C
  • C = alpha A^T B + beta C
  • C = alpha A^T B^T + beta C

Not covered yet

The following operation is implemented as a blocked algorithm in LAPACK but currently not yet covered in ReLAPACK as a recursive algorithm

xpstrf

Cholesky decomposition of a positive semi-definite matrix with complete pivoting.

Routines: spstrf, dpstrf, cpstrf, zpstrf

Operations:

  • P L L^T P^T = A
  • P U^T U P^T = A

Not covered: extra FLOPs

The following routines are not covered because recursive variants would require considerably more FLOPs or operate on banded matrices.

QR decomposition (and related)

Routines:

  • sgeqrf, dgeqrf, cgeqrf, zgeqrf
  • sgerqf, dgerqf, cgerqf, zgerqf
  • sgeqlf, dgeqlf, cgeqlf, zgeqlf
  • sgelqf, dgelqf, cgelqf, zgelqf
  • stzrzf, dtzrzf, ctzrzf, ztzrzf

Operations: Q R = A, R Q = A, Q L = A, L Q = A, R Z = A

Routines for multiplication with Q:

  • sormqr, dormqr, cunmqr, zunmqr
  • sormrq, dormrq, cunmrq, zunmrq
  • sormql, dormql, cunmql, zunmql
  • sormlq, dormlq, cunmlq, zunmlq
  • sormrz, dormrz, cunmrz, zunmrz

Operations: C = Q C, C = C Q, C = Q^T C, C = C Q^T

Routines for construction of Q:

  • sorgqr, dorgqr, cungqr, zungqr
  • sorgrq, dorgrq, cungrq, zungrq
  • sorgql, dorgql, cungql, zungql
  • sorglq, dorglq, cunglq, zunglq

Symmetric reduction to tridiagonal

Routines: ssytrd, dsytrd, csytrd, zsytrd

Operation: Q T Q^T = A

Symmetric reduction to bidiagonal

Routines: ssybrd, dsybrd, csybrd, zsybrd

Operation: Q T P^T = A

Reduction to upper Hessenberg

Routines: sgehrd, dgehrd, cgehrd, zgehrd

Operation: Q H Q^T = A