Mark 24 NAG Library for SMP & Multicore News (PDF version)
NAG Library Manual

NAG Library

Mark 24 NAG Library for SMP & Multicore News

+ Contents

1 Introduction

1.1 New Functionality

At Mark 24 of the NAG Library for SMP & Multicore new functionality has been introduced in addition to improvements in existing areas. The Library now contains 1784 user-callable routines of which 139 are new at this mark.
New Chapter X07 (IEEE Arithmetic) has been introduced, providing routines relating to IEEE arithmetic such as determining or creating an infinite value or a NaN (Not a Number). There have also been extensions in functionality included in the areas of statistics, wavelets, ordinary differential equations, interpolation, surface fitting, optimization, matrix operations, linear algebra, operations research, and special functions.
Chapter C06 (Summation of Series) has Fast Fourier Transforms (FFTs) for two-dimensional and three-dimensional real data.
Chapter C09 (Wavelet Transforms) has three-dimensional discrete wavelet transforms.
Chapter D01 (Quadrature) has a comprehensive one-dimensional adaptive quadrature routine and a variant for badly behaved integrands.
Chapter D02 (Ordinary Differential Equations) has threadsafe versions of the suite implementing Runge–Kutta methods.
Chapter E01 (Interpolation) has the modified Shepard's method for interpolating in dimensions greater than 5.
Chapter E02 (Curve and Surface Fitting) has a two-stage approximation method for two-dimensional scattered data.
Chapter E04 (Minimizing or Maximizing a Function) has non-negative least squares and an improved MPS data reader.
Chapter E05 (Global Optimization of a Function) has multi-start versions of general nonlinear programming and least squares routines.
Chapter F01 (Matrix Operations, Including Inversion) has greatly extended its range of matrix function routines including the calculation of condition numbers and the action on another matrix.
Chapter F02 (Eigenvalues and Eigenvectors) has a driver routine for calculating selected eigenvalues/vectors of real sparse general matrices.
Chapter F04 (Simultaneous Linear Equations) has norm estimators for rectangular matrices.
Chapter F11 (Large Scale Linear Systems) has a block diagonal (possibly overlapping) preconditioner and associated solver for real and complex nonsymmetric sparse matrices.
Chapter F12 (Large Scale Eigenproblems) has a driver for selected eigenvalues/vectors of general banded complex eigenproblems.
Chapter F16 (Further Linear Algebra Support Routines) has two additions from the BLAST set of routines.
Chapter G01 (Simple Calculations on Statistical Data) has routines for combining summary statistics from blocks of data, probabilities from a multivariate Student's t-distribution, and a large set of vectorized versions of routines for probabilities and density functions.
Chapter G02 (Correlation and Regression Analysis) has routines for weighted nearest correlation matrix and combining two sums of squares.
Chapter G03 (Multivariate Methods) has a Gaussian mixture model routine.
Chapter G05 (Random Number Generators) has Brownian bridge and random field routines.
Chapter G13 (Time Series Analysis) has moving averages for inhomogeneous time series.
Chapter H (Operations Research) has routines for computing best subsets.
Chapter S (Approximations of Special Functions) has added special functions: confluent hypergeometric, log beta and incomplete beta; additionally a large set of vectorized versions of existing special functions.
Chapter X07 (IEEE Arithmetic) has a set of IEEE routines including testing and setting Infs and NaNs.

1.2 New SMP parallelism and other optimizations

SMP parallelism has been added to new routines introduced at Mark 24 in the areas of discrete Fourier transforms, 3-D wavelets, multi-dimensional interpolation, cubic splines, global optimization, matrix functions, the mean and standard deviation of an arbitrary-sized data stream using a rolling window, Gaussian mixture model, Brownian bridge and univariate inhomogenous time series. An existing routine for Heston's model option pricing formula with Greeks has also been parallelized.

2 New Routines

The 139 new user-callable routines included in the NAG Library at Mark 24 are as follows.
Routine
Name

Purpose
C06PVF Two-dimensional real-to-complex discrete Fourier transform
C06PWF Two-dimensional complex-to-real discrete Fourier transform
C06PYF Three-dimensional real-to-complex discrete Fourier transform
C06PZF Three-dimensional complex-to-real discrete Fourier transform
C09ACF Three-dimensional wavelet filter initialization
C09FAF Three-dimensional discrete wavelet transform
C09FBF Three-dimensional inverse discrete wavelet transform
C09FCF Three-dimensional multi-level discrete wavelet transform
C09FDF Three-dimensional inverse multi-level discrete wavelet transform
D01RAF One-dimensional quadrature, adaptive, finite interval, multiple integrands, vectorized abscissae, reverse communication
D01RBF Diagnostic routine for D01RAF
D01RCF Determine required array dimensions for D01RAF
D01RGF One-dimensional quadrature, adaptive, finite interval, strategy due to Gonnet, allowing for badly behaved integrands
D01TBF Pre-computed weights and abscissae for Gaussian quadrature rules, restricted choice of rule
D01UAF One-dimensional Gaussian quadrature, choice of weight functions
D01ZKF Option setting routine
D01ZLF Option getting routine
D02PEF Ordinary differential equations, initial value problem, Runge–Kutta method, integration over range with output
D02PFF Ordinary differential equations, initial value problem, Runge–Kutta method, integration over one step
D02PQF Ordinary differential equations, initial value problem, setup for D02PEF and D02PFF
D02PRF Ordinary differential equations, initial value problem, resets end of range for D02PFF
D02PSF Ordinary differential equations, initial value problem, interpolation for D02PFF
D02PTF Ordinary differential equations, initial value problem, integration diagnostics for D02PEF and D02PFF
D02PUF Ordinary differential equations, initial value problem, error assessment diagnostics for D02PEF and D02PFF
E01ZMF Interpolating function, modified Shepard's method, d dimensions
E01ZNF Interpolated values, evaluate interpolant computed by E01ZMF, function and first derivatives, d dimensions
E02BFF Evaluation of fitted cubic spline, function and optionally derivatives at a vector of points
E02JDF Spline approximation to a set of scattered data using a two-stage approximation method
E02JEF Evaluation at a vector of points of a spline computed by E02JDF
E02JFF Evaluation at a mesh of points of a spline computed by E02JDF
E02ZKF Option setting routine
E02ZLF Option getting routine
E04MXF Reads MPS data file defining LP, QP, MILP or MIQP problem
E04PCF Computes the least squares solution to a set of linear equations subject to fixed upper and lower bounds on the variables. An option is provided to return a minimal length solution if a solution is not unique
E05UCF Global optimization using multi-start, nonlinear constraints
E05USF Global optimization of a sum of squares problem using multi-start, nonlinear constraints
F01EJF Real matrix logarithm
F01EKF Exponential, sine, cosine, sinh or cosh of a real matrix (Schur–Parlett algorithm)
F01ELF Function of a real matrix (using numerical differentiation)
F01EMF Function of a real matrix (using user-supplied derivatives)
F01FJF Complex matrix logarithm
F01FKF Exponential, sine, cosine, sinh or cosh of a complex matrix (Schur–Parlett algorithm)
F01FLF Function of a complex matrix (using numerical differentiation)
F01FMF Function of a complex matrix (using user-supplied derivatives)
F01GAF Action of a real matrix exponential on a real matrix
F01GBF Action of a real matrix exponential on a real matrix (reverse communication)
F01HAF Action of a complex matrix exponential on a complex matrix
F01HBF Action of a complex matrix exponential on a complex matrix (reverse communication)
F01JAF Condition number for the exponential, logarithm, sine, cosine, sinh or cosh of a real matrix
F01JBF Condition number for a function of a real matrix (using numerical differentiation)
F01JCF Condition number for a function of a real matrix (using user-supplied derivatives)
F01KAF Condition number for the exponential, logarithm, sine, cosine, sinh or cosh of a complex matrix
F01KBF Condition number for a function of a complex matrix (using numerical differentiation)
F01KCF Condition number for a function of a complex matrix (using user-supplied derivatives)
F02EKF Selected eigenvalues and eigenvectors of a real sparse general matrix
F04YDF Norm estimation (for use in condition estimation), real rectangular matrix
F04ZDF Norm estimation (for use in condition estimation), complex rectangular matrix
F11DFF Real sparse nonsymmetric linear system, incomplete LU factorization of local or overlapping diagonal blocks
F11DGF Solution of real sparse nonsymmetric linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, incomplete LU block diagonal preconditioner computed by F11DFF
F11DTF Complex sparse nonsymmetric linear system, incomplete LU factorization of local or overlapping diagonal blocks
F11DUF Solution of complex sparse nonsymmetric linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, incomplete LU block diagonal preconditioner computed by F11DTF
F12ATF Initialization routine for (F12AUF) computing selected eigenvalues and, optionally, eigenvectors of a complex banded (standard or generalized) eigenproblem.
F12AUF Selected eigenvalues and, optionally, eigenvectors of complex non-Hermitian banded eigenproblem, driver
F16ECF Real scaled vector accumulation
F16GCF Complex scaled vector accumulation
G01ATF Computes univariate summary information: mean, variance, skewness, kurtosis
G01AUF Combines multiple sets of summary information, for use after G01ATF
G01HDF Computes the probability for the multivariate Student's t-distribution
G01KKF Computes a vector of values for the probability density function of the gamma distribution
G01KQF Computes a vector of values for the probability density function of the Normal distribution
G01LBF Computes a vector of values for the probability density function of the multivariate Normal distribution
G01SAF Computes a vector of probabilities for the standard Normal distribution
G01SBF Computes a vector of probabilities for the Student's t-distribution
G01SCF Computes a vector of probabilities for χ2 distribution
G01SDF Computes a vector of probabilities for F-distribution
G01SEF Computes a vector of probabilities for the beta distribution
G01SFF Computes a vector of probabilities for the gamma distribution
G01SJF Computes a vector of probabilities for the binomial distribution
G01SKF Computes a vector of probabilities for the Poisson distribution
G01SLF Computes a vector of probabilities for the hypergeometric distribution
G01TAF Computes a vector of deviates for the standard Normal distribution
G01TBF Computes a vector of deviates for Student's t-distribution
G01TCF Computes a vector of deviates for χ2 distribution
G01TDF Computes a vector of deviates for F-distribution
G01TEF Computes a vector of deviates for the beta distribution
G01TFF Computes a vector of deviates for the gamma distribution
G01WAF Computes the mean and standard deviation using a rolling window
G02AJF Computes the nearest correlation matrix to a real square matrix, using element-wise weighting
G02BZF Combines two sums of squares matrices, for use after G02BUF
G03GAF Fits a Gaussian mixture model
G05XAF Initializes the Brownian bridge generator
G05XBF Generate paths for a free or non-free Wiener process using the Brownian bridge algorithm
G05XCF Initializes the generator which backs out the increments of sample paths generated by a Brownian bridge algorithm
G05XDF Backs out the increments from sample paths generated by a Brownian bridge algorithm
G05XEF Creates a Brownian bridge construction order out of a set of input times
G05ZMF Setup for simulating one-dimensional random fields, user-defined variogram
G05ZNF Setup for simulating one-dimensional random fields
G05ZPF Generates realisations of a one-dimensional random field
G05ZQF Setup for simulating two-dimensional random fields, user-defined variogram
G05ZRF Setup for simulating two-dimensional random fields, preset variogram
G05ZSF Generates realisations of a two-dimensional random field
G05ZTF Generates realisations of fractional Brownian motion
G13MEF Computes the iterated exponential moving average for a univariate inhomogeneous time series
G13MFF Computes the iterated exponential moving average for a univariate inhomogeneous time series, intermediate results are also returned
G13MGF Computes the exponential moving average for a univariate inhomogeneous time series
H05AAF Best m subsets of size p (reverse communication)
H05ABF Best m subsets of size p (direct communication)
S14CBF Logarithm of the beta function lnB,a,b
S14CCF Incomplete beta function Ixa,b and its complement 1-Ix
S17AQF Bessel function vectorized Y0x
S17ARF Bessel function vectorized Y1x
S17ASF Bessel function vectorized J0x
S17ATF Bessel function vectorized J1x
S17AUF Airy function vectorized Aix
S17AVF Airy function vectorized Bix
S17AWF Airy function vectorized Aix
S17AXF Airy function vectorized Bix
S18AQF Modified Bessel function vectorized K0x
S18ARF Modified Bessel function vectorized K1x
S18ASF Modified Bessel function vectorized I0x
S18ATF Modified Bessel function vectorized I1x
S18CQF Scaled modified Bessel function vectorized exK0x
S18CRF Scaled modified Bessel function vectorized exK1x
S18CSF Scaled modified Bessel function vectorized e-xI0x
S18CTF Scaled modified Bessel function vectorized e-xI1x
S19ANF Kelvin function vectorized berx
S19APF Kelvin function vectorized beix
S19AQF Kelvin function vectorized kerx
S19ARF Kelvin function vectorized keix
S20AQF Fresnel integral vectorized Sx
S20ARF Fresnel integral vectorized Cx
S22BAF Real confluent hypergeometric function F 1 1 a;b;x
S22BBF Real confluent hypergeometric function F 1 1 a;b;x in scaled form
X07AAF Determines whether its argument has a finite value
X07ABF Determines whether its argument is a NaN (Not A Number)
X07BAF Creates a signed infinite value.
X07BBF Creates a NaN (Not A Number)
X07CAF Gets current behaviour of floating point exceptions
X07CBF Sets behaviour of floating point exceptions

3 Tuned Routines

The following is a list of user-callable routines that have been parallelized, or otherwise optimized, since the last release. There are 28 of these routines at this release in the areas of Fourier and wavelet transforms, interpolation, cubic splines, global optimization, matrix functions, simple and multivariate statistics, random number generators (RNGs), time series analysis and option pricing. See the document ‘Tuned and Enhanced Routines in the NAG Library for SMP & Multicore’ for a full list of tuned routines.
Note: on some implementations, the equivalent vendor library routines may be substituted for some of the following list – consult the Users' Note for your implementation for further information.
Routine
Name

Purpose
C06PVF Two-dimensional real-to-complex discrete Fourier transform
C06PWF Two-dimensional complex-to-real discrete Fourier transform
C06PYF Three-dimensional real-to-complex discrete Fourier transform
C06PZF Three-dimensional complex-to-real discrete Fourier transform
C09FAF Three-dimensional discrete wavelet transform
C09FBF Three-dimensional inverse discrete wavelet transform
C09FCF Three-dimensional multi-level discrete wavelet transform
C09FDF Three-dimensional inverse multi-level discrete wavelet transform
E01ZMF Interpolating function, modified Shepard's method, d dimensions
E01ZNF Interpolated values, evaluate interpolant computed by E01ZMF, function and first derivatives, d dimensions
E02BFF Evaluation of fitted cubic spline, function and optionally derivatives at a vector of points
E05UCF Global optimization using multi-start, nonlinear constraints
E05USF Global optimization of a sum of squares problem using multi-start, nonlinear constraints
F01EJF Real matrix logarithm
F01EKF Exponential, sine, cosine, sinh or cosh of a real matrix (Schur–Parlett algorithm)
F01EMF Function of a real matrix (using user-supplied derivatives)
F01FJF Complex matrix logarithm
F01FKF Exponential, sine, cosine, sinh or cosh of a complex matrix (Schur–Parlett algorithm)
F01FMF Function of a complex matrix (using user-supplied derivatives)
G01ATF Computes univariate summary information: mean, variance, skewness, kurtosis
G01WAF Computes the mean and standard deviation using a rolling window
G03GAF Fits a Gaussian mixture model
G05XBF Generate paths for a free or non-free Wiener process using the Brownian bridge algorithm
G05XDF Backs out the increments from sample paths generated by a Brownian bridge algorithm
G13MEF Computes the iterated exponential moving average for a univariate inhomogeneous time series
G13MFF Computes the iterated exponential moving average for a univariate inhomogeneous time series, intermediate results are also returned
G13MGF Computes the exponential moving average for a univariate inhomogeneous time series
S30NBF Heston's model option pricing formula with Greeks

4 Enhanced Routines

These routines call one or more of the tuned routines as part of their core operations and may thereby exhibit improved performance and scalability. There are 24 newly enhanced routines at this Mark; these include the areas of curve and surface fitting, matrix functions, sparse linear algebra, correlation and regression analysis and random number generators (RNGs). See the document ‘Tuned and Enhanced Routines in the NAG Library for SMP & Multicore’ for a full list of enhanced routines.
Routine
Name

Purpose
E02JDF Spline approximation to a set of scattered data using a two-stage approximation method
F01ELF Function of a real matrix (using numerical differentiation)
F01FLF Function of a complex matrix (using numerical differentiation)
F01GAF Action of a real matrix exponential on a real matrix
F01GBF Action of a real matrix exponential on a real matrix (reverse communication)
F01HAF Action of a complex matrix exponential on a complex matrix
F01HBF Action of a complex matrix exponential on a complex matrix (reverse communication)
F01JAF Condition number for the exponential, logarithm, sine, cosine, sinh or cosh of a real matrix
F01JBF Condition number for a function of a real matrix (using numerical differentiation)
F01JCF Condition number for a function of a real matrix (using user-supplied derivatives)
F01KAF Condition number for the exponential, logarithm, sine, cosine, sinh or cosh of a complex matrix
F01KBF Condition number for a function of a complex matrix (using numerical differentiation)
F01KCF Condition number for a function of a complex matrix (using user-supplied derivatives)
F02EKF Selected eigenvalues and eigenvectors of a real sparse general matrix
F11DGF Solution of real sparse nonsymmetric linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, incomplete LU block diagonal preconditioner computed by F11DFF
F11DUF Solution of complex sparse nonsymmetric linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, incomplete LU block diagonal preconditioner computed by F11DTF
F12AUF Selected eigenvalues and, optionally, eigenvectors of complex non-Hermitian banded eigenproblem, driver
G01LBF Computes a vector of values for the probability density function of the multivariate Normal distribution
G02AJF Computes the nearest correlation matrix to a real square matrix, using element-wise weighting
G05ZPF Generates realisations of a one-dimensional random field
G05ZQF Setup for simulating two-dimensional random fields, user-defined variogram
G05ZRF Setup for simulating two-dimensional random fields, preset variogram
G05ZSF Generates realisations of a two-dimensional random field
G05ZTF Generates realisations of fractional Brownian motion

5 Withdrawn Routines

The following routines have been withdrawn from the NAG Library at Mark 24. Warning of their withdrawal was included in the NAG Library Manual at Mark 23, together with advice on which routines to use instead. See the document ‘Advice on Replacement Calls for Withdrawn/Superseded Routines’ for more detailed guidance.
Withdrawn
Routine

Replacement Routine(s)
E04ZCF No longer required
P01ABF No longer required
X02DAF No longer required
X02DJF No longer required

6 Routines Scheduled for Withdrawal

The routines listed below are scheduled for withdrawal from the NAG Library, because improved routines have now been included in the Library. You are advised to stop using routines which are scheduled for withdrawal immediately and to use recommended replacement routines instead. See the document ‘Advice on Replacement Calls for Withdrawn/Superseded Routines’ for more detailed guidance, including advice on how to change a call to the old routine into a call to its recommended replacement.
The following routines will be withdrawn at Mark 25.
Routines Scheduled
for Withdrawal

Replacement Routine(s)
F04AFF No replacement routine required
F04AGF No replacement routine required
F04AHF No replacement routine required
F04AJF No replacement routine required
The following routines have been superseded, but will not be withdrawn from the Library until Mark 26 at the earliest.
Superseded
Routine

Replacement Routine(s)
C06GBF No replacement required
C06GCF No replacement required
C06GQF No replacement required
C06GSF No replacement required
D02PCF D02PEF and associated D02P routines
D02PDF D02PFF and associated D02P routines

Mark 24 NAG Library for SMP & Multicore News (PDF version)
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012

AltStyle によって変換されたページ (->オリジナル) /