# Auxiliary Routines

ScaLAPACK Auxiliary Routines
Routine Name | Data Types | Description
--- | --- | ---
p?lacgv | c,z | Conjugates a complex vector.
p?max1 | c,z | Finds the index of the element whose real part has maximum absolute value (similar to the Level 1 PBLAS p?amax, but using the absolute value to the real part).
?combamax1 | c,z | Finds the element with maximum real part absolute value and its corresponding global index.
p?sum1 | sc,dz | Forms the 1-norm of a complex vector similar to Level 1 PBLAS p?asum, but using the true absolute value.
p?dbtrsv | s,d,c,z | Computes an LU factorization of a general tridiagonal matrix with no pivoting. The routine is called by p?dbtrs.
p?dttrsv | s,d,c,z | Computes an LU factorization of a general band matrix, using partial pivoting with row interchanges. The routine is called by p?dttrs.
p?gebd2 | s,d,c,z | Reduces a general rectangular matrix to real bidiagonal form by an orthogonal/unitary transformation (unblocked algorithm).
p?gehd2 | s,d,c,z | Reduces a general matrix to upper Hessenberg form by an orthogonal/unitary similarity transformation (unblocked algorithm).
p?gelq2 | s,d,c,z | Computes an LQ factorization of a general rectangular matrix (unblocked algorithm).
p?geql2 | s,d,c,z | Computes a QL factorization of a general rectangular matrix (unblocked algorithm).
p?geqr2 | s,d,c,z | Computes a QR factorization of a general rectangular matrix (unblocked algorithm).
p?gerq2 | s,d,c,z | Computes an RQ factorization of a general rectangular matrix (unblocked algorithm).
p?getf2 | s,d,c,z | Computes an LU factorization of a general matrix, using partial pivoting with row interchanges (local blocked algorithm).
p?labrd | s,d,c,z | Reduces the first nb rows and columns of a general rectangular matrix A to real bidiagonal form by an orthogonal/unitary transformation, and returns auxiliary matrices that are needed to apply the transformation to the unreduced part of A.
p?lacon | s,d,c,z | Estimates the 1-norm of a square matrix, using the reverse communication for evaluating matrix-vector products.
p?laconsb | s,d | Looks for two consecutive small subdiagonal elements.
p?lacp2 | s,d,c,z | Copies all or part of a distributed matrix to another distributed matrix.
p?lacp3 | s,d | Copies from a global parallel array into a local replicated array or vice versa.
p?lacpy | s,d,c,z | Copies all or part of one two-dimensional array to another.
p?laevswp | s,d,c,z | Moves the eigenvectors from where they are computed to ScaLAPACK standard block cyclic array.
p?lahrd | s,d,c,z | Reduces the first nb columns of a general rectangular matrix A so that elements below the `kth` subdiagonal are zero, by an orthogonal/unitary transformation, and returns auxiliary matrices that are needed to apply the transformation to the unreduced part of A.
p?laiect | s,d,c,z | Exploits IEEE arithmetic to accelerate the computations of eigenvalues. (C interface function).
p?lange | s,d,c,z | Returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element, of a general rectangular matrix.
p?lanhs | s,d,c,z | Returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element, of an upper Hessenberg matrix.
p?lansy, p?lanhe | s,d,c,z/c,z | Returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element of a real symmetric or complex Hermitian matrix.
p?lantr | s,d,c,z | Returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element, of a triangular matrix.
p?lapiv | s,d,c,z | Applies a permutation matrix to a general distributed matrix, resulting in row or column pivoting.
p?laqge | s,d,c,z | Scales a general rectangular matrix, using row and column scaling factors computed by p?geequ.
p?laqsy | s,d,c,z | Scales a symmetric/Hermitian matrix, using scaling factors computed by p?poequ.
p?lared1d | s,d | 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 | s,d | Redistributes an array assuming that the input array byrow is distributed across columns and that all process rows contain the same copy of byrow .
p?larf | s,d,c,z | Applies an elementary reflector to a general rectangular matrix.
p?larfb | s,d,c,z | Applies a block reflector or its transpose/conjugate-transpose to a general rectangular matrix.
p?larfc | c,z | Applies the conjugate transpose of an elementary reflector to a general matrix.
p?larfg | s,d,c,z | Generates an elementary reflector (Householder matrix).
p?larft | s,d,c,z | Forms the triangular vector T of a block reflector `H=I-VTVH`
p?larz | s,d,c,z | Applies an elementary reflector as returned by p?tzrzf to a general matrix.
p?larzb | s,d,c,z | Applies a block reflector or its transpose/conjugate-transpose as returned by p?tzrzf to a general matrix.
p?larzc | c,z | Applies (multiplies by) the conjugate transpose of an elementary reflector as returned by p?tzrzf to a general matrix.
p?larzt | s,d,c,z | Forms the triangular factor T of a block reflector `H=I-VTVH` as returned by p?tzrzf.
p?lascl | s,d,c,z | Multiplies a general rectangular matrix by a real scalar defined as `Cto/Cfrom`.
p?laset | s,d,c,z | Initializes the off-diagonal elements of a matrix to α and the diagonal elements to β.
p?lasmsub | s,d | Looks for a small subdiagonal element from the bottom of the matrix that it can safely set to zero.
p?lassq | s,d,c,z | Updates a sum of squares represented in scaled form.
p?laswp | s,d,c,z | Performs a series of row interchanges on a general rectangular matrix.
p?latra | s,d,c,z | Computes the trace of a general square distributed matrix.
p?latrd | s,d,c,z | Reduces the first nb rows and columns of a symmetric/Hermitian matrix A to real tridiagonal form by an orthogonal/unitary similarity transformation.
p?latrz | s,d,c,z | Reduces an upper trapezoidal matrix to upper triangular form by means of orthogonal/unitary transformations.
p?lauu2 | s,d,c,z | Computes the product `UUH` or `LHL`, where U and L are upper or lower triangular matrices (local unblocked algorithm).
p?lauum | s,d,c,z | Computes the product `UUH` or `LHL`, where U and L are upper or lower triangular matrices.
p?lawil | s,d | Forms the Wilkinson transform.
p?org2l/p?ung2l | s,d,c,z | Generates all or part of the orthogonal/unitary matrix Q from a QL factorization determined by p?geqlf (unblocked algorithm).
p?org2r/p?ung2r | s,d,c,z | Generates all or part of the orthogonal/unitary matrix Q from a QR factorization determined by p?geqrf (unblocked algorithm).
p?orgl2/p?ungl2 | s,d,c,z | Generates all or part of the orthogonal/unitary matrix Q from an LQ factorization determined by p?gelqf (unblocked algorithm).
p?orgr2/p?ungr2 | s,d,c,z | Generates all or part of the orthogonal/unitary matrix Q from an RQ factorization determined by p?gerqf (unblocked algorithm).
p?orm2l/p?unm2l | s,d,c,z | Multiplies a general matrix by the orthogonal/unitary matrix from a QL factorization determined by p?geqlf (unblocked algorithm).
p?orm2r/p?unm2r | s,d,c,z | Multiplies a general matrix by the orthogonal/unitary matrix from a QR factorization determined by p?geqrf (unblocked algorithm).
p?orml2/p?unml2 | s,d,c,z | Multiplies a general matrix by the orthogonal/unitary matrix from an LQ factorization determined by p?gelqf (unblocked algorithm).
p?ormr2/p?unmr2 | s,d,c,z | Multiplies a general matrix by the orthogonal/unitary matrix from an RQ factorization determined by p?gerqf (unblocked algorithm).
p?pbtrsv | s,d,c,z | Solves a single triangular linear system via frontsolve or backsolve where the triangular matrix is a factor of a banded matrix computed by p?pbtrf.
p?pttrsv | s,d,c,z | Solves a single triangular linear system via frontsolve or backsolve where the triangular matrix is a factor of a tridiagonal matrix computed by p?pttrf.
p?potf2 | s,d,c,z | Computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (local unblocked algorithm).
p?rscl | s,d,cs,zd | Multiplies a vector by the reciprocal of a real scalar.
p?sygs2/p?hegs2 | s,d,c,z | Reduces a symmetric/Hermitian definite generalized eigenproblem to standard form, using the factorization results obtained from p?potrf (local unblocked algorithm).
p?sytd2/p?hetd2 | s,d,c,z | Reduces a symmetric/Hermitian matrix to real symmetric tridiagonal form by an orthogonal/unitary similarity transformation (local unblocked algorithm).
p?trti2 | s,d,c,z | Computes the inverse of a triangular matrix (local unblocked algorithm).
?lamsh | s,d | Sends multiple shifts through a small (single node) matrix to maximize the number of bulges that can be sent through.
?laref | s,d | Applies Householder reflectors to matrices on either their rows or columns.
?lasorte | s,d | Sorts eigenpairs by real and complex data types.
?lasrt2 | s,d | Sorts numbers in increasing or decreasing order.
?stein2 | s,d | Computes the eigenvectors corresponding to specified eigenvalues of a real symmetric tridiagonal matrix, using inverse iteration.
?dbtf2 | s,d,c,z | Computes an LU factorization of a general band matrix with no pivoting (local unblocked algorithm).
?dbtrf | s,d,c,z | Computes an LU factorization of a general band matrix with no pivoting (local blocked algorithm).
?dttrf | s,d,c,z | Computes an LU factorization of a general tridiagonal matrix with no pivoting (local blocked algorithm).
?dttrsv | s,d,c,z | Solves a general tridiagonal system of linear equations using the LU factorization computed by ?dttrf.
?pttrsv | s,d,c,z | Solves a symmetric (Hermitian) positive-definite tridiagonal system of linear equations, using the `LDLH` factorization computed by ?pttrf.
?steqr2 | s,d | Computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method.