# Routines for BLAS, LAPACK, MAGMA

This re-organizes the LAPACK routines list by task, with a brief note indicating what each routine does. It also includes links to the Fortran 95 generic interfaces for driver subroutines. Not all “BLAS” routines are actually in BLAS; some are LAPACK extensions that functionally fit in the BLAS.

 BLAS and LAPACK guides are available from http://www.icl.utk.edu/~mgates3/docs/ Copyright © 2007–2017 by Mark Gates. Updated April 2017. You may freely copy and modify this document under the Creative Commons Attribution license. When distributing, please include the above link and copyright for this original document.

### Contents

Level 1 BLAS
Level 2 BLAS (packed, banded)
Level 3 BLAS
BLAS-like operations
Matrix norms
Linear systems
LU ( banded, tridiagonal)
Cholesky (packed, banded, tridiagonal)
LDL (packed, banded, tridiagonal)
triangular (packed, banded)
Linear least squares
QR, RQ, QL, LQ, RZ factorizations
Symmetric eigenvalue (packed, banded, tridiagonal)
Non-symmetric eigenvalue
SVD
Auxiliary
Unclassified
Deprecated

### Data type prefix

 s real float d double precision double c complex float complex z complex*16 double complex

### Matrix type prefix

Headers are color coded by matrix type

full banded packed tridiag generalized problem
general ge gb gt gg
symmetric sy sb sp st
Hermitian he hb hp ht
SPD/HPD po pb pp pt
triangular tr tb tp tg
upper Hessenberg hs hg
trapezoidal tz
orthogonal or op
unitary un up
diagonal di
bidiagonal bd
Types Routine MAGMA Matrix type Description Flops Data
Level 1 BLAS
s d c z axpy cublas vector add vectors, y = αx + y 2n 2n
s d c z copy cublas vector copy vector, y = x 0 2n
s d c z swap magma cublas vector swap vectors 0 2n
s d c z dot[c] cublas vector dot product, xH y 2n 2n
c z dotu cublas vector dot product, unconjugated xT y 2n 2n
sds ds dot vector dot product, extended precision 2n 2n
s d c z scal cublas vector scale vector, y = αy n n
cs zd scal cublas vector scale vector by single/double n n
s d cs zd rscl vector scale vector by reciprocal, y = y / α(lapack) n n
s d c z rot cublas vector apply Givens plane rotation 6n 2n
cs zd drot cublas vector apply Givens plane rotation 6n 2n
s d c z rotg generate plane rotation O(1) O(1)
s d c z lartg slower, more accurate version of rotg O(1) O(1)
s d rotm cublas vector apply modified plane rotation 6n 2n
s d rotmg cublas generate modified plane rotation O(1) O(1)
s d sc dz nrm2 magma cublas vector vector 2-norm, ||x||2 2n n
s d sc dz asum cublas vector vector 1-norm (pseudo), || Re(x) ||1 + || Im(x) ||1 n n
sc dz sum1 vector vector 1-norm (true), ||x||1 (lapack) 2n n
is id ic iz amax cublas vector vector inf-norm (pseudo), index with max abs value,
argmaxi | Re(xi) | + | Im(xi) |
n n
ic iz max1 vector vector inf-norm (true), index with real part has max abs value,
argmaxi | Re(xi) | (lapack)
n n
c z lacgv vector conjugate vector (lapack) n n
Level 2 BLAS
s d c z gemv magma cublas general matrix-vector multiply, y = αAx + βy 2mn mn
s d c z sy/hemv magma, mgpu cublas Hermitian 2n2 n2
c z symv magma complex-symmetric (in lapack)
s d c z trmv cublas triangular
s d c z sy/her cublas Hermitian rank 1 update, A = αxxT + A
c z syr complex-symmetric (in lapack)
s d c z ger/gerc cublas general rank 1 update, conjugated, A = αxyH + A
c z geru cublas general rank 1 update, unconjugated, A = αxyT + A
s d c z sy/her2 cublas Hermitian rank 2 update, A = αxyH + conj(α) yxH + A
s d c z trsv magma cublas triangular triangular solve Tx = b
Level 2 BLAS — packed
s d c z sp/hpmv Hermitian packed matrix-vector multiply, y = αAx + βy
c z spmv complex-symmetric packed
s d c z tpmv triangular packed
s d c z sp/hpr Hermitian packed rank 1 update, A = αxxH + A
c z spr complex-symmetric packed (in lapack)
s d c z sp/hpr2 Hermitian packed rank 2 update, A = αxyH + conj(α)yxH + A
s d c z tpsv triangular packed triangular solve Tx = b
Level 2 BLAS — banded
s d c z gbmv general banded matrix-vector multiply, y = αAx + βy
s d c z sb/hbmv Hermitian banded
s d c z tbmv triangular banded
s d c z tbsv triangular banded triangular solve Tx = b
Level 3 BLAS
s d c z gemm magma cublas general matrix-matrix multiply, C = αAB + βC
s d c z sy/hemm mgpu cublas Hermitian
c z symm cublas complex-symmetric
s d c z trmm cublas triangular
s d c z trsm magma cublas triangular triangular solve multiple rhs, TX = αB
s d c z sy/herk cublas Hermitian rank k update, C = αAAH + βC
c z syrk cublas complex-symmetric
s d c z sy/her2k cublas Hermitian rank 2k update, C = αABH + conj(α)BAH + βC
c z syr2k cublas complex-symmetric
BLAS-like operations (lapack)
s d c z lascl magma various scale matrix, A = αA where α = to/from
s d c z lacpy magma general or triangular copy matrix
c z lacp2 general or triangular copy real to complex matrix
sd ds cz zc _lag2_ magma general convert precisions (single to double, etc.)
sd ds cz zc _lat2_ magma triangular
s d c z larnv vector random numbers, uniform or normal distribution
s d laruv vector random numbers, uniform (called by larnv)
s d c z laset magma general or triangular set matrix to constant alpha, and beta on diagonal
Matrix norm (lapack)
s d c z lange magma general one-norm, inf-norm, Frobenius norm, or max absolute element
s d c z lanhs Hessenberg
s d c z lanhe magma Hermitian
c z lansy complex-symmetric
s d c z lantr magma triangular / trapezoidal
Matrix norm (lapack) — packed
s d c z lanhp Hermitian packed one-norm, inf-norm, Frobenius norm, or max absolute element
c z lansp complex-symmetric packed
s d c z lantb triangular banded
s d c z lantp triangular packed
Matrix norm (lapack) — banded
s d c z langb general banded one-norm, inf-norm, Frobenius norm, or max absolute element
c z lanhb Hermitian banded
c z lansb complex-symmetric banded
Matrix norm (lapack) — tridiagonal
s d c z langt tridiagonal one-norm, inf-norm, Frobenius norm, or max absolute element
s d c z lanht Hermitian tridiagonal
s d lanst symmetric tridiagonal
Matrix norm (lapack) — reverse communication
s d c z lacn2 general, implicit estimate one-norm using matrix-vector products
s d c z lacon general, implicit
Types Routine F95 MAGMA Matrix type Description
Linear systems — LU — driver
s d c z gesv F95 cpu gpu general solve Ax = b
ds zc gesv gpu general solve Ax = b, mixed precision
s d c z gesvx F95 general solve Ax = b, expert
Linear systems — LU, banded — driver
s d c z gbsv F95 general banded solve Ax = b
s d c z gbsvx F95 general banded solve Ax = b, expert
Linear systems — LU, tridiagonal — driver
s d c z gtsv F95 general tridiagonal solve Ax = b
s d c z gtsvx F95 general tridiagonal solve Ax = b, expert
Linear systems — LU — computational
s d c z getrf cpu gpu general LU factorization
s d c z getf2 general LU factorization, non-blocked
s d c z getrs gpu general solve Ax = b using factorization
ds zc getrs gpu general solve Ax = b using factorization, mixed precision
s d c z getri gpu general compute inverse A-1 using factorization
s d c z gerfs general refine solution to Ax = b, with error estimates
s d c z gecon general condition number estimate using factorization
s d c z geequ general equilibrate matrix
Linear systems — LU, banded — computational
s d c z gbtrf general banded LU factorization
s d c z gbtf2 general banded LU factorization, non-blocked
s d c z gbtrs general banded Solve Ax = b using factorization
s d c z gbrfs general banded refine solution to Ax = b, with error estimates
s d c z gbcon general banded condition number estimate using factorization
s d c z gbequ general banded equilibrate matrix
Linear systems — LU, tridiagonal — computational
s d c z gttrf general tridiagonal LU factorization
s d c z gttrs general tridiagonal Solve Ax = b using factorization
s d c z gtts2 general tridiagonal TODO
s d c z gtrfs general tridiagonal refine solution to Ax = b, with error estimates
s d c z gtcon general tridiagonal condition number estimate using factorization
Linear systems — Cholesky — driver
s d c z posv F95 cpu gpu SPD solve Ax = b
ds zc posv gpu SPD solve Ax = b, mixed precision
s d c z posvx F95 SPD solve Ax = b, expert
Linear systems — Cholesky, packed — driver
s d c z ppsv F95 SPD packed solve Ax = b
s d c z ppsvx F95 SPD packed solve Ax = b, expert
Linear systems — Cholesky, banded — driver
s d c z pbsv F95 SPD banded solve Ax = b
s d c z pbsvx F95 SPD banded solve Ax = b, expert
Linear systems — Cholesky, tridiagonal — driver
s d c z ptsv F95 SPD tridiagonal solve Ax = b
s d c z ptsvx F95 SPD tridiagonal solve Ax = b, expert
Linear systems — Cholesky — computational
s d c z potrf cpu gpu SPD Cholesky factorization
s d c z potf2 SPD Cholesky factorization, non-blocked
s d c z potrs gpu SPD Solve Ax = b using factorization
s d c z potri cpu gpu SPD compute inverse A-1 using factorization
s d c z porfs SPD refine solution to Ax = b, with error estimates
s d c z pocon SPD condition number estimate using factorization
s d c z poequ SPD equilibrate matrix
s d c z lauum cpu gpu triangular compute UUT or LTL
s d c z lauu2 triangular compute UUT or LTL, non-blocked
Linear systems — Cholesky, packed — computational
s d c z pptrf SPD packed Cholesky factorization
s d c z pptrs SPD packed Solve Ax = b using factorization
s d c z pptri SPD packed compute inverse A-1 using factorization
s d c z pprfs SPD packed refine solution to Ax = b, with error estimates
s d c z ppcon SPD packed condition number estimate using factorization
s d c z ppequ SPD packed equilibrate matrix
Linear systems — Cholesky, banded — computational
s d c z pbtrf SPD banded Cholesky factorization
s d c z pbtf2 SPD banded Cholesky factorization, non-blocked
s d c z pbtrs SPD banded Solve Ax = b using factorization
s d c z pbrfs SPD banded refine solution to Ax = b, with error estimates
s d c z pbcon SPD banded condition number estimate using factorization
s d c z pbequ SPD banded equilibrate matrix
Linear systems — Cholesky, tridiagonal — computational
s d c z pttrf SPD tridiagonal Factor A
s d c z pttrs SPD tridiagonal Solve Ax = b using factorization
s d c z ptrfs SPD tridiagonal refine solution to Ax = b, with error estimates
s d c z ptcon SPD tridiagonal condition number estimate using factorization
Linear systems — symmetric indefinite — driver
s d c z sy/hesv cpu Hermitian solve Ax = b
s d c z sy/hesvx Hermitian solve Ax = b, expert
Linear systems — symmetric indefinite, packed — driver
s d c z sp/hpsv Hermitian packed solve Ax = b
s d c z sp/hpsvx Hermitian packed solve Ax = b, expert
Linear systems — symmetric indefinite — computational
s d c z sy/hetrf cpu Hermitian LDLT symmetric indefinite factorization
s d c z sy/hetf2 Hermitian LDLT symmetric indefinite factorization, non-blocked
s d c z sy/hetrs --- Hermitian Solve Ax = b using factorization
s d c z sy/hetri Hermitian compute inverse A-1 using factorization
s d c z sy/hecon Hermitian condition number estimate using factorization
s d c z sy/herfs Hermitian refine solution to Ax = b, with error estimates
c z sysv F95 cpu complex-symmetric solve Ax = b
c z sysvx F95 complex-symmetric solve Ax = b, expert
c z sytrf cpu complex-symmetric LDLT symmetric indefinite factorization
c z sytf2 complex-symmetric LDLT symmetric indefinite factorization, non-blocked
c z sytrs --- complex-symmetric Solve Ax = b using factorization
c z sytri complex-symmetric compute inverse A-1 using factorization
c z sycon complex-symmetric condition number estimate using factorization
c z syrfs complex-symmetric refine solution to Ax = b, with error estimates
Linear systems — symmetric indefinite, packed — computational
s d c z sp/hptrf Hermitian packed LDLT symmetric indefinite factorization
d s c z sp/hptrs Hermitian packed Solve Ax = b using factorization
s d c z sp/hptri Hermitian packed compute inverse A-1 using factorization
s d c z sp/hprfs Hermitian packed refine solution to Ax = b, with error estimates
s d c z sp/hpcon Hermitian packed condition number estimate using factorization
c z spsv F95 complex-symmetric packed solve Ax = b
c z spsvx F95 complex-symmetric packed solve Ax = b, expert
c z sptrf complex-symmetric packed LDLT symmetric indefinite factorization
c z sptrs complex-symmetric packed Solve Ax = b using factorization
c z sptri complex-symmetric packed compute inverse A-1 using factorization
c z sprfs complex-symmetric packed refine solution to Ax = b, with error estimates
c z spcon complex-symmetric packed condition number estimate using factorization
Linear systems — triangular — computational
s d c z trtrs triangular triangular solve Tx = b (trsv plus singularity check)
s d c z latrs triangular triangular solve Tx = b, slowly and carefully with scaling
s d c z trtri cpu gpu triangular compute inverse A-1 using factorization
s d c z trti2 triangular compute inverse A-1 using factorization, non-blocked
s d c z trrfs triangular refine solution to Ax = b, with error estimates
s d c z trcon triangular condition number estimate
Linear systems — triangular, packed — computational
s d c z tptrs triangular packed triangular solve Tx = b (trsv plus singularity check)
s d c z latps triangular packed triangular solve Tx = b, slowly and carefully with scaling
s d c z tptri triangular packed compute inverse A-1 using factorization
s d c z tprfs triangular packed refine solution to Ax = b, with error estimates
s d c z tpcon triangular packed condition number estimate
Linear systems — triangular, banded — computational
s d c z tbtrs triangular banded triangular solve Tx = b
s d c z latbs triangular banded triangular solve Tx = b, slowly and carefully with scaling
s d c z tbrfs triangular banded refine solution to Ax = b, with error estimates
s d c z tbcon triangular banded condition number estimate
Linear least squares — driver
s d c z gels F95 gpu general Minimize ||b - Ax||2
geqrsv gpu general, mixed precision Minimize ||b - Ax||2
s d c z gelsy F95 general ... using complete orthogonal factorization
s d c z gelsd F95 general ... using SVD (divide-and-conquer)
s d c z gelss F95 general ... using SVD
s d c z gglse F95 general Minimize ||c - Ax||2 subject to Bx = d
s d c z ggglm F95 general Minimize ||y||2 subject to d = Ax + By
QR factorization — computational
s d c z geqrf cpu gpu general QR factorization
s d c z geqr2 general QR factorization, non-blocked
s d c z geqp3 cpu gpu general QR factorization with pivoting
geqrs gpu general Minimize ||b - Ax||2
s d c z ggqrf general generalized QR factorization
s d c z or/ungqr cpu gpu unitary generate Q
s d c z or/ung2r unitary generate Q, non-blocked
s d c z or/unmqr cpu gpu unitary multiply by Q
s d c z or/unm2r unitary multiply by Q, non-blocked
RQ factorization — computational
s d c z gerqf general RQ factorization
s d c z gerq2 general RQ factorization, non-blocked
s d c z ggrqf general generalized RQ factorization
s d c z or/ungrq unitary generate Q
s d c z or/ungr2 unitary generate Q, non-blocked
s d c z or/unmrq unitary multiply by Q
s d c z or/unmr2 unitary multiply by Q, non-blocked
QL factorization — computational
s d c z geqlf cpu general QL factorization
s d c z geql2 general QL factorization, non-blocked
s d c z or/ungql unitary generate Q
s d c z or/ung2l unitary generate Q, non-blocked
s d c z or/unmql cpu unitary multiply by Q
s d c z or/unm2l unitary multiply by Q, non-blocked
LQ factorization — computational
s d c z gelqf cpu gpu general LQ factorization
s d c z gelq2 general LQ factorization, non-blocked
s d c z or/unglq unitary generate Q
s d c z or/ungl2 unitary generate Q, non-blocked
s d c z or/unmlq unitary multiply by Q
s d c z or/unml2 unitary multiply by Q, non-blocked
RZ factorization — computational
s d c z tzrzf trapezoidal RZ factorization
s d c z or/unmrz unitary multiply by Q
s d c z or/unmr3 unitary multiply by Q, non-blocked
Symmetric eigenvalues — driver
s d c z sy/heev F95 Hermitian solve Ax = λx, QR iteration
s d c z sy/heevx F95 cpu gpu Hermitian solve Ax = λx, QR iteration, expert
s d c z sy/heevd F95 cpu gpu Hermitian solve Ax = λx, D&C
s d c z sy/heevr F95 cpu gpu Hermitian solve Ax = λx, RRR
s d c z sy/hegv F95 Hermitian solve Ax = λMx, generalized, QR iteration
s d c z sy/hegvx F95 cpu Hermitian solve Ax = λMx, generalized, QR iteration, expert
s d c z sy/hegvd F95 cpu Hermitian solve Ax = λMx, generalized, D&C
sy/hegvr cpu Hermitian solve Ax = λMx, generalized, RRR
Symmetric eigenvalues — packed — driver
s d c z sp/hpev F95 Hermitian packed solve Ax = λx
s d c z sp/hpevx F95 Hermitian packed solve Ax = λx, expert
s d c z sp/hpevd F95 Hermitian packed solve Ax = λx, D&C
s d c z sp/hpgv Hermitian packed solve Ax = λMx, generalized
s d c z sp/hpgvx F95 Hermitian packed solve Ax = λMx, generalized, expert
s d c z sp/hpgvd F95 Hermitian packed solve Ax = λMx, generalized, D&C
Symmetric eigenvalues — banded — driver
s d c z sb/hbev F95 Hermitian banded solve Ax = λx
s d c z sb/hbevx F95 Hermitian banded solve Ax = λx, expert
s d c z sb/hbevd F95 Hermitian banded solve Ax = λx, D&C
s d c z sb/hbgv F95 Hermitian banded solve Ax = λMx, generalized
s d c z sb/hbgvx F95 Hermitian banded solve Ax = λMx, generalized, expert
s d c z sb/hbgvd F95 Hermitian banded solve Ax = λMx, generalized, D&C
Symmetric eigenvalues — tridiagonal — driver
s d stev F95 symmetric tridiagonal solve Ax = λx
s d stevx F95 symmetric tridiagonal solve Ax = λx, expert
s d stevd F95 symmetric tridiagonal solve Ax = λx, D&C
s d stevr F95 symmetric tridiagonal solve Ax = λx, RRR
Symmetric eigenvalues — computational
s d c z latrd cpu reduction to tridiagonal (sy/hetrd) panel
s d c z sy/hetrd cpu gpu Hermitian reduction to tridiagonal
s d c z sy/hetd2 Hermitian reduction to tridiagonal, non-blocked
s d c z or/ungtr cpu unitary generate matrix after -trd
s d c z or/unmtr cpu gpu unitary multiply by matrix after -trd
s d c z sy/hegst cpu gpu Hermitian reduce generalized to standard form
s d c z sy/hegs2 Hermitian reduce generalized to standard form, non-blocked
Symmetric eigenvalues — packed — computational
s d c z sp/hptrd Hermitian packed reduction to tridiagonal
s d c z op/upgtr unitary packed generate matrix after -trd
s d c z op/upmtr unitary packed multiply by matrix after -trd
s d c z sp/hpgst Hermitian packed reduce generalized to standard form
Symmetric eigenvalues — banded — computational
s d c z sb/hbtrd Hermitian banded reduction to tridiagonal
s d c z sb/hbgst Hermitian banded reduce generalized to standard form
Symmetric eigenvalues — tridiagonal — computational
s d c z steqr symmetric tridiagonal symmetric tridiagonal eigensolver, using implicitly shifted QR
s d c z pteqr SPD tridiagonal ... using Cholesky and bidiagonal QR
s d sterf symmetric tridiagonal ... using square-root free QR
s d c z stedc symmetric tridiagonal ... using divide-and-conquer
s d c z stegr symmetric tridiagonal ... using relatively robust representation
s d stebz symmetric tridiagonal eigenalues using bisection
s d c z stein symmetric tridiagonal eigenvectors using inverse iteration
s d disna diagonal condition numbers
Non-symmetric eigenvalues — driver
s d c z geev F95 cpu general solve Ax = λx
s d c z geevx F95 general solve Ax = λx, expert
s d c z ggev F95 general solve Ax = λMx
s d c z ggevx F95 general solve Ax = λMx, expert
Non-symmetric eigenvalues — computational
s d c z gehrd cpu general Hessenberg reduction
s d c z gehd2 general Hessenberg reduction, non-blocked
s d c z lahr2 cpu Hessenberg reduction (gehrd) panel
lahru cpu Hessenberg reduction (gehrd) trailing matrix update (MAGMA only)
s d c z gebal general balance matrix
s d c z gebak general back transforming
s d c z or/unghr cpu unitary generate matrix after -hrd
s d c z or/unmhr unitary multiply by matrix after -hrd
s d c z hseqr upper Hessenberg Schur factorizaton
s d c z hsein upper Hessenberg eigenvectors by inverse iteration
s d c z trevc3 cpu triangular eigenvectors
s d c z trevc triangular eigenvectors, non-blocked
s d c z gees F95 general Schur factorization
s d c z geesx F95 general Schur factorization, expect
s d c z gges F95 general generalized Schur factorization
s d c z ggesx F95 general generalized Schur factorization, expert
s d c z trexc triangular reorder Schur factorization
s d c z trsyl triangular Sylvester equation
s d c z trsna triangular condition numbers
s d c z trsen triangular condition numbers of eigenvalue cluster/subspace
Generalized non-symmetric eigenvalue — computational
s d c z gghrd general Hessenberg reduction
s d c z ggbal general balance matrix
s d c z ggbak general back transforming
s d c z hgeqz upper Hessenberg eigenvalues
s d c z tgevc triangular eigenvectors
s d c z tgexc triangular reorder Schur factorization
s d c z tgsyl triangular Sylvester equation
s d c z tgsna triangular condition numbers
s d c z tgsen triangular condition numbers of eigenvalue cluster/subspace
SVD — driver
s d c z gesvd F95 cpu general SVD using QR iteration
s d c z bdsqr bidiagonal SVD using QR iteration
s d c z gesdd F95 cpu general SVD using divide-and-conquer
s d bdsdc bidiagonal SVD using divide-and-conquer
s d c z ggsvd F95 general generalized SVD
SVD — computational
s d c z gbbrd general banded reduce to bidiagonal form
s d c z gebrd cpu general reduce to bidiagonal form
s d c z gebd2 general reduce to bidiagonal form, non-blocked
s d c z labrd gpu bidiagonal (gebrd) panel
s d c z or/ungbr unitary generate matrix after -brd
s d c z or/unmbr unitary multiply by matrix after -brd
Auxiliary (scalars)
s d cabs1 abs of complex number, | Re(x) | + | Im(x) |
s d c z ladiv complex divide
s d lapy2 sqrt( x^2 + y^2 )
s d lapy3 sqrt( x^2 + y^2 + z^2 )
s d lamch returns machine precision, under/overflow, etc.
s d labad modifies machine under/overflow for old Crays
Auxilliary, general
c z lacrm simple matrix-matrix multiply
c z larcm simple matrix-matrix multiply
s d lasrt sort, using quick sort then insertion sort
s d c z lassq scaled sum-of-squares
Auxilliary, solve related
s d c z laqge general equilibrate matrix
s d c z laqgb general banded
c z laqhe Hermitian
c z laqhb Hermitian banded
c z laqhp Hermitian packed
s d c z laqsy symmetric
s d c z laqsb symmetric banded
s d c z laqsp symmetric packed
s d laqtr triangular
s d lagtf LU factor of tridiagonal + diagonal matrix
s d c z lagtm tridiagonal matrix-vector multiply
s d lagts tridiagonal solve
s d laln2 solve (alpha A + beta D)X = gamma B
s d c z lals0 apply factors for least-squares using D&C SVD
s d c z lalsa compute compact SVD for least-squares
s d c z lalsd solve least-squares using SVD
s d lamrg create permutation to merge two sorted lists
s d c z laic1 step of condition estimate
c z lahef partial factor of Hermitian matrix
s d c z lapll linear dependency of 2 vectors
s d c z lapmt reorder columns by permutation
s d c z laqp2 QR of block, with pivoting
s d c z laqps QR panel + update, with pivoting
s d c z laswp perform row interchanges
s d lasy2 solve TL*X + X*TR = alpha*B (or transposes thereof)
s d c z lasyf partial factorization
s d c z latdf using LU factor, compute Dif-estimate
s d c z latrz trapezoidal orthogonal factorization
Auxilliary, Householder
s d c z larf gpu apply Householder reflector to matrix, on left or right
s d c z larfb gpu apply block reflector to matrix, on left or right
s d c z larfg gpu generate Householder reflector H
s d c z larft form T for block reflector H, so H = I - VTV^T
s d c z larfx apply Householder reflector to matrix, on left or right
s d c z larz apply Householder reflector to matrix, on left or right
s d c z larzb apply block reflector to distributed matrix, on left or right
s d c z larzt form T for block reflector, so H = I - VTV^T
Auxilliary, plane rotation
c z lacrt complex plane rotation
s d c z lar2v apply plane rotations
s d c z largv generate plane rotations
s d c z lartv apply plane rotations
s d c z lasr apply plane rotations, on left or right
Auxilliary, eigenvalue related
s d lae2 eigenvalues of 2x2 symmetric matrix
s d laebz compute # eigenvalues ≤ w
s d c z laed0 eval and evec of symmetric tridiagonal using divide-and-conquer
s d laed3 roots of secular (characteristic) equation
s d laed4 i-th eigenvalue after rank-1 update of diagonal matrix; used by laed9
s d laed5 i-th eigenvalue after rank-1 update of 2x2 diagonal matrix
s d laed6 root of some equation; used by laed4
s d c z laed8 merge eigenvalues and deflate; see also laed2
s d laed9 roots of secular (characteristic) equation
s d laeda Z vector for CURPBMth problem
s d c z laein eigenvector by inverse iteration
c z laesy eigenvalues of 2x2 matrix
s d c z laev2 eigenvalues of 2x2 matrix
s d laexc swap diagonal blocks of Schur form
s d lag2 generalized eigenvalues of 2x2 matrix
s d c z lags2 upper triangular to lower triangular by orthogonal similarity transform
s d lagv2 generalized Schur factor of 2x2 system
s d c z lahqr update eigenvalues and Schur decomposition
s d lanv2 Schur factor of 2x2 system
s d c z lar1v eigenvector by inverse of tridiadonal matrix
s d larrb bisection using relatively robust repr (RRR)
s d larre eigenvalues of symmetric tridiagonal
s d larrf find new RRR that isolates eigenvalue
s d c z larrv eigenvalues of tridiagonal
Auxilliary, Hessenberg related
s d c z laqr0 eigenvalues of Hessenberg
s d c z laqr1 used for double implicit shift in QR algorithm
s d c z laqr2 same as laqr3, but avoid recursion
s d c z laqr3 deflate eigenvalues from Hessenberg
s d c z laqr4 same as laqr0, but calls laqr2
s d c z laqr5 single small-bulge multi-shift QR sweep
Auxilliary, SVD using D&C
s d las2 singular values of 2x2 upper triangular
s d lasd0 SVD of bidiagonal
s d lasd1 SVD of bidiagonal; called by lasd0
s d lasd2 merge sets of singular values, then deflate
s d lasd3 sqrt of roots of secular (characteristic) equation
s d lasd4 sqrt of ith eigenvalue of rank-1 update
s d lasd5 sqrt of ith eigenvalue of rank-1 update of 2x2 diagonal
s d lasd6 SVD of upper bidiagonal by merging 2 smaller ones
s d lasd7 SVD; called by lasd7
s d lasd8 sqrt of roots of secular (characteristic) equation; called by lasd6
s d lasda SVD of bidiagonal; similar to lasd0
s d lasdq SVD of bidiagonal
s d lasdt creates subproblems for bidiagonal D&C
Auxilliary, SVD using DQDS
s d lasq1 singular values of bidiagonal
s d lasq2 singular values of bidiagonal
s d lasq3 eigenvalues of SPD tridiagonal
s d lasq4 check for deflation
s d lasq5 approximate smallest eigenvalue
s d lasq6 one DQDS transform
s d lasv2 SVD of 2x2 triangular

There are 5 different versions of second and dsecnd. The appropriate version for your system should be installed when LAPACK is installed.

Single Double Description
second dsecnd user time in seconds, using external ETIME
second dsecnd user time in seconds, using external ETIME_
second dsecnd user time in seconds, using ETIME
second dsecnd user time in seconds, using CPU_TIME
second dsecnd returns 0, instead of a user time
Routine Description
ieeeck check that Inf and NaN are safe
ilaenv choose problem dependent parameters
ilaver LAPACK version
iparmq set problem and machine dependent parameters
lsame case-insensitive char match
lsamen case-insensitive string match
xerbla error handler
Unclassified
TODO: stuff to sort through
s d c z gegs general
s d c z gelsx general
s d c z gesc2 general
s d c z getc2 general
s d c z ggsvp general
s d c z pbstf SPD banded
s d c z ptts2 SPD tridiagonal
s d c z tgex2 triangular
s d c z tgsja triangular
s d c z tgsy2 triangular
Deprecated
s d c z geqpf general deprecated; use geqp3
s d c z tzrqf trapezoidal deprecated; use tzrzf
s d laisnan scalar deprecated; use Fortran's isnan
s d isnan scalar deprecated; use Fortran's isnan
s d c z latzm deprecated; use ormrz
s d c z lahrd deprecated; use lahr2
s d c z gegv general deprecated; use dggev