# Auxiliary Routines

Routine naming conventions, mathematical notation, and matrix storage schemes used for LAPACK auxiliary routines are the same as for the driver and computational routines described in previous chapters.

The table below summarizes information about the available LAPACK auxiliary routines.

LAPACK Auxiliary Routines

Routine Name

Data Types

Description

?lacgv

c, z

Conjugates a complex vector.

?lacrm

c, z

Multiplies a complex matrix by a square real matrix.

?lacrt

c, z

Performs a linear transformation of a pair of complex vectors.

?laesy

c, z

Computes the eigenvalues and eigenvectors of a 2-by-2 complex symmetric matrix.

?rot

c, z

Applies a plane rotation with real cosine and complex sine to a pair of complex vectors.

?spmv

c, z

Computes a matrix-vector product for complex vectors using a complex symmetric packed matrix

?spr

c, z

Performs the symmetrical rank-1 update of a complex symmetric packed matrix.

?syconv

s, c, d, z

Converts a symmetric matrix given by a triangular matrix factorization into two matrices and vice versa.

?symv

c, z

Computes a matrix-vector product for a complex symmetric matrix.

?syr

c, z

Performs the symmetric rank-1 update of a complex symmetric matrix.

i?max1

c, z

Finds the index of the vector element whose real part has maximum absolute value.

?sum1

sc, dz

Forms the 1-norm of the complex vector using the true absolute value.

?gbtf2

s, d, c, z

Computes the LU factorization of a general band matrix using the unblocked version of the algorithm.

?gebd2

s, d, c, z

Reduces a general matrix to bidiagonal form using an unblocked algorithm.

?gehd2

s, d, c, z

Reduces a general square matrix to upper Hessenberg form using an unblocked algorithm.

?gelq2

s, d, c, z

Computes the LQ factorization of a general rectangular matrix using an unblocked algorithm.

?geql2

s, d, c, z

Computes the QL factorization of a general rectangular matrix using an unblocked algorithm.

?geqr2

s, d, c, z

Computes the QR factorization of a general rectangular matrix using an unblocked algorithm.

?geqr2p

s, d, c, z

Computes the QR factorization of a general rectangular matrix with non-negative diagonal elements using an unblocked algorithm.

?geqrt2

s, d, c, z

Computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.

?geqrt3

s, d, c, z

Recursively computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.

?gerq2

s, d, c, z

Computes the RQ factorization of a general rectangular matrix using an unblocked algorithm.

?gesc2

s, d, c, z

Solves a system of linear equations using the LU factorization with complete pivoting computed by ?getc2.

?getc2

s, d, c, z

Computes the LU factorization with complete pivoting of the general n-by-n matrix.

?getf2

s, d, c, z

Computes the LU factorization of a general m-by-n matrix using partial pivoting with row interchanges (unblocked algorithm).

?gtts2

s, d, c, z

Solves a system of linear equations with a tridiagonal matrix using the LU factorization computed by ?gttrf.

?isnan

s, d,

Tests input for NaN.

?laisnan

s, d,

Tests input for NaN by comparing two arguments for inequality.

?labrd

s, d, c, z

Reduces the first nb rows and columns of a general matrix to a bidiagonal form.

?lacn2

s, d, c, z

Estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vector products.

?lacon

s, d, c, z

Estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vector products.

?lacpy

s, d, c, z

Copies all or part of one two-dimensional array to another.

s, d, c, z

Performs complex division in real arithmetic, avoiding unnecessary overflow.

?lae2

s, d

Computes the eigenvalues of a 2-by-2 symmetric matrix.

?laebz

s, d

Computes the number of eigenvalues of a real symmetric tridiagonal matrix which are less than or equal to a given value, and performs other tasks required by the routine ?stebz.

?laed0

s, d, c, z

Used by ?stedc. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method.

?laed1

s, d

Used by sstedc/dstedc. Computes the updated eigensystem of a diagonal matrix after modification by a rank-one symmetric matrix. Used when the original matrix is tridiagonal.

?laed2

s, d

Used by sstedc/dstedc. Merges eigenvalues and deflates secular equation. Used when the original matrix is tridiagonal.

?laed3

s, d

Used by sstedc/dstedc. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is tridiagonal.

?laed4

s, d

Used by sstedc/dstedc. Finds a single root of the secular equation.

?laed5

s, d

Used by sstedc/dstedc. Solves the 2-by-2 secular equation.

?laed6

s, d

Used by sstedc/dstedc. Computes one Newton step in solution of the secular equation.

?laed7

s, d, c, z

Used by ?stedc. Computes the updated eigensystem of a diagonal matrix after modification by a rank-one symmetric matrix. Used when the original matrix is dense.

?laed8

s, d, c, z

Used by ?stedc. Merges eigenvalues and deflates secular equation. Used when the original matrix is dense.

?laed9

s, d

Used by sstedc/dstedc. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense.

?laeda

s, d

Used by ?stedc. Computes the Z vector determining the rank-one modification of the diagonal matrix. Used when the original matrix is dense.

?laein

s, d, c, z

Computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration.

?laev2

s, d, c, z

Computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix.

?laexc

s, d

Swaps adjacent diagonal blocks of a real upper quasi-triangular matrix in Schur canonical form, by an orthogonal similarity transformation.

?lag2

s, d

Computes the eigenvalues of a 2-by-2 generalized eigenvalue problem, with scaling as necessary to avoid over-/underflow.

?lags2

s, d

Computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B such that the rows of the transformed A and B are parallel.

?lagtf

s, d

Computes an LU factorization of a matrix T-λI, where T is a general tridiagonal matrix, and λ a scalar, using partial pivoting with row interchanges.

?lagtm

s, d, c, z

Performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

?lagts

s, d

Solves the system of equations (T-λI)x = y or (T-λI)Tx = y,where T is a general tridiagonal matrix and λ a scalar, using the LU factorization computed by ?lagtf.

?lagv2

s, d

Computes the Generalized Schur factorization of a real 2-by-2 matrix pencil (A,B) where B is upper triangular.

?lahqr

s, d, c, z

Computes the eigenvalues and Schur factorization of an upper Hessenberg matrix, using the double-shift/single-shift QR algorithm.

?lahrd

s, d, c, z

Reduces the first nb columns of a general rectangular matrix A so that elements below the k-th subdiagonal are zero, and returns auxiliary matrices which are needed to apply the transformation to the unreduced part of A.

?lahr2

s, d, c, z

Reduces the specified number of first columns of a general rectangular matrix A so that elements below the specified subdiagonal are zero, and returns auxiliary matrices which are needed to apply the transformation to the unreduced part of A.

?laic1

s, d, c, z

Applies one step of incremental condition estimation.

?laln2

s, d

Solves a 1-by-1 or 2-by-2 linear system of equations of the specified form.

?lals0

s, d, c, z

Applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used by ?gelsd.

?lalsa

s, d, c, z