NAG Parallel Library

Library Contents

The NAG Parallel Library Manual contains two categories of routines which can be called by users. They are listed separately in the two sections below.

Fully Documented Routines

183 routines, for each of which an individual routine document is provided. These are regarded as the primary contents of the NAG Parallel Library.

Fundamental Support Routines

15 comparatively simple routines which are documented in compact form in the relevant Chapter Introductions (X01, X02).

Note: all the routines in the above categories have either six-character names ending in 'F' or seven-character names ending in 'FP'.

Chapter A00 - Library Identification

A00AAFP Prints details of the NAG Parallel Library implementation

Chapter C06 - Summation of Series

C06FUFP Direct or inverse two-dimensional Fourier transform of a complex sequence
C06GXFP Factorizes a positive integer n as n = n1 × n2. This routine may be used in conjunction with C06MCFP
C06MCFP Direct or inverse one-dimensional discrete Fourier transform of a complex sequence
C06MXFP Direct or inverse three-dimensional discrete Fourier transform of a complex sequence

Chapter D01 - Quadrature

D01ATFP One-dimensional quadrature, adaptive, finite interval, allowing for badly behaved integrands
D01AUFP One-dimensional quadrature, adaptive, finite interval, suitable for oscillating functions
D01AXFP One-dimensional quadrature, adaptive, finite interval, weight functions cos(omega x) or sin(omega x)
D01DAFP Two-dimensional quadrature, finite region
D01FAFP Multi-dimensional quadrature, hyper-rectangle, adaptive
D01GCFP Multi-dimensional quadrature, general product region, number-theoretic method

Chapter E04 - Minimizing or Maximizing a Function

E04FDFP Unconstrained minimum of a sum of squares, Gauss--Newton algorithm using function values only (easy-to-use)
E04JBFP Minimum of a general nonlinear function with unconstrained, Gauss--Newton algorithm using function values only (easy-to-use)

Chapter F01 - Matrix Operations and Distribution

F01CPFP Element-wise maximum or minimum in absolute value of integer matrices
F01WAFP Gather real matrix, regarded as submatrix of matrix distributed in cyclic two-dimensional block format, used with routines from Chapters F07 and F08
F01WBFP Gather real matrix distributed in cyclic two-dimensional block format, used with routines from Chapter F04
F01WGFP Gather complex matrix distributed in cyclic two-dimensional block format, used with routines from Chapters F07 and F08
F01WHFP Gather complex matrix distributed in cyclic two-dimensional block format, used with routines from Chapter F04
F01WNFP Scatter real matrix from the root processor to the Library Grid using cyclic two-dimensional block format, used with routines from Chapters F07 and F08
F01WPFP Scatter real matrix from the root processor to the Library Grid using cyclic two-dimensional block format, used with routines from Chapter F04
F01WUFP Scatter complex matrix from the root processor to the Library Grid using cyclic two-dimensional block format, used with routines from Chapters F07 and F08
F01WVFP Scatter complex matrix from the root processor to the Library Grid using cyclic two-dimensional block format, used with routines from Chapter F04
F01XAFP Scatter real sparse matrix, stored in coordinate storage format, using cyclic row block distribution
F01XEFP Scatter real vector distributed conformally to sparse matrix, used with routines from Chapter F11
F01XFFP Gather real vector distributed conformally to sparse matrix, used with routines from Chapter F11
F01XGFP Scatter integer vector distributed conformally to sparse matrix, used with routines from Chapter F11
F01XHFP Gather integer vector distributed conformally to sparse matrix, used with routines from Chapter F11
F01XPFP Scatter complex sparse matrix, stored in coordinate storage format, using cyclic row block distribution, used with routines from Chapter F11
F01XTFP Scatter complex vector distributed conformally to sparse matrix, used with routines from Chapter F11
F01XUFP Gather complex vector distributed conformally to sparse matrix, used with routines from Chapter F11
F01YAFP In-place generation of real sparse matrix using cyclic row block distribution
F01YBFP In-place generation of real sparse matrix using cyclic row block distribution (suitable for repeated sparsity pattern), used with routines from Chapter F11
F01YEFP In-place generation of real dense vector distributed conformally to sparse matrix
F01YPFP In-place generation of complex sparse matrix according to cyclic row block distribution, used with routines from Chapter F11
F01YQFP In-place generation of complex sparse matrix according to cyclic row block distribution (suitable for repeated sparsity pattern)
F01YTFP In-place generation of complex dense vector distributed conformally to sparse matrix, used with routines from Chapter F11
F01YWFP In-place generation of complex Hermitian banded matrix in column block fashion, used with routines from Chapter F07
F01YXFP In-place generation of real symmetric banded matrix in column block fashion, used with routines from Chapter F07
F01YYFP In-place generation of real matrix in row block fashion on a one-dimensional grid of processors, used with routines from Chapter F07
F01YZFP In-place generation of complex matrix in row block fashion on a one-dimensional grid of processors, used with routines from Chapter F07
F01ZHFP Generates an l by m by n three-dimensional array A(i,j,k) on a grid of processors in i-block form
F01ZMFP In-place generation of real matrix in row block fashion, used with routines from Chapters C06 and F04
F01ZNFP In-place generation of complex matrix in row block fashion, used with routines from Chapter F04
F01ZPFP Gather real vector distributed conformally to matrix, used with routines from Chapters F07 and F08
F01ZQFP In-place generation of real matrix in cyclic two-dimensional block fashion, used with routines from Chapters F07 and F08
F01ZRFP In-place generation of real matrix in column block fashion, used with routines from Chapters F02 and F04
F01ZSFP In-place generation of real matrix in cyclic two-dimensional block fashion, used with routines from Chapter F04 (Black Box)
F01ZVFP In-place generation of complex matrix in cyclic two-dimensional block fashion, used with routines from Chapters F07 and F08
F01ZWFP In-place generation of complex matrix in column block fashion, used with routines from Chapters F02 and F04
F01ZXFP In-place generation of complex matrix in cyclic two-dimensional block fashion, used with routines from Chapter F04 (Black Box)
F01ZYFP In-place generation of complex vector in column block fashion, used with routines from Chapter F07
F01ZZFP In-place generation of real vector in column block fashion, used with routines from Chapter F07

Chapter F02 - Eigenvalues and Eigenvectors

F02FQFP Eigenvalues and eigenvectors of real symmetric matrix, one-sided Jacobi method
F02FRFP Eigenvalues and eigenvectors of complex Hermitian matrix, one-sided Jacobi method
F02WQFP Singular Value Decomposition (SVD) of real matrix, one-sided Jacobi method
F02WRFP Singular Value Decomposition (SVD) of complex matrix, one-sided Jacobi method

Chapter F04 - Simultaneous Linear Equations

F04EBFP Solution of real linear system (Black Box)
F04ECFP Solution of complex linear equations (Black Box)
F04FBFP Solution of real symmetric positive-definite linear system (Black Box)
F04FCFP Solution of complex Hermitian positive-definite linear system (Black Box)
F04GBFP Solution of real linear least-squares problem (Black Box)
F04HBFP Solution of real symmetric banded linear system (Black Box)
F04HZFP Solution of complex Hermitian banded linear system (Black Box)
F04JBFP Solution of real symmetric tridiagonal linear system (Black Box)
F04JZFP Solution of complex Hermitian tridiagonal linear system (Black Box)

Chapter F07 - Linear Equations (ScaLAPACK)

F07ADFP (PDGETRF) LU factorization of real general matrix
F07AEFP (PDGETRS) Solution of real linear system, matrix already factorized by F07ADFP (PDGETRF)
F07ARFP (PZGETRF) LU factorization of complex general matrix
F07ASFP (PZGETRS) Solution of complex linear system, matrix already factorized by F07ARFP (PZGETRF)
F07FDFP (PDPOTRF) Cholesky factorization of real symmetric positive-definite matrix
F07FEFP (PDPOTRS) Solution of real symmetric positive-definite linear system, matrix already factorized by F07FDFP (PDPOTRF)
F07FRFP (PZPOTRF) Cholesky factorization of complex Hermitian positive-definite matrix
F07FSFP (PZPOTRS) Solution of complex Hermitian positive-definite linear system, matrix already factorized by F07FRFP (PZPOTRF)
F07HDFP (PDPBTRF) Cholesky factorization of real symmetric banded matrix with no pivoting
F07HEFP (PDPBTRS) Solution of real symmetric banded linear system, matrix already factorized by F07HDFP (PDPBTRF)
F07HRFP (PZPBTRF) Cholesky factorization of complex Hermitian banded matrix with no-pivoting
F07HSFP (PZPBTRS) Solution of complex Hermitian banded linear system, matrix already factorized by F07HRFP (PZPBTRF)
F07JDFP (PDPTTRF) Cholesky factorization of real symmetric tridiagonal matrix with no-pivoting
F07JEFP (PDPTTRS) Solution of real symmetric tridiagonal linear system, matrix already factorized by F07JDFP (PDPTTRF)
F07JRFP (PZPTTRF) Factorization of complex Hermitian tridiagonal matrix with no-pivoting
F07JSFP (PZPTTRS) Solution of real symmetric tridiagonal linear system, matrix already factorized by F07JRFP (PZPTTRF)
F07TGFP (PDTRCON) Estimates condition number of real triangular matrix

Chapter F08 - Least-squares and Eigenvalue Problems (ScaLAPACK)

F08AEFP (PDGEQRF) QR factorization of real general rectangular matrix
F08AFFP (PDORGQR) Form all or part of an orthogonal Q from QR factorization determined by F08AEFP (PDGEQRF)
F08AGFP (PDORMQR) Apply the orthogonal transformation determined by F08AEFP (PDORMQR)
F08ASFP (PZGEQRF) QR factorization of complex general rectangular matrix
F08ATFP (PZUNGQR) Form all or part of a unitary Q from QR factorization determined by F08ASFP (PZGEQRF)
F08AUFP (PZUNMQR) Apply the unitary transformation determined by F08ASFP (PZUNMQR)
F08FEFP (PDSYTRD) Orthogonal reduction of real symmetric matrix to tridiagonal form
F08FGFP (PDORMTR) Apply orthogonal transformation determined by F08FEFP (PDSYTRD)
F08FSFP (PZHETRD) Unitary reduction of complex Hermitian matrix to real symmetric tridiagonal form
F08FUFP (PZUNMTR) Apply unitary transformation matrix determined by F08FSFP (PZHETRD)
F08JJFP (PDSTEBZ) All or selected eigenvalues of real symmetric tridiagonal matrix by bisection
F08JKFP (PDSTEIN) Selected eigenvectors of real symmetric tridiagonal matrix by inverse iteration, storing eigenvectors in real array
F08JXFP (PZSTEIN) Selected eigenvectors of real symmetric tridiagonal matrix by inverse iteration, storing eigenvectors in complex array

Chapter F11 - Sparse Linear Algebra

F11BAFP Real sparse nonsymmetric linear system, reverse-communication, set-up for F11BBFP
F11BBFP Real sparse nonsymmetric linear system, reverse-communication, solver using preconditioned RGMRES, CGS or Bi-CGSTAB
F11BCFP Real sparse nonsymmetric linear system, reverse-communication, diagnostic for F11BBFP
F11BRFP Complex sparse non-Hermitian linear system, reverse-communication, set-up for F11BSFP
F11BSFP Complex sparse non-Hermitian linear system, reverse-communication, solver using preconditioned GMRES, CGS or Bi-CGSTAB
F11BTFP Complex sparse non-Hermitian linear system, reverse-communication, diagnostic for F11BSFP
F11DAFP Incomplete LU factorization of the local diagonal blocks of a real sparse matrix, represented in coordinate storage format, distributed on a logical grid of processors in cyclic row block form
F11DBFP Solution of real system of linear equations, involving a real block diagonal sparse matrix, represented in coordinate storage format, distributed on a logical grid of processors in cyclic row block form
F11DCFP Black Box routine for sparse system of linear equations
F11DDFP Apply iterations of SOR method to real sparse linear system, used mostly as SOR preconditioner for real sparse matrix
F11DEFP Solution of real sparse nonsymmetric linear system using Jacobi, SOR or no preconditioned RGMRES, CGS or Bi-CGSTAB (Black Box)
F11DFFP Real sparse nonsymmetric linear system, reverse-communication, incomplete LU factorization of local or overlapping diagonal blocks, used mostly as incomplete LU preconditioner for real sparse matrix
F11DGFP Real sparse nonsymmetric linear system, reverse-communication, preconditioner for real sparse matrix
F11DHFP Solution of real sparse nonsymmetric linear system using block-Jacobi preconditioned RGMRES, CGS or Bi-CGSTAB (Black Box)
F11DKFP Apply iterations of relaxed Jacobi iterative method to a real sparse linear system, used mostly as Jacobi preconditioner for real sparse matrix
F11DRFP Apply iterations of SOR method to the complex sparse linear system, used mostly as SOR preconditioner for complex sparse matrix
F11DSFP Solution of complex sparse non-Hermitian linear system using Jacobi, SOR or no preconditioned RGMRES, CGS or Bi-CGSTAB (Black Box)
F11DTFP Computes incomplete LU factorization of local diagonal blocks of complex sparse matrix
F11DUFP Complex sparse non-Hermitian linear system, reverse-communication, block-Jacobi preconditioner generated by F11DTFP
F11DVFP Solution of complex sparse non-Hermitian linear system using block-Jacobi preconditioned RGMRES, CGS or Bi-CGSTAB (Black Box)
F11DXFP Apply iterations of relaxed Jacobi iterative method to complex sparse linear system, used mostly as Jacobi preconditioner for complex sparse matrix
F11GAFP Real sparse symmetric linear system, reverse-communication, set-up for F11GBFP
F11GBFP Real sparse symmetric linear system, reverse-communication, solver using preconditioned CG or SYMMLQ
F11GCFP Real sparse symmetric linear system, reverse-communication, diagnostic for F11GBFP
F11JEFP Solution of real sparse symmetric linear system using Jacobi, SSOR or no preconditioned CG or SYMMLQ (Black Box)
F11JHFP Solution of sparse symmetric linear system using block-Jacobi preconditioned CG or SYMMLQ (Black Box)
F11XBFP Matrix-vector multiplication for real sparse matrix
F11XPFP Matrix-vector multiplication for complex sparse matrix
F11YAFP Permutation of non-zero entries of real sparse matrix with repeated sparsity pattern
F11YBFP Permutation of real vector from distribution based order to local indexing based order
F11YCFP Permutation of real vector from local indexing based order to distribution based order
F11YNFP Permutation of non-zero entries of complex sparse matrix with repeated sparsity pattern
F11YPFP Permutation of complex vector from distribution based order to local indexing based order
F11YQFP Permutation of complex vector from local indexing based order to distribution based order
F11ZAFP General set-up routine for real sparse matrix distributed in cyclic row block form
F11ZBFP General set-up routine for real sparse matrix distributed in cyclic row block form (suitable for repeated sparsity pattern)
F11ZGFP Generates multi-colour ordering for real sparse matrix with symmetric sparsity pattern, distributed in row block form
F11ZPFP General set-up routine for complex sparse matrix, distributed in cyclic row block form (suitable for repeated sparsity pattern)
F11ZUFP Generates multi-colour ordering for complex sparse matrix with symmetric sparsity pattern, distributed in row block form.
F11ZZFP Release of internally allocated memory

Chapter G05 - Random Number Generators

G05AAFP Function returning pseudo-random real number from the interval (0,1)
G05ABFP Selects random number generator and initialises seeds to give repeatable sequence
G05ACFP Function returning pseudo-random real number from the interval [a,b), uniform distribution
G05ADFP Function returning pseudo-random real number from the interval [a,b), Normal distribution
G05AEFP Function returning pseudo-random real number from the interval [a,b), exponential distribution
G05AZFP Function returning pseudo-random integer from the interval [ia,ib), uniform distribution
G05BAFP Pseudo-random real numbers from the interval (0,0), uniform distribution
G05BBFP Selects random number generator and initialises seeds to give repeatable sequence
G05BCFP Pseudo-random real numbers from the interval (a,b), uniform distribution
G05BDFP Pseudo-random real numbers from the interval (a,b), Normal distribution
G05BEFP Pseudo-random real numbers from the interval (a,b), exponential distribution
G05BZFP Pseudo-random integers from the interval (ia,ib), uniform distribution

Chapter X01 - Mathematical Constants

X01AAF pi
X01ABF Euler's constant, gamma

Chapter X02 - Machine Constants

X02AHF Largest permissible argument for sin and cos
X02AJF Machine precision
X02AKF Smallest positive model number
X02ALF Largest positive model number
X02AMF Safe range of real floating-point arithmetic
X02ANF Safe range of complex floating-point arithmetic
X02BBF Largest representable integer
X02BEF Maximum number of decimal digits that can be represented
X02BHF Parameter of floating-point arithmetic model, b
X02BJF Parameter of floating-point arithmetic model, p
X02BKF Parameter of floating-point arithmetic model, emin
X02BLF Parameter of floating-point arithmetic model, emax
X02DJF Parameter of floating-point arithmetic model, ROUNDS

Chapter X04 - Input/Output Utilities

X04AAF Returns or sets unit number for error message
X04ABF Returns or sets unit number for advisory messages
X04BCFP Reads real general matrix, from external file, into array distributed in cyclic two-dimensional form, used with routines from Chapters F07 and F08
X04BDFP Outputs real general matrix, stored in cyclic two-dimensional block fashion, to an external file, used with routines from Chapters F07 and F08
X04BFFP Outputs set of real general matrices distributed on a two-dimensional logical processor grid, used with routines from Chapter F02
X04BGFP Reads general real matrix from external file into array distributed in cyclic two-dimensional block form, used with routines from Chapter F04 (Black Box)
X04BHFP Outputs general real matrix, stored in cyclic two-dimensional block fashion, to external file, used with routines from Chapter F04 (Black Box)
X04BMFP Outputs set of general integer matrices distributed on a two-dimensional logical processor grid
X04BRFP Reads complex general matrix from an external file into array distributed in cyclic two-dimensional block form, used with routines from Chapters F07 and F08
X04BSFP Outputs complex general matrix, stored in cyclic two-dimensional block fashion to an external file, used with routines from Chapters F07 and F08
X04BUFP Outputs set of complex general matrices distributed on a two-dimensional logical processor grid, used with routines from Chapter F02
X04BVFP Reads general complex matrix from an external file into an array distributed in cyclic two-dimensional block form, used with routines from Chapter F04 (Black Box)
X04BWFP Outputs general complex matrix, stored in cyclic two-dimensional block fashion, used with routines from Chapter F04 (Black Box)
X04BXFP Outputs real matrix stored in row block fashion
X04BZFP Outputs complex matrix stored in row block fashion
X04YAFP Outputs real dense vector, distributed conformally to a sparse matrix on a logical grid of processors, to an external file
X04YPFP Outputs complex vector, distributed conformally to sparse matrix to a sequential file

Chapter Z01 - Library Utilities

Z01AAFP Defines two-dimensional logical processor grid (Library Grid) and returns the BLACS context
Z01ABFP Undefines logical processor grid and invalidates the BLACS context initialised by Z01AAFP
Z01ACFP Root processor identifier
Z01AEFP Used in creating processes outside the default library mechanism, allows multigridding, used in more advanced applications
Z01BAFP Row and column indices of the root processor within the logical grid
Z01BBFP Identifies logical processors in context in the two-dimensional grid declared by Z01AAFP
Z01BEFP Topology to be used by BLACS for broadcasting and global operations
Z01BGFP Information about MPI tasks
Z01CAFP Number of rows or columns of matrix held locally on a given processor when the matrix is distributed in the cyclic two-dimensional block fashion (NUMROC)
Z01CBFP Length of the workspace for F08AEFP (PDGEQRF) and F08AFFP (PDORGQR)
Z01CCFP Length of the workspace for F08AGFP (PDORMQR)
Z01CDFP Process coordinate which possesses the entry of a distributed matrix specified by a global index (INDXG2P)
Z01CEFP Length of the workspace for F08FEFP (PDSYTRD)
Z01CFFP Computes number of rows of a row block distributed matrix owned by a processor
Z01ZAFP Returns information on coordinates in Library Grid set up by Z01AAFP
Z01ZBFP Creates an MPI communicator from a Library context

Chapter Z02 - Error Checking Mode

Z02EAFP Specification of error checking level, can reduce the amount of checking carried out in subsequent calls to other Library routines