This appendix lists all of the auxiliary routines (except for the BLAS) that are called from the LAPACK routines. These routines are found in the directory LAPACK/SRC. Routines specified with an underscore as the first character are available in all four data types (S, D, C, and Z), except those marked (real), for which the first character may be `S' or `D', and those marked (complex), for which the first character may be `C' or `Z'.
XERBLA Error handler for the BLAS and LAPACK routines
ILAENV INTEGER Return block size and other parameters
LSAME LOGICAL Return .TRUE. if two characters are the same
regardless of case
LSAMEN LOGICAL Return .TRUE. if two character strings are the
same regardless of case
SLAMCH REAL Return single precision machine parameters
DLAMCH DOUBLE PRECISION Return double precision machine parameters
Functions for computing norms:
_LANGB General band matrix
_LANGE General matrix
_LANGT General tridiagonal matrix
_LANHB (complex) Hermitian band matrix
_LANHE (complex) Hermitian matrix
_LANHP (complex) Hermitian packed matrix
_LANHS Upper Hessenberg matrix
_LANHT (complex) Hermitian tridiagonal matrix
_LANSB Symmetric band matrix
_LANSP Symmetric packed matrix
_LANST (real) Symmetric tridiagonal matrix
_LANSY Symmetric matrix
_LANTB Triangular band matrix
_LANTP Triangular packed matrix
_LANTR Trapezoidal matrix
Extensions to the Level 1 and 2 BLAS:
CROT Apply a plane rotation to a pair of complex vectors, where the cos is real
and the sin is complex
CSROT Apply a real plane rotation to a pair of complex vectors
ZDROT Double precision version of CSROT
_SYMV (complex) Symmetric matrix times vector
_SPMV (complex) Symmetric packed matrix times vector
_SYR (complex) Symmetric rank-1 update
_SPR (complex) Symmetric rank-1 update of a packed matrix
ICMAX1 Find the index of element whose real part has max. abs. value
IZMAX1 Find the index of element whose real part has max. abs. value
SCSUM1 Sum absolute values of a complex vector
DZSUM1 Double precision version of SCSUM1
_RSCL (real) Scale a vector by the reciprocal of a constant
CSRSCL Scale a complex vector by the reciprocal of a real constant
ZDRSCL Double precision version of CSRSCL
Level 2 BLAS versions of the block routines:
_GBTF2 compute the LU factorization of a general band matrix
_GEBD2 reduce a general matrix to bidiagonal form
_GEHD2 reduce a square matrix to upper Hessenberg form
_GELQ2 compute an LQ factorization without pivoting
_GEQL2 compute a QL factorization without pivoting
_GEQR2 compute a QR factorization without pivoting
_GERQ2 compute an RQ factorization without pivoting
_GESC2 solves the system of linear equations 578#578
using the factorization computed by xGETC2
_GETC2 computes the LU factorization of a general matrix with complete pivoting
_GETF2 compute the LU factorization of a general matrix
_HEGS2 (complex) reduce a Hermitian-definite generalized eigenvalue problem to
_HETD2 (complex) reduce a Hermitian matrix to real tridiagonal form
_HETF2 (complex) compute diagonal pivoting factorization of a Hermitian matrix
_ORG2L (real) generate the orthogonal matrix from xGEQLF
_ORG2R (real) generate the orthogonal matrix from xGEQRF
_ORGL2 (real) generate the orthogonal matrix from xGEQLF
_ORGR2 (real) generate the orthogonal matrix from xGERQF
_ORM2L (real) multiply by the orthogonal matrix from xGEQLF
_ORM2R (real) multiply by the orthogonal matrix from xGEQRF
_ORML2 (real) multiply by the orthogonal matrix from xGELQF
_ORMR2 (real) multiply by the orthogonal matrix from xGERQF
_ORMR3 (real) multiply by the orthogonal matrix from xTZRZF
_PBTF2 compute the Cholesky factorization of a positive definite band matrix
_POTF2 compute the Cholesky factorization of a positive definite matrix
_SYGS2 (real) reduce a symmetric-definite generalized eigenvalue problem to
_SYTD2 (real) reduce a symmetric matrix to tridiagonal form
_SYTF2 compute the diagonal pivoting factorization of a symmetric matrix
_TGEX2 swaps adjacent diagonal blocks in an upper (quasi) triangular matrix pair
174#174 by an orthogonal equivalence transformation
_TGSY2 Solves the generalized Sylvester equation
_TRTI2 compute the inverse of a triangular matrix
_UNG2L (complex) generate the unitary matrix from xGEQLF
_UNG2R (complex) generate the unitary matrix from xGEQRF
_UNGL2 (complex) generate the unitary matrix from xGEQLF
_UNGR2 (complex) generate the unitary matrix from xGERQF
_UNM2L (complex) multiply by the unitary matrix from xGEQLF
_UNM2R (complex) multiply by the unitary matrix from xGEQRF
_UNML2 (complex) multiply by the unitary matrix from xGELQF
_UNMR2 (complex) multiply by the unitary matrix from xGERQF
_UNMR3 (complex) multiply by the unitary matrix from xTZRZF
Other LAPACK auxiliary routines:
_LABAD (real) returns square root of underflow and overflow if exponent range is large
_LABRD reduce NB rows or columns of a matrix to upper or lower bidiagonal form
_LACGV (complex) conjugates a complex vector of length n
_LACRM (complex) matrix multiply 579#579, where A is complex, B is real,
and C is complex.
_LACRT (complex) applies a plane rotation to two complex vectors
_LACON estimate the norm of a matrix for use in condition estimation
_LACP2 copies all or part of a real matrix to a complex matrix
_LACPY copy a matrix to another matrix
_LADIV perform complex division in real arithmetic
_LAE2 (real) compute eigenvalues of a 2-by-2 real symmetric matrix
_LAEBZ compute and use the count of eigenvalues of a symmetric
_LAED0 Used by xSTEDC.
_LAED1 (real) Used by xSTEDC.
_LAED2 (real) Used by xSTEDC.
_LAED3 (real) Used by xSTEDC.
_LAED4 (real) Used by xSTEDC.
_LAED5 (real) Used by xSTEDC.
_LAED6 (real) Used by xSTEDC.
_LAED7 Used by xSTEDC.
_LAED8 Used by xSTEDC.
_LAED9 (real) Used by xSTEDC.
_LAEDA Used by xSTEDC.
_LAEIN Use inverse iteration to find a specified right and/or left eigenvector of an
upper Hessenberg matrix
_LAESY (complex) Compute eigenvalues and eigenvectors of a complex symmetric
_LAEV2 Compute eigenvalues and eigenvectors of a 2-by-2 real symmetric or complex
_LAEXC swap adjacent diagonal blocks in a quasi-upper triangular matrix
_LAG2 compute the eigenvalues of a 2-by-2 generalized
eigenvalue problem with scaling to avoid over-/underflow
_LAGS2 computes 2-by-2 orthogonal matrices
_LAGTF (real) factorizes the matrix 580#580
_LAGTM matrix-vector product where the matrix is tridiagonal
_LAGTS solves a system of equations 581#581 where
85#85 is a tridiagonal matrix
_LAGV2 computes the generalized Schur factorization of a 2-by-2 matrix
pencil (A,B), where B is upper triangular.
_LAHEF (complex) compute part of the diagonal pivoting factorization of a Hermitian
_LAHQR Find the Schur factorization of a Hessenberg matrix (modified version of
HQR from EISPACK)
_LAHRD reduce NB columns of a general matrix to Hessenberg form
_LAIC1 apply one step of incremental condition estimation
_LALN2 (real) Solve a 1-by-1 or 2-by-2 linear system
_LALS0 Used by xGELSD.
_LALSA Used by xGELSD.
_LALSD Used by xGELSD.
_LAMRG (real) Creates a permutation list to merge entries of
two independently sorted sets
_LANV2 (real) computes the Schur factorization of a real 2-by-2nonsymmetric matrix
_LAPLL measures linear dependence of two vectors
_LAPMT applies forward or backward permutations to the columns of a matrix
_LAPY2 (real) Compute square root of X**2 + Y**2
_LAPY3 (real) Compute square root of X**2 + Y**2 + Z**2
_LAQGB equilibrate a general band matrix
_LAQGE equilibrate a general matrix
_LAQP2 Used by xGEQP3.
_LAQPS Used by xGEQP3.
_LAQSB equilibrate a symmetric band matrix
_LAQSP equilibrate a symmetric packed matrix
_LAQSY equilibrate a symmetric matrix
_LAQTR (real) solve a real quasi-triangular system
_LAR1V Computes the (scaled) column of the inverse of the
submatrix in rows B1 through BN of the tridiagonal matrix
_LAR2V apply real plane rotations from both sides to a sequence
of 2-by-2 real symmetric matrices
_LARCM (complex) matrix multiply 579#579, where A is real, B is complex,
and C is complex.
_LARF apply (multiply by) an elementary reflector
_LARFB apply (multiply by) a block reflector
_LARFG generate an elementary reflector
_LARFT form the triangular factor of a block reflector
_LARFX unrolled version of xLARF
_LARGV generate a vector of plane rotations
_LARNV returns a vector of random numbers from a uniform or normaldistribution
_LARRB (real) performs limited bisection to locate eigenvalues
_LARRE (real) sets ``small'' off-diagonal elements of tridiagonal
matrix 85#85 to zero, and find the numbers 583#583,
the base 584#584
representations and the eigenvalues of each 585#585.
_LARRF (real) finds a new relatively robust representation such
that at least one of the eigenvalues is relatively isolated.
_LARRV (real) computes the eigenvectors of the tridiagonal matrix
586#586 given 140#140, 282#282 and the eigenvalues of 30#30.
_LARTG generate a plane rotation
_LARTV apply a vector of plane rotations to a pair of vectors
_LARUV (real) returns a vector of real random numbers from a uniformdistribution
_LARZ apply (multiply by) an elementary reflector as returned by xTZRZF
_LARZB apply (multiply by) a block reflector as returned by xTZRZF
_LARZT form the triangular factor of a block reflector as returned by xTZRZF
_LAS2 (real) Compute singular values of a 2-by-2 triangular matrix
_LASCL scale a matrix by CTO/CFROM
_LASD0 (real) Used by SBDSDC.
_LASD1 (real) Used by SBDSDC.
_LASD2 (real) Used by SBDSDC.
_LASD3 (real) Used by SBDSDC.
_LASD4 (real) Used by SBDSDC.
_LASD5 (real) Used by SBDSDC.
_LASD6 (real) Used by SBDSDC.
_LASD7 (real) Used by SBDSDC.
_LASD8 (real) Used by SBDSDC.
_LASD9 (real) Used by SBDSDC.
_LASDA (real) Used by SBDSDC.
_LASDQ (real) Used by SBDSDC.
_LASDT (real) Used by SBDSDC.
_LASET initializes a matrix to BETA on the diagonal and ALPHA on
_LASQ1 (real) Used by SBDSQR.
_LASQ2 (real) Used by SBDSQR.
_LASQ3 (real) Used by SBDSQR.
_LASQ4 (real) Used by SBDSQR.
_LASQ5 (real) Used by SBDSQR and SSTEGR.
_LASQ6 (real) Used by SBDSQR and SSTEGR.
_LASR Apply a sequence of plane rotations to a rectangular matrix
_LASRT Sorts numbers in increasing or decreasing order using Quick Sort,
reverting to Insertion sort on arrays of size 545#545 20.
_LASSQ Compute a scaled sum of squares of the elements of a vector
_LASV2 (real) Compute singular values and singular vectors of a 2-by-2 triangular
_LASWP Perform a series of row interchanges
_LASY2 (real) solve for a matrix X that satisfies the equation
_LASYF compute part of the diagonal pivoting factorization of a symmetric matrix
_LATBS solve a triangular band system with scaling to prevent overflow
_LATDF computes a contribution to the reciprocal Dif-estimate
_LATPS solve a packed triangular system with scaling to prevent overflow
_LATRD reduce NB rows and columns of a real symmetric or complex Hermitian
matrix to tridiagonal form
_LATRS solve a triangular system with scaling to prevent overflow
_LATRZ factors a real upper trapezoidal matrix by orthogonal transformations
_LATZM apply a Householder matrix generated by xTZRQF to a matrix
_LAUU2 Unblocked version of _LAUUM
_LAUUM Compute the product U*U' or L'*L (blocked version)