Advice on Replacement Calls

The following list gives replacement advice for routines that have either been withdrawn or superseded.

Please contact NAG if you have any questions about how to make appropriate replacements in your code.

correg - Correlation and Regression Analysis

mixeff_hier_init

Hierarchical mixed effects regression, initialization function for correg.mixeff_hier_reml and correg.mixeff_hier_ml.

Deprecated.

Replaced by correg.lmm_init.

mixeff_hier_ml

Hierarchical mixed effects regression using Maximum Likelihood (ML).

Deprecated.

Replaced by correg.lmm_fit.

mixeff_hier_reml

Hierarchical mixed effects regression using Restricted Maximum Likelihood (REML).

Deprecated.

Replaced by correg.lmm_fit.

mixeff_ml

Linear mixed effects regression using Maximum Likelihood (ML).

Deprecated.

Replaced by correg.lmm_init followed by correg.lmm_fit.

mixeff_reml

Linear mixed effects regression using Restricted Maximum Likelihood (REML).

Deprecated.

Replaced by correg.lmm_init followed by correg.lmm_fit.

Reason for Replacement

None given.

eigen - Eigenvalues and Eigenvectors

withdraw_real_band_geneig

Eigenvector of generalized real banded eigenproblem by inverse iteration.

Withdrawn at Mark 27.

Replaced by sparseig.real_band_solve and sparseig.real_symm_band_solve.

Reason for Replacement

The replacement functions sparseig.real_symm_band_solve (symmetric case) and sparseig.real_band_solve (nonsymmetric case) are threaded for parallel execution in multithreaded implementations. These functions are based on the ARPACK package and make calls to BLAS/LAPACK functions. These may be threaded within the vendor library used by the implementation, which provides an additional opportunity for multithreaded performance.

withdraw_real_gen_qu_svd

Returns the Householder factorization of a real rectangular matrix. Part or all of the singular value decomposition may also be returned.

Withdrawn at Mark 27.

Replaced by lapackeig.dgeqrf and eigen.real_triang_svd.

Reason for Replacement

This function is replaced for multithreaded performance and the ability to benefit from vendor library performance (BLAS/LAPACK).

fit - Curve and Surface Fitting

withdraw_1dmmax

Minimax curve fit by polynomials.

Withdrawn at Mark 27.

Replaced by fit.dim1_minimax_polynomial.

Reason for Replacement

None given.

lapackeig - Least Squares and Eigenvalue Problems (LAPACK)

dgeqpf

factorization, with column pivoting, of real general rectangular matrix.

Deprecated.

Replaced by lapackeig.dgeqp3.

dgges

Computes, for a real nonsymmetric matrix pair, the generalized eigenvalues, the generalized real Schur form and, optionally, the left and/or right matrices of Schur vectors.

Deprecated.

Replaced by lapackeig.dgges3.

dggev

Computes, for a real nonsymmetric matrix pair, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors.

Deprecated.

Replaced by lapackeig.dggev3.

dgghrd

Performs an orthogonal reduction of a pair of real general matrices to generalized upper Hessenberg form.

Deprecated.

Replaced by lapackeig.dgghd3.

dggsvd

Computes the generalized singular value decomposition of a real matrix pair.

Deprecated.

Replaced by lapackeig.dggsvd3.

dggsvp

Produces orthogonal matrices that simultaneously reduce the matrix and the matrix to upper triangular form.

Deprecated.

Replaced by lapackeig.dggsvp3.

zgeqpf

factorization, with column pivoting, of complex general rectangular matrix.

Deprecated.

Replaced by lapackeig.zgeqp3.

zgges

Computes, for a complex nonsymmetric matrix pair, the generalized eigenvalues, the generalized complex Schur form and, optionally, the left and/or right matrices of Schur vectors.

Deprecated.

Replaced by lapackeig.zgges3.

zggev

Computes, for a complex nonsymmetric matrix pair, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors.

Deprecated.

Replaced by lapackeig.zggev3.

zgghrd

Performs a unitary reduction of a pair of complex general matrices to generalized upper Hessenberg form.

Deprecated.

Replaced by lapackeig.zgghd3.

zggsvd

Computes the generalized singular value decomposition of a complex matrix pair.

Deprecated.

Replaced by lapackeig.zggsvd3.

zggsvp

Produces unitary matrices that simultaneously reduce the complex, , matrix and the complex, , matrix to upper triangular form.

Deprecated.

Replaced by lapackeig.zggsvp3.

linsys - Simultaneous Linear Equations

withdraw_real_posdef_solve_1rhs

Solution of real symmetric positive definite simultaneous linear equations, one right-hand side using iterative refinement (Black Box).

Scheduled for withdrawal at Mark 28.

Replaced by lapacklin.dposvx.

Reason for Replacement

This function has been replaced by lapacklin.dposvx for performance. The replacement function is threaded by NAG and may also be threaded in the vendor library (BLAS/LAPACK).

withdraw_real_posdef_solve_ref

Solution of real symmetric positive definite simultaneous linear equations with multiple right-hand sides using iterative refinement (Black Box).

Scheduled for withdrawal at Mark 28.

Replaced by lapacklin.dposvx.

Reason for Replacement

This function has been replaced by lapacklin.dposvx for performance. The replacement function is threaded by NAG and may also be threaded in the vendor library (BLAS/LAPACK).

withdraw_real_square_solve_1rhs

Solution of real simultaneous linear equations, one right-hand side using iterative refinement (Black Box).

Scheduled for withdrawal at Mark 28.

Replaced by lapacklin.dgesvx.

Reason for Replacement

This function has been replaced by lapacklin.dgesvx for performance. The replacement function is threaded by NAG and may also be threaded in the vendor library (BLAS/LAPACK).

withdraw_real_square_solve_ref

Solution of real simultaneous linear equations with multiple right-hand sides using iterative refinement (Black Box).

Scheduled for withdrawal at Mark 28.

Replaced by lapacklin.dgesvx.

Reason for Replacement

This function has been replaced by lapacklin.dgesvx for performance. The replacement function is threaded by NAG and may also be threaded in the vendor library (BLAS/LAPACK).

ode - Ordinary Differential Equations

withdraw_bvp_coll_nlin

Ordinary differential equations, general nonlinear boundary value problem, collocation technique.

Withdrawn at Mark 27.

Replaced by ode.bvp_coll_nlin_solve.

Reason for Replacement

This replacement was made primarily for reasons of threadsafety.

opt - Minimizing or Maximizing a Function

bounds_bobyqa_func

Bound constrained minimum, model-based algorithm, using function values only.

Deprecated.

Replaced by opt.handle_solve_dfno and opt.handle_solve_dfno_rcomm.

Reason for Replacement

opt.handle_solve_dfno and opt.handle_solve_dfno_rcomm are a part of the new NAG optimization modelling suite (see the E04 Introduction) which allows you to define and solve various problems in a uniform manner. They also offer various algorithmic additions, such as a performance improvement on noisy problems, a possibility to progress towards the solution earlier than after initial function evaluations, heuristic stopping criteria, recovery from unavailable function evaluations, and various other algorithmic updates and tuning. In addition, opt.handle_solve_dfno_rcomm offers a reverse communication interface (see the E04 Introduction) which might be useful in some environments or if you can parallelize your function evaluations.

qpconvex1_sparse_mps

Read MPS data file defining LP or QP problem, deprecated.

Deprecated.

Replaced by opt.miqp_mps_read.

Reason for Replacement

None given.

uncon_conjgrd_comp

Unconstrained minimum, preconditioned conjugate gradient algorithm, using first derivatives (comprehensive).

Deprecated.

Replaced by opt.handle_solve_bounds_foas.

Reason for Replacement

The new solver opt.handle_solve_bounds_foas is part of the NAG optimization modelling suite (see the E04 Introduction), therefore the definition of the objective function values and gradients need to be split into two separate subroutines. opt.handle_solve_bounds_foas offers a significant improvement in performance over opt.uncon_conjgrd_comp as well as additional functionality, such as the addition of variable bounds and monitoring.

uncon_conjgrd_option_file

Supply option values for opt.uncon_conjgrd_comp from external file.

Deprecated.

There is no replacement for this function.

uncon_conjgrd_option_string

Supply option values to opt.uncon_conjgrd_comp from a character string.

Deprecated.

There is no replacement for this function.

pde - Partial Differential Equations

withdraw_2d_gen_order2_checkgrid

Check initial grid data in pde.dim2_gen_order2_rectilinear.

Withdrawn at Mark 27.

There is no replacement for this function.

quad - Quadrature

dim1_fin_bad

One-dimensional quadrature, adaptive, finite interval, strategy due to Piessens and de Doncker, allowing for badly behaved integrands (single abscissa interface).

Deprecated.

Replaced by quad.dim1_fin_general.

Reason for Replacement

quad.dim1_fin_general provides thread safety in passing of data to user-supplied function. quad.dim1_fin_general also requires the user-supplied function to calculate a vector of abscissae at once for greater efficiency and returns additional information on the computation (in the arrays and .

dim1_fin_bad_vec

One-dimensional quadrature, adaptive, finite interval, variant of quad.dim1_fin_bad efficient on vector machines.

Deprecated.

Replaced by quad.dim1_fin_general.

Reason for Replacement

quad.dim1_fin_general provides thread safety in passing of data to user-supplied function. quad.dim1_fin_general also returns additional information on the computation (in the arrays and .

dim1_fin_osc

One-dimensional quadrature, adaptive, finite interval, method suitable for oscillating functions (single abscissa interface).

Deprecated.

Replaced by quad.dim1_fin_osc_fn.

Reason for Replacement

quad.dim1_fin_osc_fn provides thread safety in passing of data to user-supplied function. quad.dim1_fin_osc_fn also requires the user-supplied function to calculate a vector of abscissae at once for greater efficiency and returns additional information on the computation (in the arrays and .

dim1_fin_osc_vec

One-dimensional quadrature, adaptive, finite interval, variant of quad.dim1_fin_osc efficient on vector machines.

Deprecated.

Replaced by quad.dim1_fin_osc_fn.

Reason for Replacement

quad.dim1_fin_osc_fn provides thread safety in passing of data to user-supplied function. quad.dim1_fin_osc_fn also returns additional information on the computation (in the arrays and .

dim1_fin_sing

One-dimensional quadrature, adaptive, finite interval, allowing for singularities at user-specified break-points (single abscissa interface).

Deprecated.

Replaced by quad.dim1_fin_brkpts.

Reason for Replacement

quad.dim1_fin_brkpts provides thread safety in passing of data to user-supplied function. quad.dim1_fin_brkpts also requires the user-supplied function to calculate a vector of abscissae at once for greater efficiency and returns additional information on the computation (in the arrays and .

dim1_inf

One-dimensional quadrature, adaptive, infinite or semi-infinite interval.

Deprecated.

Replaced by quad.dim1_inf_general.

Reason for Replacement

quad.dim1_inf_general provides thread safety in passing of data to user-supplied function. quad.dim1_inf_general also requires the user-supplied function to calculate a vector of abscissae at once for greater efficiency and returns additional information on the computation (in the arrays and .

withdraw_1d_gen_vec_multi_diagnostic

Diagnostic function for quad.dim1_gen_vec_multi_rcomm.

Scheduled for withdrawal at Mark 28.

There is no replacement for this function.

Reason for Replacement

This function has been withdrawn as a separate diagnostic function is not required.

withdraw_dim1_gauss_wgen

Old function for calculating weights and abscissae for Gaussian quadrature rules, replaced by quad.dim1_gauss_wgen.

Deprecated.

Replaced by quad.dim1_gauss_wgen.

Reason for Replacement

None given.

smooth - Smoothing in Statistics

withdraw_kerndens_gauss

Kernel density estimate using Gaussian kernel.

Withdrawn at Mark 27.

Replaced by smooth.kerndens_gauss.

Reason for Replacement

The replacement routine introduces new functionality with respect to the automatic selection of a suitable window width.

Replacement Pseudocode

Old code:

# First call:
usefft = False
comm = {}
ns = ...
fft = np.empty(ns)
kg = withdraw_kerndens_gauss(
   x, window, slo, shi, usefft, fft, comm,
)
# Subsequent call(s):
usefft = True
kg = withdraw_kerndens_gauss(
   x, window, slo, shi, usefft, kg.fft, comm,
)

New code:

# First call:
comm = {}
ns = ...
kg = kerndens_gauss(
   x, comm, wtype=1, window=window, slo=slo, shi=shi, ns=ns,
)
# Subsequent call(s):
kg = kerndens_gauss(
   x, comm, wtype=1, window=window, ns=ns,
)

stat - Simple Calculations on Statistical Data

withdraw_plot_histogram

Lineprinter histogram of one variable.

Withdrawn at Mark 27.

There is no replacement for this function.

Reason for Replacement

Frequency tables generated by stat.frequency_table provide equivalent information.

withdraw_plot_scatter_2var

Lineprinter scatterplot of two variables.

Withdrawn at Mark 27.

There is no replacement for this function.

withdraw_plot_scatter_normal

Lineprinter scatterplot of one variable against Normal scores.

Withdrawn at Mark 27.

There is no replacement for this function.

sum - Summation of Series

withdraw_fft_hermitian_1d_multi_rfmt

Multiple one-dimensional Hermitian discrete Fourier transforms.

Scheduled for withdrawal at Mark 28.

Replaced by sum.fft_realherm_1d_multi_row or sum.fft_realherm_1d_multi_col.

Reason for Replacement

sum.fft_realherm_1d_multi_col provides a simpler interface for both forward and backward transforms. sum.fft_realherm_1d_multi_row returns real sequences in row order at the expense of efficiency.

withdraw_fft_real_1d_multi_rfmt

Multiple one-dimensional real discrete Fourier transforms.

Scheduled for withdrawal at Mark 28.

Replaced by sum.fft_realherm_1d_multi_row or sum.fft_realherm_1d_multi_col.

Reason for Replacement

sum.fft_realherm_1d_multi_col provides a simpler interface for both forward and backward transforms. sum.fft_realherm_1d_multi_row retains original input ordering at the expense of efficiency.

zeros - Zeros of Polynomials

poly_complex

All zeros of complex polynomial, modified Laguerre’s method.

Deprecated.

Replaced by zeros.poly_complex_fpml.

Reason for Replacement

None given.

poly_real

All zeros of real polynomial, modified Laguerre’s method.

Deprecated.

Replaced by zeros.poly_real_fpml.

Reason for Replacement

None given.