4 This file lists all LAPACK compute routines that are covered by recursive
5 algorithms in ReLAPACK, it also lists all of LAPACK's blocked algorithms which
6 are not (yet) part of ReLAPACK.
8 <!-- START doctoc generated TOC please keep comment here to allow auto update -->
9 <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
10 **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
12 - [List of covered LAPACK routines](#list-of-covered-lapack-routines)
23 - [Covered BLAS extension](#covered-blas-extension)
25 - [Not covered yet](#not-covered-yet)
27 - [Not covered: extra FLOPs](#not-covered-extra-flops)
28 - [QR decomposition (and related)](#qr-decomposition-and-related)
29 - [Symmetric reduction to tridiagonal](#symmetric-reduction-to-tridiagonal)
30 - [Symmetric reduction to bidiagonal](#symmetric-reduction-to-bidiagonal)
31 - [Reduction to upper Hessenberg](#reduction-to-upper-hessenberg)
33 <!-- END doctoc generated TOC please keep comment here to allow auto update -->
36 List of covered LAPACK routines
37 -------------------------------
40 Multiplication of a triangular matrix with its (complex conjugate) transpose,
41 resulting in a symmetric (Hermitian) matrix.
43 Routines: `slauum`, `dlauum`, `clauum`, `zlauum`
50 Simultaneous two-sided multiplication of a symmetric matrix with a triangular
51 matrix and its transpose
53 Routines: `ssygst`, `dsygst`, `chegst`, `zhegst`
56 * A = inv(L) A inv(L^T)
57 * A = inv(U^T) A inv(U)
62 Inversion of a triangular matrix
64 Routines: `strtri`, `dtrtri`, `ctrtri`, `ztrtri`
71 Cholesky decomposition of a symmetric (Hermitian) positive definite matrix
73 Routines: `spotrf`, `dpotrf`, `cpotrf`, `zpotrf`
80 Cholesky decomposition of a banded symmetric (Hermitian) positive definite matrix
82 Routines: `spbtrf`, `dpbtrf`, `cpbtrf`, `zpbtrf`
89 LDL decomposition of a symmetric (or Hermitian) matrix
92 * `ssytrf`, `dsytrf`, `csytrf`, `chetrf`, `zsytrf`, `zhetrf`,
93 * `ssytrf_rook`, `dsytrf_rook`, `csytrf_rook`, `chetrf_rook`, `zsytrf_rook`,
101 LU decomposition of a general matrix with pivoting
103 Routines: `sgetrf`, `dgetrf`, `cgetrf`, `zgetrf`
108 LU decomposition of a general banded matrix with pivoting
110 Routines: `sgbtrf`, `dgbtrf`, `cgbtrf`, `zgbtrf`
115 Solution of the quasi-triangular Sylvester equation
117 Routines: `strsyl`, `dtrsyl`, `ctrsyl`, `ztrsyl`
121 * A^T X + B Y = C -> X
122 * A X + B^T Y = C -> X
123 * A^T X + B^T Y = C -> X
125 * A^T X - B Y = C -> X
126 * A X - B^T Y = C -> X
127 * A^T X - B^T Y = C -> X
130 Solution of the generalized Sylvester equations
132 Routines: `stgsyl`, `dtgsyl`, `ctgsyl`, `ztgsyl`
135 * A R - L B = C, D R - L E = F -> L, R
136 * A^T R + D^T L = C, R B^T - L E^T = -F -> L, R
139 Covered BLAS extension
140 ----------------------
143 Matrix-matrix product updating only a triangular part of the result
145 Routines: `sgemmt`, `dgemmt`, `cgemmt`, `zgemmt`
148 * C = alpha A B + beta C
149 * C = alpha A B^T + beta C
150 * C = alpha A^T B + beta C
151 * C = alpha A^T B^T + beta C
156 The following operation is implemented as a blocked algorithm in LAPACK but
157 currently not yet covered in ReLAPACK as a recursive algorithm
160 Cholesky decomposition of a positive semi-definite matrix with complete pivoting.
162 Routines: `spstrf`, `dpstrf`, `cpstrf`, `zpstrf`
169 Not covered: extra FLOPs
170 ------------------------
171 The following routines are not covered because recursive variants would require
172 considerably more FLOPs or operate on banded matrices.
174 ### QR decomposition (and related)
176 * `sgeqrf`, `dgeqrf`, `cgeqrf`, `zgeqrf`
177 * `sgerqf`, `dgerqf`, `cgerqf`, `zgerqf`
178 * `sgeqlf`, `dgeqlf`, `cgeqlf`, `zgeqlf`
179 * `sgelqf`, `dgelqf`, `cgelqf`, `zgelqf`
180 * `stzrzf`, `dtzrzf`, `ctzrzf`, `ztzrzf`
182 Operations: Q R = A, R Q = A, Q L = A, L Q = A, R Z = A
184 Routines for multiplication with Q:
185 * `sormqr`, `dormqr`, `cunmqr`, `zunmqr`
186 * `sormrq`, `dormrq`, `cunmrq`, `zunmrq`
187 * `sormql`, `dormql`, `cunmql`, `zunmql`
188 * `sormlq`, `dormlq`, `cunmlq`, `zunmlq`
189 * `sormrz`, `dormrz`, `cunmrz`, `zunmrz`
191 Operations: C = Q C, C = C Q, C = Q^T C, C = C Q^T
193 Routines for construction of Q:
194 * `sorgqr`, `dorgqr`, `cungqr`, `zungqr`
195 * `sorgrq`, `dorgrq`, `cungrq`, `zungrq`
196 * `sorgql`, `dorgql`, `cungql`, `zungql`
197 * `sorglq`, `dorglq`, `cunglq`, `zunglq`
199 ### Symmetric reduction to tridiagonal
200 Routines: `ssytrd`, `dsytrd`, `csytrd`, `zsytrd`
202 Operation: Q T Q^T = A
204 ### Symmetric reduction to bidiagonal
205 Routines: `ssybrd`, `dsybrd`, `csybrd`, `zsybrd`
207 Operation: Q T P^T = A
209 ### Reduction to upper Hessenberg
210 Routines: `sgehrd`, `dgehrd`, `cgehrd`, `zgehrd`
212 Operation: Q H Q^T = A