This appendix lists all of the auxiliary routines (except for the BLAS and LAPACK) that are called from the ScaLAPACK routines. These routines are found in the directory SCALAPACK/SRC. Routines specified with a first character P followed by an underscore as the second 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'.
Functions for computing norms:
P_LANGE General matrix
P_LANHE (complex) Hermitian matrix
P_LANHS Upper Hessenberg matrix
P_LANSY Symmetric matrix
P_LANTR Trapezoidal matrix
Level 2 BLAS versions of the block routines:
P_GEBD2 reduce a general matrix to bidiagonal form
P_GEHD2 reduce a square matrix to upper Hessenberg form
P_GELQ2 compute an LQ factorization without pivoting
P_GEQL2 compute a QL factorization without pivoting
P_GEQR2 compute a QR factorization without pivoting
P_GERQ2 compute an RQ factorization without pivoting
P_GETF2 compute the LU factorization of a general matrix
P_HETD2 (complex) reduce a Hermitian matrix to real tridiagonal form
P_ORG2L (real) generate the orthogonal matrix from PxGEQLF
P_ORG2R (real) generate the orthogonal matrix from PxGEQRF
P_ORGL2 (real) generate the orthogonal matrix from PxGEQLF
P_ORGR2 (real) generate the orthogonal matrix from PxGERQF
P_ORM2L (real) multiply by the orthogonal matrix from PxGEQLF
P_ORM2R (real) multiply by the orthogonal matrix from PxGEQRF
P_ORML2 (real) multiply by the orthogonal matrix from PxGELQF
P_ORMR2 (real) multiply by the orthogonal matrix from PxGERQF
P_ORMR3 (real) multiply by the orthogonal matrix from PxTZRZF
P_POTF2 compute the Cholesky factorization of a positive definite matrix
P_SYGS2 (real) reduce a symmetric-definite generalized eigenvalue problem to
P_SYTD2 (real) reduce a symmetric matrix to tridiagonal form
P_TRTI2 compute the inverse of a triangular matrix
P_UNG2L (complex) generate the unitary matrix from PxGEQLF
P_UNG2R (complex) generate the unitary matrix from PxGEQRF
P_UNGL2 (complex) generate the unitary matrix from PxGEQLF
P_UNGR2 (complex) generate the unitary matrix from PxGERQF
P_UNM2L (complex) multiply by the unitary matrix from PxGEQLF
P_UNM2R (complex) multiply by the unitary matrix from PxGEQRF
P_UNML2 (complex) multiply by the unitary matrix from PxGELQF
P_UNMR2 (complex) multiply by the unitary matrix from PxGERQF
P_UNMR3 (complex) multiply by the unitary matrix from PxTZRZF
Other ScaLAPACK auxiliary routines:
P_LABAD (real) returns square root of underflow and overflow if exponent range is large
P_LABRD reduce NB rows or columns of a matrix to upper or lower bidiagonal form
P_LACGV (complex) conjugates a complex vector of length n
P_LACHKIEEE (real) performs a simple check for the features of the IEEE standard
P_LACON estimate the norm of a matrix for use in condition estimation
P_LACONSB (real) looks for two consecutive small subdiagonal elements
P_LACP2 copies all or part of a distributed matrix to another distributed matrix
P_LACP3 (real) copies from a global parallel array into a local
replicated array or vice versa.
P_LACPY copy all or part of a distributed matrix to another distributed matrix
P_LAED0 Used by PxSTEDC.
P_LAED1 (real) Used by PxSTEDC.
P_LAED2 (real) Used by PxSTEDC.
P_LAED3 (real) Used by PxSTEDC.
P_LAEDZ (real) Used by PxSTEDC.
P_LAEVSWP moves the eigenvectors from where they are computed to a
standard block cyclic array
P_LAHEF (complex) compute part of the diagonal pivoting factorization of a Hermitian
matrix
P_LAHQR Find the Schur factorization of a Hessenberg matrix (modified version of
HQR from EISPACK)
P_LAHRD reduce NB columns of a general matrix to Hessenberg form
P_LAIECTB (real) computes the number of negative eigenvalues in
where the sign bit is assumed to be bit 32.
P_LAIECTL (real) computes the number of negative eigenvalues in
where the sign bit is assumed to be bit 64.
_LANV2 (complex) computes the Schur factorization of a real 2-by-2 nonsymmetric matrix
P_LAPIV applies permutation matrix to a general distributed matrix
P_LAPV2 pivoting
P_LAQGE equilibrate a general matrix
P_LAQSY equilibrate a symmetric matrix
P_LARED1D (real) Redistributes an array assuming that the input
array, BYCOL, is distributed across rows and that all
process columns contain the same copy of BYCOL.
P_LARED2D Redistributes an array assuming that the input array,
BYROW, is distributed across columns and that all process
rows contain the same copy of BYROW. The output array,
BYALL, will be identical on all processes.
P_LARF apply (multiply by) an elementary reflector to a general
rectangular matrix.
P_LARFB apply (multiply by) a block reflector or its transpose/
conjugate-transpose to a general rectangular matrix.
P_LARFC (complex) apply (multiply by) the conjugate-transpose
of an elementary reflector to a general matrix.
P_LARFG generate an elementary reflector (Householder matrix).
P_LARFT form the triangular factor of a block reflector
P_LARZ apply (multiply by) an elementary reflector as returned by
P_TZRZF to a general matrix.
P_LARZB apply (multiply by) a block reflector or its transpose/
conjugate transpose as returned by P_TZRZF to a general matrix.
P_LARZC (complex) apply (multiply by) the conjugate transpose of
an elementary reflector as returned by P_TZRZF to a
general matrix.
P_LARZT form the triangular factor of a block reflector as returned
by P_TZRZF.
P_LASCL multiplies a general rectangular matrix by a real scalar CTO/CFROM
P_LASE2
P_LASET initializes a matrix to BETA on the diagonal and ALPHA on
the off-diagonals
P_LASMSUB (real) looks for a small subdiagonal element from the bottom
of the matrix that it can safely set to zero.
P_LASNBT computes the position of the sign bit of a double precision
floating point number
P_LASRT
P_LASSQ Compute a scaled sum of squares of the elements of a vector
P_LASWP Perform a series of row interchanges
P_LATRA computes the trace of a distributed matrix
P_LATRD reduce NB rows and columns of a real symmetric or complex Hermitian
matrix to tridiagonal form
P_LATRS solve a triangular system with scaling to prevent overflow
P_LATRZ reduces an upper trapezoidal matrix to upper triangular form
P_LAUU2 Unblocked version of P_LAUUM
P_LAUUM Compute the product U*U' or L'*L (blocked version)
P_LAWIL forms the Wilkinson transform