1Coverage of ReLAPACK 2==================== 3 4This file lists all LAPACK compute routines that are covered by recursive 5algorithms in ReLAPACK, it also lists all of LAPACK's blocked algorithms which 6are not (yet) part of ReLAPACK. 7 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)* 11 12- [List of covered LAPACK routines](#list-of-covered-lapack-routines) 13 - [`xlauum`](#xlauum) 14 - [`xsygst`](#xsygst) 15 - [`xtrtri`](#xtrtri) 16 - [`xpotrf`](#xpotrf) 17 - [`xpbtrf`](#xpbtrf) 18 - [`xsytrf`](#xsytrf) 19 - [`xgetrf`](#xgetrf) 20 - [`xgbtrf`](#xgbtrf) 21 - [`xtrsyl`](#xtrsyl) 22 - [`xtgsyl`](#xtgsyl) 23- [Covered BLAS extension](#covered-blas-extension) 24 - [`xgemmt`](#xgemmt) 25- [Not covered yet](#not-covered-yet) 26 - [`xpstrf`](#xpstrf) 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) 32 33<!-- END doctoc generated TOC please keep comment here to allow auto update --> 34 35 36List of covered LAPACK routines 37------------------------------- 38 39### `xlauum` 40Multiplication of a triangular matrix with its (complex conjugate) transpose, 41resulting in a symmetric (Hermitian) matrix. 42 43Routines: `slauum`, `dlauum`, `clauum`, `zlauum` 44 45Operations: 46* A = L^T L 47* A = U U^T 48 49### `xsygst` 50Simultaneous two-sided multiplication of a symmetric matrix with a triangular 51matrix and its transpose 52 53Routines: `ssygst`, `dsygst`, `chegst`, `zhegst` 54 55Operations: 56* A = inv(L) A inv(L^T) 57* A = inv(U^T) A inv(U) 58* A = L^T A L 59* A = U A U^T 60 61### `xtrtri` 62Inversion of a triangular matrix 63 64Routines: `strtri`, `dtrtri`, `ctrtri`, `ztrtri` 65 66Operations: 67* L = inv(L) 68* U = inv(U) 69 70### `xpotrf` 71Cholesky decomposition of a symmetric (Hermitian) positive definite matrix 72 73Routines: `spotrf`, `dpotrf`, `cpotrf`, `zpotrf` 74 75Operations: 76* L L^T = A 77* U^T U = A 78 79### `xpbtrf` 80Cholesky decomposition of a banded symmetric (Hermitian) positive definite matrix 81 82Routines: `spbtrf`, `dpbtrf`, `cpbtrf`, `zpbtrf` 83 84Operations: 85* L L^T = A 86* U^T U = A 87 88### `xsytrf` 89LDL decomposition of a symmetric (or Hermitian) matrix 90 91Routines: 92* `ssytrf`, `dsytrf`, `csytrf`, `chetrf`, `zsytrf`, `zhetrf`, 93* `ssytrf_rook`, `dsytrf_rook`, `csytrf_rook`, `chetrf_rook`, `zsytrf_rook`, 94 `zhetrf_rook` 95 96Operations: 97* L D L^T = A 98* U^T D U = A 99 100### `xgetrf` 101LU decomposition of a general matrix with pivoting 102 103Routines: `sgetrf`, `dgetrf`, `cgetrf`, `zgetrf` 104 105Operation: P L U = A 106 107### `xgbtrf` 108LU decomposition of a general banded matrix with pivoting 109 110Routines: `sgbtrf`, `dgbtrf`, `cgbtrf`, `zgbtrf` 111 112Operation: L U = A 113 114### `xtrsyl` 115Solution of the quasi-triangular Sylvester equation 116 117Routines: `strsyl`, `dtrsyl`, `ctrsyl`, `ztrsyl` 118 119Operations: 120* A X + B Y = C -> X 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 124* A X - B 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 128 129### `xtgsyl` 130Solution of the generalized Sylvester equations 131 132Routines: `stgsyl`, `dtgsyl`, `ctgsyl`, `ztgsyl` 133 134Operations: 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 137 138 139Covered BLAS extension 140---------------------- 141 142### `xgemmt` 143Matrix-matrix product updating only a triangular part of the result 144 145Routines: `sgemmt`, `dgemmt`, `cgemmt`, `zgemmt` 146 147Operations: 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 152 153 154Not covered yet 155--------------- 156The following operation is implemented as a blocked algorithm in LAPACK but 157currently not yet covered in ReLAPACK as a recursive algorithm 158 159### `xpstrf` 160Cholesky decomposition of a positive semi-definite matrix with complete pivoting. 161 162Routines: `spstrf`, `dpstrf`, `cpstrf`, `zpstrf` 163 164Operations: 165* P L L^T P^T = A 166* P U^T U P^T = A 167 168 169Not covered: extra FLOPs 170------------------------ 171The following routines are not covered because recursive variants would require 172considerably more FLOPs or operate on banded matrices. 173 174### QR decomposition (and related) 175Routines: 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` 181 182Operations: Q R = A, R Q = A, Q L = A, L Q = A, R Z = A 183 184Routines 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` 190 191Operations: C = Q C, C = C Q, C = Q^T C, C = C Q^T 192 193Routines for construction of Q: 194* `sorgqr`, `dorgqr`, `cungqr`, `zungqr` 195* `sorgrq`, `dorgrq`, `cungrq`, `zungrq` 196* `sorgql`, `dorgql`, `cungql`, `zungql` 197* `sorglq`, `dorglq`, `cunglq`, `zunglq` 198 199### Symmetric reduction to tridiagonal 200Routines: `ssytrd`, `dsytrd`, `csytrd`, `zsytrd` 201 202Operation: Q T Q^T = A 203 204### Symmetric reduction to bidiagonal 205Routines: `ssybrd`, `dsybrd`, `csybrd`, `zsybrd` 206 207Operation: Q T P^T = A 208 209### Reduction to upper Hessenberg 210Routines: `sgehrd`, `dgehrd`, `cgehrd`, `zgehrd` 211 212Operation: Q H Q^T = A 213