PINEAPL Library - Routine documents
The PINEAPL Library contains two categories of routines which can be called
by users. They are listed separately in the two sections below.
Fully Documented Routines
There are approximately 115 routines, for each of which an individual routine
document is provided. These are regarded as the primary contents of the
PINEAPL Library.
Fundamental Support Routines
There are 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 PINEAPL
Library implementation
Chapter C06: Summation of Series
-
C06GXFP Factorizes an interger n as n
= n1 x n2. This routine may be used in conjuction with C06MCFP
.
-
C06MCFP Computes the direct or the inverse
1-d FFT of a complex sequence
-
C06FUFP Computes the direct or the inverse
2-d FFT of a complex sequence
-
C06MXFP Computes the direct or the inverse
3-d FFT of a complex sequence
Chapter D03: Partial Differential Equations
-
D03EFFP Computes solution of 2-d Helmholtz
equation in Cartesian coordinates
-
D03FBFP Computes solution of 3-d Helmholtz
equation
Chapter E04: Minimising or Maximising a Function
-
E04JAFP Minimizes a general nonlinear
objective function (subject to simple bound) using the quasi-Newton algorithm
-
E04JCF Minimizes a general function (subject
to linear constraints) using a multidirectional search method of Dennis
and Torczon - sequential version
-
E04JCFP Minimizes a general function (subject
to linear constraints) using a multidirectional search method of Dennis
and Torczon - parallel version
-
E04UCFP Minimizes a general nonlinear
objective function (subject to general constraints) using a sequential
quadratic programming algorithm
-
E04UDFP Manages options-files for E04UCFP
-
E04UEFP Manages options-files for E04UCFP
Chapter F01: Matrix Operations and Distribution
-
F01CPFP finds the element-wise absolute
maximum or minimum of a group of integer matrices over the Library Grid.
-
F01CRFP Computes the transpose of a matrix
which is distributed in row-block form
-
F01XAFP Distributes a real square sparse
matrix, represented in coordinate storage format, in cyclic row block form
-
F01XBFP Distributes a real square sparse
matrix, represented in coordinate storage format, in general row block
form
-
F01XEFP Distributes a real dense vector
conformally to a sparse matrix
-
F01XFFP Gathers a real dense vector, distributed
conformally to a sparse matrix, to one or more processors
-
F01XGFP Distributes an integer dense vector
conformally to sparse matrix
-
F01XHFP Gathers an integer dense vector,
distributed conformally to a sparse matrix, to one or more processors
-
F01XPFP Distributes a complex square sparse
matrix, represented in coordinate storage format, in cyclic row block form
-
F01XQFP Distributes a complex square sparse
matrix, represented in coordinate storage format, in general row block
form
-
F01XTFP Distributes a complex dense vector
conformally to a sparse matrix
-
F01XUFP Gathers a complex dense vector,
distributed conformally to a sparse matrix, to one or more processors
-
F01YAFP Generates a real square sparse
matrix, represented in coordinate storage format, in-place according to
a cyclic row block distribution
-
F01YBFP Generates a real square sparse
matrix, represented in coordinate storage format, in-place according to
a cyclic row block distribution, optionally generating the numerical values
of non-zero elements only
-
F01YCFP Generates a real square sparse
matrix, represented in coordinate storage format, in-place according to
a general row block distribution, optionally generating the numerical values
of non-zero elements only
-
F01YEFP Generates a real dense vector
in-place such that its elements are distributed conformally to a sparse
matrix
-
F01YPFP Generates a complex square sparse
matrix, represented in coordinate storage format, in-place according to
a cyclic row block distribution
-
F01YQFP Generates a complex square sparse
matrix, represented in coordinate storage format, in-place according to
a cyclic row block distribution, optionally generating the numerical values
of non-zero elements only
-
F01YRFP Generates a complex square sparse
matrix, represented in coordinate storage format, in-place according to
a general row block distribution, optionally generating the numerical values
of non-zero elements only
-
F01YTFP Generates a complex dense vector
in-place such that its elements are distributed conformally to a sparse
matrix
-
F01YXFP Generates/distributes a real banded
symmetric matrix in column block fashion
-
F01YYFP Generates/distributes a real matrix
using the Row Block Distribution, used with F07JEFP
or F07HEFP
-
F01ZFFP Performs a 3-d ik-global transpose
of 3-d (l x m x n) real array of data A(i,j,k) distributed in i-block form
-
F01ZHFP Generates/distribute an l by m
by n real array on a grid of logical processors in i-block form
-
F01ZKFP Generates a distributed l by m
by n real matrix on a grid of logical processors in jk-block form
-
F01ZMFP Generates/distruntes a matrix
in row block form
-
F01ZZFP Generates/distributes a real vector
- used with F07JDFP
Chapter F04: Simultaneous Linear Equations
-
F04HBFP Solves a real symmetric positive-definite
banded simultaneous linear equations with multiple right-hand sides (Black
Box)
-
F04JBFP Solves a real symmetric positive-definite
tridiagonal simultaneous linear equations with multiple right-hand sides
(Black Box)
Chapter F07: Linear Equations (ScaLAPACK)
-
F07HDFP Performs the Cholesky factorization
of a real banded symmetric positive-definite matrix (PDPBTRF)
-
F07HEFP Solves a real banded symmetric
positive-definite system of linear equations, multiple right-hand sides,
matrix already factorized by F07HDFP (PDPBTRF)
-
F07JDFP Performs the Cholesky factorization
of a real tridiagonal symmetric positive-definite matrix (PDPTTRF)
-
F07JEFP Solves a real tridiagonal symmetric
positive-definite system of linear equations, multiple right-hand sides,
matrix already
factorized by F07JDFP (PDPTTRF)
Chapter F11: Sparse Linear Algebra
-
Chapter Introduction
-
F11BAFP Sets up parameters for F11BBFP
and F11BCFP
-
F11BBFP Solves a real general (unsymmetric)
system of simultaneous linear equations using a Restarted Generalised Minimal
RESidual (RGMRES), a Conjugate Gradient Squared (CGS), a BI-Conjugate Gradient
STABilized (BI-CGSTAB), or a Transpose-Free Quasi-Minimal Residual (TFQMR)
iterative method
-
F11BCFP Provides information about the
computations carried out by F11BBFP
-
F11BPFP Sets up parameters for F11BQFP
and F11BRFP
-
F11BQFP Solves a complex general (non-Hermitian)
system of simultaneous linear equations using a Restarted Generalised Minimal
RESidual (RGMRES), a Conjugate Gradient Squared (CGS), a BI-Conjugate Gradient
STABilized (BI-CGSTAB), or a Transpose-Free Quasi-Minimal Residual (TFQMR)
iterative method
-
F11BRFP Provides information about the
computations carried out by F11BQFP
-
F11DAFP Computes incomplete LU factorizations
of overlapping or non-overlapping diagonal blocks of a real square sparse
matrix, represented in coordinate storage format, distributed in cyclic
or general row block form
-
F11DBFP Implements an overlapping or non-overlapping
additive Schwarz preconditioner based on the incomplete LU factorizations
computed by F11DAFP
-
F11DCFP Solves a real general (unsymmetric)
system of simultaneous linear equations using a Restarted Generalised Minimal
RESidual (RGMRES), a Conjugate Gradient Squared (CGS), a BI-Conjugate Gradient
STABilized (BI-CGSTAB), or a Transpose-Free Quasi-Minimal Residual (TFQMR)
iterative method in conjunction with an overlapping or non-overlapping
additive Schwarz preconditioner (Black Box)
-
F11DDFP Performs a multi-color SOR or
SSOR iterative method for a real square sparse matrix, represented in coordinate
storage format, distributed in cyclic or general row block form
-
F11DEFP Solves a real general (unsymmetric)
system of simultaneous linear equations using a Restarted Generalised Minimal
RESidual (RGMRES), a Conjugate Gradient Squared (CGS), a BI-Conjugate Gradient
STABilized (BI-CGSTAB), or a Transpose-Free Quasi-Minimal Residual (TFQMR)
iterative method in conjunction with a Jacobi, SOR or SSOR preconditioner
(Black Box)
-
F11DFFP Performs a Jacobi iterative method
for a real square sparse matrix, represented in coordinate storage format,
distributed in cyclic or general row block form
-
F11DPFP Computes incomplete LU factorizations
of overlapping or non-overlapping diagonal blocks of a complex square sparse
matrix, represented in coordinate storage format, distributed in cyclic
or general row block form
-
F11DQFP Implements an overlapping or non-overlapping
additive Schwarz preconditioner based on the incomplete LU factorizations
computed by F11DPFP
-
F11DRFP Solves a complex general (non-Hermitian)
system of simultaneous linear equations using a Restarted Generalised Minimal
RESidual (RGMRES), a Conjugate Gradient Squared (CGS), a BI-Conjugate Gradient
STABilized (BI-CGSTAB), or a Transpose-Free Quasi-Minimal Residual (TFQMR)
iterative method in conjunction with an overlapping or non-overlapping
additive Schwarz preconditioner (Black Box)
-
F11DSFP Performs a multi-color SOR or
SSOR iterative method for a complex square sparse matrix, represented in
coordinate storage format, distributed in cyclic or general row block form
-
F11DTFP Solves a complex general (non-Hermitian)
system of simultaneous linear equations using a Restarted Generalised Minimal
RESidual (RGMRES), a Conjugate Gradient Squared (CGS), a BI-Conjugate Gradient
STABilized (BI-CGSTAB), or a Transpose-Free Quasi-Minimal Residual (TFQMR)
iterative method in conjunction with a Jacobi, SOR or SSOR preconditioner
(Black Box)
-
F11DUFP Performs a Jacobi iterative method
for a complex square sparse matrix, represented in coordinate storage format,
distributed in cyclic or general row block form
-
F11GAFP Sets up parameters for F11GBFP
and F11GCFP
-
F11GBFP Solves a real symmetric system
of simultaneous linear equations using a Conjugate Gradient (CG) or a Lanczos-based
(SYMMLQ) iterative method
-
F11GCFP Provides information about the
computations carried out by F11GBFP
-
F11JCFP Solves a real symmetric system
of simultaneous linear equations using a Conjugate Gradient (CG) or a Lanczos-based
(SYMMLQ) iterative method in conjunction with an overlapping or non-overlapping
additive Schwarz preconditioner (Black Box)
-
F11JEFP Solves a real symmetric system
of simultaneous linear equations using a Conjugate Gradient (CG) or a Lanczos-based
(SYMMLQ) iterative method in conjunction with a Jacobi or SSOR preconditioner
(Black Box)
-
F11XBFP Computes a matrix-vector or transposed
matrix-vector product involving a real square sparse matrix, represented
in coordinate storage format, distributed in cyclic or general row block
form
-
F11XCFP Exchanges the interface part of
a real dense vector, distributed conformally to a sparse matrix, between
processors
-
F11XQFP Computes a matrix-vector, transposed
matrix-vector or conjugate transposed matrix-vector product involving a
complex square sparse matrix, represented in coordinate storage format,
distributed in cyclic or general row block form
-
F11XRFP Exchanges the interface part of
a complex dense vector, distributed conformally to a sparse matrix, between
processors
-
F11YAFP Permutes the non-zero elements
of a real square sparse matrix, represented in coordinate storage format,
distributed in cyclic or general row block form, into the order previously
determined by F11ZBFP or F11ZCFP
-
F11YBFP Permutes the local part of a real
dense vector, distributed conformally to a sparse matrix, from distribution-based
order into matrix-based order
-
F11YCFP Permutes the local part of a real
dense vector, distributed conformally to a sparse matrix, from matrix-based
order into distribution-based order
-
F11YPFP Permutes the non-zero elements
of a complex square sparse matrix, represented in coordinate storage format,
distributed in cyclic or general row block form, into the order previously
determined by F11ZQFP or F11ZRFP
-
F11YQFP Permutes the local part of a complex
dense vector, distributed conformally to a sparse matrix, from distribution-based
order into matrix-based order
-
F11YRFP Permutes the local part of a complex
dense vector, distributed conformally to a sparse matrix, from matrix-based
order into distribution-based order
-
F11ZAF Reorders the non-zero elements of
a real square matrix, represented in coordinate storage format, by increasing
row index and by increasing column index within each row
-
F11ZBFP Pre-processes a real square sparse
matrix, represented in coordinate storage format, distributed in cyclic
row block form, such that subsequent matrix operations can be performed
efficiently
-
F11ZCFP Pre-processes a real square sparse
matrix, represented in coordinate storage format, distributed in general
row block form, such that subsequent matrix operations can be performed
efficiently
-
F11ZFFP Generates overlap areas of specified
size for the local diagonal blocks of a real square sparse matrix, represented
in coordinate storage format, distributed in cyclic or general row block
form
-
F11ZGFP Generates a multi-color ordering
of a real square sparse matrix, represented in coordinate storage format,
distributed in cyclic or general row block form
-
F11ZQFP Pre-processes a complex square
sparse matrix, represented in coordinate storage format, distributed in
cyclic row block form, such that subsequent matrix operations can be performed
efficiently
-
F11ZRFP Pre-processes a complex square
sparse matrix, represented in coordinate storage format, distributed in
general row block form, such that subsequent matrix operations can be performed
efficiently
-
F11ZUFP Generates overlap areas of specified
size for the local diagonal blocks of a complex square sparse matrix, represented
in coordinate storage format, distributed in cyclic or general row block
form
-
F11ZVFP Generates a multi-color ordering
of a complex square sparse matrix, represented in coordinate storage format,
distributed in cyclic or general row block form
-
F11ZZFP Release of memory allocated internally
for auxiliary information
Chapter G05: Random Number Generators
-
Chapter Introduction
-
G05AAFP Genrates a pseudo-random real
numbers from a uniform distribution over (0,1), Wichmann--Hill generator
-
G05ABFP Selects a random number generator
and initialise seeds to give repeatable sequence
Chapter X04: Input/Output Utilities
-
X04BFFP Outputs a set of real general matrices distributed on a 2-d logical processor grid, used with the F02
routines
-
X04XBFP Outputs a square matrix distributed
in the row block fashion
-
X04YAFP Outputs a real dense vector distributed
conformally to a sparse matrix
-
X04YPFP Outputs a complex dense vector
distributed conformally to a sparse matrix
Chapter Y01: Load Distribution and Balancing
-
Chapter Introduction
-
Y01ABF Partitions a weighted or unweighted
symmetric graph into equally sized subgraphs such that the edge-cut between
different subgraphs is small
-
Y01BAFP Transforms a partitioning vector
into a general row block distribution
Chapter Z01: Library Utilities
-
Chapter Introduction
-
Z01AAFP Defines a 2-d logical processor
grid (Library Grid) and returns the BLACS context
-
Z01ABFP Undefines the logical processor
grid and invalidates the BLACS context initialised by
-
Z01AAFP
-
Z01ACFP Identifies the root processor
-
Z01ADFP May be used in creating processes
outside the default library mechanism, allows multigridding, used in more
advanced applications (PVM-based version only)
-
Z01AEFP May be used in creating processes
outside the default library mechanism, allows multigridding, used in more
advanced applications (MPI-based version only)
-
Z01BAFP Returns the row and column indices
of the root processor within the logical grid
-
Z01BBFP Identifies logical processors
in context in the 2-d grid declared by Z01AAFP
-
Z01BDFP Returns information about PVM
tasks (PVM-based version only)
-
Z01BEFP Returns the topology to be used
by BLACS for broadcasting and global operations
-
Z01BFFP Enables debugging (PVM-based version
only)
-
Z01BGFP Returns information about MPI
tasks (MPI-based version only)
-
Z01CAFP Returns the number of rows or
columns of a matrix held locally on a given processor when the matrix is
distributed in the cyclic 2-d block fashion (NUMROC)
-
Z01CDFP Returns the process coordinate
which possesses the entry of a distributed matrix specified by a global
index (INDXG2P)
-
Z01CFFP Computes the number of rows of
a row block distributed matrix
-
Z02EAFP Modifies the error checking level
used by PINEAPL Library routines
Chapter X01: Mathematical Constants
Chapter X02: Machine Constants
-
Chapter Introduction
-
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, $e_{min}$
-
X02BLF Parameter of floating-point arithmetic
model, $e_{max}$
-
X02DJF Parameter of floating-point arithmetic
model, ROUNDS