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.

glopt - Global Optimization of a Function

bnd_mcs_init

Initialization function for glopt.bnd_mcs_solve.

Deprecated.

There is no replacement for this function.

bnd_mcs_optget_char

Get the setting of an ‘ON’/’OFF’-valued character option of glopt.bnd_mcs_solve.

Deprecated.

There is no replacement for this function.

bnd_mcs_optget_int

Get the setting of an integer valued option of glopt.bnd_mcs_solve.

Deprecated.

There is no replacement for this function.

bnd_mcs_optget_real

Get the setting of a real valued option of glopt.bnd_mcs_solve.

Deprecated.

There is no replacement for this function.

bnd_mcs_option_check

Determine whether an option for glopt.bnd_mcs_solve has been set by you or not.

Deprecated.

There is no replacement for this function.

bnd_mcs_optset_char

Set a single option for glopt.bnd_mcs_solve from an ‘ON’/’OFF’-valued character argument.

Deprecated.

There is no replacement for this function.

bnd_mcs_optset_file

Supply option values for glopt.bnd_mcs_solve from external file.

Deprecated.

There is no replacement for this function.

bnd_mcs_optset_int

Set a single option for glopt.bnd_mcs_solve from an integer argument.

Deprecated.

There is no replacement for this function.

bnd_mcs_optset_real

Set a single option for glopt.bnd_mcs_solve from a real argument.

Deprecated.

There is no replacement for this function.

bnd_mcs_optset_string

Set a single option for glopt.bnd_mcs_solve from a character string.

Deprecated.

There is no replacement for this function.

bnd_mcs_solve

Global optimization by multi-level coordinate search, simple bounds, using function values only.

Deprecated.

Replaced by glopt.handle_solve_mcs.

Reason for Replacement

A new interface to the Multi-level Coordinate Search (MCS) algorithm to integrate it to the NAG optimization modelling suite has been introduced. This new function gives access to all of the suite facilities and uses the same interface as all compatible solvers, simplifying experimentation significantly.

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).

Withdrawn at Mark 28.3.

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).

Withdrawn at Mark 28.3.

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).

Withdrawn at Mark 28.3.

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).

Withdrawn at Mark 28.3.

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).

mip - Operations Research

ilp_dense

Integer LP problem (dense).

Deprecated.

Replaced by mip.handle_solve_milp.

Reason for Replacement

A modern branch and bound algorithm that uses the NAG optimization modelling suite (see the E04 Introduction) has been introduced. This new function mip.handle_solve_milp has access to all of the suite facilities and uses the same interface as all compatible solvers.

ilp_info

Integer programming solution, extracts further information on solution obtained by mip.ilp_dense.

Deprecated.

Replaced by mip.handle_solve_milp.

Reason for Replacement

This was an utility function to extract further information on the optimum solution obtained by mip.ilp_dense, which has been superseded by mip.handle_solve_milp. This new function mip.handle_solve_milp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the query and printing facilities common to that suite.

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.

omp - OpenMP Utilities

get_nested

Tests the status of nested OpenMP parallelism.

Scheduled for withdrawal at Mark 31.3.

Replaced by omp.get_max_active_levels.

Reason for Replacement

None given.

set_nested

Enables or disables nested OpenMP parallelism.

Scheduled for withdrawal at Mark 31.3.

Replaced by omp.set_max_active_levels.

Reason for Replacement

None given.

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.

lsq_uncon_quasi_deriv_comp

Unconstrained minimum of a sum of squares, combined Gauss–Newton and quasi-Newton algorithm, using first derivatives (comprehensive).

Deprecated.

Replaced by opt.handle_solve_bxnl.

Reason for Replacement

opt.handle_solve_bxnl is part of the new NAG optimization modelling suite (see the E04 Introduction), therefore the definition of the nonlinear residual function values and gradients need to be split into two separate subroutines. opt.handle_solve_bxnl offers a significant improvement in performance over opt.lsq_uncon_quasi_deriv_comp as well as additional functionality, such as the addition of variable bounds and user-evaluation recovery, amongst many others.

lsq_uncon_quasi_deriv_easy

Unconstrained minimum of a sum of squares, combined Gauss–Newton and quasi-Newton algorithm, using first derivatives (easy-to-use).

Deprecated.

Replaced by opt.handle_solve_bxnl.

Reason for Replacement

opt.handle_solve_bxnl is part of the new NAG optimization modelling suite (see the E04 Introduction), therefore the definition of the nonlinear residual function values and gradients need to be split into two separate subroutines. opt.handle_solve_bxnl is a modern replacement for opt.lsq_uncon_quasi_deriv_easy and offers additional functionality, such as the addition of variable bounds and user-evaluation recovery, amongst many others.

nlp1_sparse_option_file

Supply option values for opt.nlp1_sparse_solve from external file.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an option setting function for opt.nlp1_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the option setting facilities common to that suite.

nlp1_sparse_option_string

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

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an option setting function for opt.nlp1_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the option setting facilities common to that suite.

nlp1_sparse_solve

Nonlinear programming (NLP), sparse, active-set SQP method, using function values and optionally first derivatives.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

A modern Sequential Quadratic Programming (SQP) algorithm that uses the NAG optimization modelling suite (see the E04 Introduction) has been introduced. This new function opt.handle_solve_ssqp has access to all of the suite facilities and uses the same interface as all compatible solvers.

nlp2_sparse_init

Initialization function for opt.nlp2_sparse_solve.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an initialization function for opt.nlp2_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the initialization facilities common to that suite.

nlp2_sparse_jacobian

Determine the pattern of nonzeros in the Jacobian matrix for opt.nlp2_sparse_solve.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was a sparsity structure defining function for opt.nlp2_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the problem defining facilities common to that suite.

nlp2_sparse_option_double_get

Get the setting of a real valued option of opt.nlp2_sparse_solve.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an option getting function for opt.nlp2_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the option getting facilities common to that suite.

nlp2_sparse_option_double_set

Set a single option for opt.nlp2_sparse_solve from a real argument.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an option setting function for opt.nlp2_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the option setting facilities common to that suite.

nlp2_sparse_option_file

Supply option values for opt.nlp2_sparse_solve from external file.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an option setting function for opt.nlp2_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the option setting facilities common to that suite.

nlp2_sparse_option_integer_get

Get the setting of an integer valued option of opt.nlp2_sparse_solve.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an option getting function for opt.nlp2_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the option getting facilities common to that suite.

nlp2_sparse_option_integer_set

Set a single option for opt.nlp2_sparse_solve from an integer argument.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an option setting function for opt.nlp2_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the option setting facilities common to that suite.

nlp2_sparse_option_string

Set a single option for opt.nlp2_sparse_solve from a character string.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

This was an option setting function for opt.nlp2_sparse_solve which has been superseded by opt.handle_solve_ssqp. opt.handle_solve_ssqp is part of the NAG optimization modelling suite (see the E04 Introduction) which uses the option setting facilities common to that suite.

nlp2_sparse_solve

Nonlinear programming (NLP), sparse, active-set SQP method, using function values and optionally first derivatives, recommended.

Deprecated.

Replaced by opt.handle_solve_ssqp.

Reason for Replacement

A modern Sequential Quadratic Programming (SQP) algorithm that uses the NAG optimization modelling suite (see the E04 Introduction) has been introduced. This new function opt.handle_solve_ssqp has access to all of the suite facilities and uses the same interface as all compatible solvers.

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).

Scheduled for withdrawal at Mark 31.3.

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.

Scheduled for withdrawal at Mark 31.3.

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).

Scheduled for withdrawal at Mark 31.3.

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.

Scheduled for withdrawal at Mark 31.3.

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).

Scheduled for withdrawal at Mark 31.3.

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.

Scheduled for withdrawal at Mark 31.3.

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.

Withdrawn at Mark 28.3.

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.

Scheduled for withdrawal at Mark 31.3.

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 30.2.

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 30.2.

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.