This section provides an overview of the subroutines in each of the areas of Parallel ESSL.
The Level 2 PBLAS include a subset of the standard set of distributed memory parallel versions of the Level 2 BLAS.
If IBM updates these subroutines, the update could require modifications of the calling application program.
Table 2. List of Level 2 PBLAS
Descriptive Name | Long-Precision Subprogram | Page |
---|---|---|
Matrix-Vector Product for a General Matrix or Its Transpose |
PDGEMV PZGEMV |
PDGEMV and PZGEMV--Matrix-Vector Product for a General Matrix or Its Transpose
|
Matrix-Vector Product for a Real Symmetric or a Complex Hermitian Matrix |
PDSYMV PZHEMV |
PDSYMV and PZHEMV--Matrix-Vector Product for a Real Symmetric or a Complex Hermitian Matrix
|
Rank-One Update of a General Matrix |
PDGER PZGERC PZGERU |
PDGER, PZGERC, and PZGERU--Rank-One Update of a General Matrix
|
Rank-One Update of a Real Symmetric or a Complex Hermitian Matrix |
PDSYR PZHER |
PDSYR and PZHER--Rank-One Update of a Real Symmetric or a Complex Hermitian Matrix
|
Rank-Two Update of a Real Symmetric or a Complex Hermitian Matrix |
PDSYR2 PZHER2 |
PDSYR2 and PZHER2--Rank-Two Update of a Real Symmetric or a Complex Hermitian Matrix
|
Matrix-Vector Product for a Triangular Matrix or Its Transpose |
PDTRMV PZTRMV |
PDTRMV and PZTRMV--Matrix-Vector Product for a Triangular Matrix or Its Transpose
|
Solution of Triangular System of Equations with a Single Right-Hand Side |
PDTRSV PZTRSV |
PDTRSM and PZTRSM--Solution of Triangular System of Equations with Multiple Right-Hand Sides
|
The Level 3 PBLAS include a subset of the standard set of distributed memory parallel versions of the Level 3 BLAS.
If IBM updates these subroutines, the update could require modifications of the calling application program.
Table 3. List of Level 3 PBLAS
Descriptive Name | Long-Precision Subprogram | Page |
---|---|---|
Matrix-Matrix Product for a General Matrix, Its Transpose, or Its Conjugate Transpose |
PDGEMM PZGEMM |
PDGEMM and PZGEMM--Matrix-Matrix Product for a General Matrix, Its Transpose, or Its Conjugate Transpose
|
Matrix-Matrix Product Where One Matrix is Real or Complex Symmetric or Complex Hermitian |
PDSYMM PZSYMM PZHEMM |
PDSYMM, PZSYMM, and PZHEMM--Matrix-Matrix Product Where One Matrix is Real or Complex Symmetric or Complex Hermitian
|
Triangular Matrix-Matrix Product |
PDTRMM PZTRMM |
PDTRMM and PZTRMM--Triangular Matrix-Matrix Product
|
Solution of Triangular System of Equations with Multiple Right-Hand Sides |
PDTRSM PZTRSM |
PDTRSM and PZTRSM--Solution of Triangular System of Equations with Multiple Right-Hand Sides
|
Rank-K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix |
PDSYRK PZSYRK PZHERK |
PDSYRK, PZSYRK, and PZHERK--Rank-K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix
|
Rank-2K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix |
PDSYR2K PZSYR2K PZHER2K |
PDSYR2K, PZSYR2K, and PZHER2K--Rank-2K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix
|
Matrix Transpose for a General Matrix |
PDTRAN PZTRANC PZTRANU |
PDTRAN, PZTRANC, and PZTRANU--Matrix Transpose for a General Matrix
|
These subroutines consist of dense, banded, and sparse subroutines, and include a subset of the ScaLAPACK subroutines.
If IBM updates these subroutines, the update could require modifications of the calling application program.
The dense linear algebraic equation subroutines provide:
Table 4. List of Dense Linear Algebraic Equation Subroutines
Descriptive Name | Long-Precision Subroutine | Page |
---|---|---|
General Matrix Factorization and Solve |
PDGESV PZGESV | PDGESV and PZGESV--General Matrix Factorization and Solve |
General Matrix Factorization |
PDGETRF PZGETRF | PDGETRF and PZGETRF--General Matrix Factorization |
General Matrix Solve |
PDGETRS PZGETRS | PDGETRS and PZGETRS--General Matrix Solve |
General Matrix Inverse |
PDGETRI PZGETRI | PDGETRI and PZGETRI--General Matrix Inverse |
Estimate the Reciprocal of the Condition Number of a General Matrix |
PDGECON PZGECON | PDGECON and PZGECON--Estimate the Reciprocal of the Condition Number of a General Matrix |
General Matrix QR Factorization |
PDGEQRF PZGEQRF | PDGEQRF and PZGEQRF--General Matrix QR Factorization |
General Matrix Least Squares Solution |
PDGELS PZGELS | PDGELS and PZGELS--General Matrix Least Squares Solution |
Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization and Solve |
PDPOSV PZPOSV | PDPOSV and PZPOSV--Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization and Solve |
Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization |
PDPOTRF PZPOTRF | PDPOTRF and PZPOTRF--Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization |
Positive Definite Real Symmetric or Complex Hermitian Matrix Solve |
PDPOTRS PZPOTRS | PDPOTRS and PZPOTRS--Positive Definite Real Symmetric or Complex Hermitian Matrix Solve |
The banded linear algebraic equation subroutines provide solutions to
linear systems of equations for real positive definite symmetric band
matrices, real general tridiagonal matrices, diagonally-dominant real general
tridiagonal matrices, and real positive definite symmetric tridiagonal
matrices.
Table 5. List of Banded Linear Algebraic Equation Subroutines
Descriptive Name | Long- Precision Subroutine | Page |
---|---|---|
Positive Definite Symmetric Band Matrix Factorization and Solve |
PDPBSV |
PDPBSV--Positive Definite Symmetric Band Matrix Factorization and Solve
|
Positive Definite Symmetric Band Matrix Factorization |
PDPBTRF |
PDPBTRF--Positive Definite Symmetric Band Matrix Factorization
|
Positive Definite Symmetric Band Matrix Solve |
PDPBTRS |
PDPBTRS--Positive Definite Symmetric Band Matrix Solve
|
General Tridiagonal Matrix Factorization and Solve |
PDGTSV |
PDGTSV and PDDTSV--General Tridiagonal Matrix Factorization and Solve
|
General Tridiagonal Matrix Factorization |
PDGTTRF |
PDGTTRF and PDDTTRF--General Tridiagonal Matrix Factorization
|
General Tridiagonal Matrix Solve |
PDGTTRS |
PDGTTRS and PDDTTRS--General Tridiagonal Matrix Solve
|
Diagonally-Dominant General Tridiagonal Matrix Factorization and Solve |
PDDTSV |
PDGTSV and PDDTSV--General Tridiagonal Matrix Factorization and Solve
|
Diagonally-Dominant General Tridiagonal Matrix Factorization |
PDDTTRF |
PDGTTRF and PDDTTRF--General Tridiagonal Matrix Factorization |
Diagonally-Dominant General Tridiagonal Matrix Solve |
PDDTTRS |
PDGTTRS and PDDTTRS--General Tridiagonal Matrix Solve
|
Positive Definite Symmetric Tridiagonal Matrix Factorization and Solve |
PDPTSV |
PDPTSV--Positive Definite Symmetric Tridiagonal Matrix Factorization and Solve
|
Positive Definite Symmetric Tridiagonal Matrix Factorization |
PDPTTRF |
PDPTTRF--Positive Definite Symmetric Tridiagonal Matrix Factorization
|
Positive Definite Symmetric Tridiagonal Matrix Solve |
PDPTTRS |
PDPTTRS--Positive Definite Symmetric Tridiagonal Matrix Solve
|
The Fortran 90 sparse linear algebraic equation subroutines provide
solutions to linear systems of equations for a real general sparse
matrix. The sparse utility subroutines provided in Parallel ESSL must
be used in conjunction with the sparse linear algebraic equation
subroutines.
Table 6. List of Fortran 90 Sparse Linear Algebraic Equation Subroutines
Descriptive Name | Long-Precision Subroutine | Page |
---|---|---|
Allocates Space for an Array Descriptor for a General Sparse Matrix | PADALL | PADALL--Allocates Space for an Array Descriptor for a General Sparse Matrix |
Allocates Space for a General Sparse Matrix | PSPALL | PSPALL--Allocates Space for a General Sparse Matrix |
Allocates Space for a Dense Vector | PGEALL | PGEALL--Allocates Space for a Dense Vector |
Inserts Local Data into a General Sparse Matrix | PSPINS | PSPINS--Inserts Local Data into a General Sparse Matrix |
Inserts Local Data into a Dense Vector | PGEINS | PGEINS--Inserts Local Data into a Dense Vector |
Assembles a General Sparse Matrix | PSPASB | PSPASB--Assembles a General Sparse Matrix |
Assembles a Dense Vector | PGEASB | PGEASB--Assembles a Dense Vector |
Preconditioner for a General Sparse Matrix | PSPGPR | PSPGPR--Preconditioner for a General Sparse Matrix |
Iterative Linear System Solver for a General Sparse Matrix | PSPGIS | PSPGIS--Iterative Linear System Solver for a General Sparse Matrix |
Deallocates Space for a Dense Vector | PGEFREE | PGEFREE--Deallocates Space for a Dense Vector |
Deallocates Space for a General Sparse Matrix | PSPFREE | PSPFREE--Deallocates Space for a General Sparse Matrix |
Deallocates Space for an Array Descriptor for a General Sparse Matrix | PADFREE | PADFREE--Deallocates Space for an Array Descriptor for a General Sparse Matrix |
The Fortran 77 sparse linear algebraic equation subroutines provide
solutions to linear systems of equations for a real general sparse
matrix. The sparse utility subroutines provided in Parallel ESSL must
be used in conjunction with the sparse linear algebraic equation
subroutines.
Table 7. List of The Fortran 77 Sparse Linear Algebraic Equation Subroutines
Descriptive Name | Long-Precision Subroutine | Page |
---|---|---|
Initializes an Array Descriptor for a General Sparse Matrix | PADINIT | PADINIT--Initializes an Array Descriptor for a General Sparse Matrix |
Initializes a General Sparse Matrix | PDSPINIT | PDSPINIT--Initializes a General Sparse Matrix |
Inserts Local Data into a General Sparse Matrix | PDSPINS | PDSPINS--Inserts Local Data into a General Sparse Matrix |
Inserts Local Data into a Dense Vector | PDGEINS | PDGEINS--Inserts Local Data into a Dense Vector |
Assembles a General Sparse Matrix | PDSPASB | PDSPASB--Assembles a General Sparse Matrix |
Assembles a Dense Vector | PDGEASB | PDGEASB--Assembles a Dense Vector |
Preconditioner for a General Sparse Matrix | PDSPGPR | PDSPGPR--Preconditioner for a General Sparse Matrix |
Iterative Linear System Solver for a General Sparse Matrix | PDSPGIS | PDSPGIS--Iterative Linear System Solver for a General Sparse Matrix |
The eigensystems analysis and singular value analysis subroutines provide solutions to the algebraic eigensystem analysis problem for real symmetric matrices and complex Hermitian matrices and the real symmetric |and complex Hermitian positive definite generalized eigensystem analysis problem. In addition, subroutines to reduce real symmetric and complex Hermitian matrices, real symmetric |and complex Hermitian positive definite generalized eigenproblems, and real general matrices to condensed form are provided. These subroutines include a subset of the ScaLAPACK subroutines. See references [19] and [20].
If IBM updates these subroutines, the update could require modifications of the calling application program.
Table 8. List of Eigensystem Analysis and Singular Value Analysis Subroutines
Descriptive Name | Long-Precision Subroutine | Page |
---|---|---|
Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric or Complex Hermitian Matrix |
PDSYEVX PZHEEVX | PDSYEVX and PZHEEVX--Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric or Complex Hermitian Matrix |
Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric or Complex Hermitian Positive Definite Generalized Eigenproblem |
PDSYGVX PZHEGVX | PDSYGVX and PZHEGVX--Selected Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric or Complex Hermitian Positive Definite Generalized Eigenproblem |
Reduce a Real Symmetric or Complex Hermitian Matrix to Tridiagonal Form |
PDSYTRD PZHETRD | PDSYTRD and PZHETRD--Reduce a Real Symmetric or Complex Hermitian Matrix to Tridiagonal Form |
Reduce a Real Symmetric or Complex Hermitian Positive Definite Generalized Eigenproblem to Standard Form |
PDSYGST PZHEGST | PDSYGST and PZHEGST--Reduce a Real Symmetric or Complex Hermitian Positive Definite Generalized Eigenproblem to Standard Form |
Reduce a General Matrix to Upper Hessenberg Form | PDGEHRD | PDGEHRD--Reduce a General Matrix to Upper Hessenberg Form |
Reduce a General Matrix to Bidiagonal Form | PDGEBRD | PDGEBRD--Reduce a General Matrix to Bidiagonal Form |
The Fourier transform subroutines perform mixed-radix transforms in two and
three dimensions. See references [1] and [3].
Table 9. List of Fourier Transform Subroutines
Descriptive Name | Short- Precision Subroutine | Long- Precision Subroutine | Page |
---|---|---|---|
Complex Fourier Transforms in Two Dimensions |
PSCFT2 |
PDCFT2 |
PSCFT2 and PDCFT2--Complex Fourier Transforms in Two Dimensions
|
Real-to-Complex Fourier Transforms in Two Dimensions |
PSRCFT2 |
PDRCFT2 |
PSRCFT2 and PDRCFT2--Real-to-Complex Fourier Transforms in Two Dimensions
|
Complex-to-Real Fourier Transforms in Two Dimensions |
PSCRFT2 |
PDCRFT2 |
PSCRFT2 and PDCRFT2--Complex-to-Real Fourier Transforms in Two Dimensions
|
Complex Fourier Transforms in Three Dimensions |
PSCFT3 |
PDCFT3 |
PSCFT3 and PDCFT3--Complex Fourier Transforms in Three Dimensions
|
Real-to-Complex Fourier Transforms in Three Dimensions |
PSRCFT3 |
PDRCFT3 |
PSRCFT3 and PDRCFT3--Real-to-Complex Fourier Transforms in Three Dimensions
|
Complex-to-Real Fourier Transforms in Three Dimensions |
PSCRFT3 |
PDCRFT3 |
PSCRFT3 and PDCRFT3--Complex-to-Real Fourier Transforms in Three Dimensions
|
The random number generation subroutine generates uniformly distributed
random numbers.
Table 10. List of Random Number Generation Subroutines
Descriptive Name | Long-Precision Subroutine | Page |
---|---|---|
Uniform Random Number Generator |
PDURNG |
PDURNG--Uniform Random Number Generator
|
The utility subroutines perform general service functions that support
Parallel ESSL.
Table 11. List of Utility Subroutines
Descriptive Name | Subprogram | Page |
---|---|---|
Determine the Level of Parallel ESSL Installed on Your System | IPESSL | IPESSL--Determine the Level of Parallel ESSL Installed on Your System |
Compute the Number of Rows or Columns of a Block-Cyclically Distributed Matrix Contained in a Process | NUMROC | NUMROC--Compute the Number of Rows or Columns of a Block-Cyclically Distributed Matrix Contained in a Process |
General Matrix Norm |
PDLANGE PZLANGE | PDLANGE and PZLANGE--General Matrix Norm |