NAG C Library News, Mark 26

At Mark 26 of the NAG C Library new functionality has been introduced in addition to improvements in existing areas. The Library now contains 1555 user-callable functions, all of which are documented, of which 37 are new at this mark.

Chapter d01 (Quadrature) has two new functions to calculate weights and abscissae for use in Gaussian quadrature and a new function to solve a specific Gaussian quadrature problem.

Chapter e04 (Minimizing or Maximizing a Function) has a new suite of functions, NAG Modelling Optimization Suite for quadratic programming (QP), linear semidefinite programming (SDP), semidefinite programming with bilinear matrix inequalities (BMI-SDP), and general nonlinear programming (NLP). This suite can, for example, solve the nearest correlation matrix problem with individually weighted elements or minimize the maximum eigenvalue of a matrix. The suite introduces a novel interface, allowing the gradual build up of a problem definition and avoiding the long parameter lists of earlier interfaces. The SDP solver is based upon a generalized augmented Lagrangian method and as such complements existing solvers in the optimization chapters. The QP/NLP solver of this suite is based upon IPOPT, an interior-point method optimization package, suitable for large-scale problems, that complements the active-set sequential quadratic programming (SQP) solvers already present.

Chapter f08 (Least Squares and Eigenvalue Problems (LAPACK)) has additional blocked (BLAS-3) variants of functions for computing the generalized SVD, or generalized eigenvalues of real or complex matrix pairs.

Chapter g02 (Correlation and Regression Analysis) has another nearest correlation function.

Chapter x06 (OpenMP Utilities has a new function to identify, at runtime, whether you are using a threaded Library or not.

At this release we have made changes to the introductory documentation supporting the Library. The document previously called the 'Essential Introduction' has been revised so that relevant information and advice on how to use the Library and its documentation can be found quickly. The document has been renamed to How to Use the NAG Library and its Documentation.

You will also notice that on every HTML page there is now a Keyword Search box.

The 37 new user-callable functions included in the NAG C Library at Mark 26 are as follows.

FunctionName |
Purpose |

d01tdc | Calculation of weights and abscissae for Gaussian quadrature rules, method of Golub and Welsch |

d01tec | Generates recursion coefficients needed by nag_quad_1d_gauss_wrec (d01tdc) to calculate a Gaussian quadrature rule |

d01ubc | Non-automatic function to evaluate $\underset{0}{\overset{\infty}{\int}}}\mathrm{exp}\left({-x}^{2}\right)f\left(x\right)dx$ |

d02pgc | Ordinary differential equations, initial value problem, Runge–Kutta method, integration by reverse communication |

d02phc | Set up interpolant by reverse communication for solution and derivative evaluations at points within the range of the last integration step taken by nag_ode_ivp_rk_step_revcomm (d02pgc) |

d02pjc | Evaluate interpolant, set up using nag_ode_ivp_rkts_setup (d02pqc), to approximate solution and/or solution derivatives at a point within the range of the last integration step taken by nag_ode_ivp_rk_step_revcomm (d02pgc) |

e04mwc | Write MPS data file defining LP, QP, MILP or MIQP problem |

e04rac | Initialization of a handle for the NAG optimization modelling suite for problems, such as, quadratic programming (QP), nonlinear programming (NLP), linear semidefinite programming (SDP) or SDP with bilinear matrix inequalities (BMI-SDP) |

e04rdc | A reader of sparse SDPA data files for linear SDP problems |

e04rec | Define a linear objective function to a problem initialized by nag_opt_handle_init (e04rac) |

e04rfc | Define a linear or a quadratic objective function to a problem initialized by nag_opt_handle_init (e04rac) |

e04rgc | Define a nonlinear objective function to a problem initialized by nag_opt_handle_init (e04rac) |

e04rhc | Define bounds of variables of a problem initialized by nag_opt_handle_init (e04rac) |

e04rjc | Define a block of linear constraints to a problem initialized by nag_opt_handle_init (e04rac) |

e04rkc | Define a block of nonlinear constraints to a problem initialized by nag_opt_handle_init (e04rac) |

e04rlc | Define a structure of Hessian of the objective, constraints or the Lagrangian to a problem initialized by nag_opt_handle_init (e04rac) |

e04rnc | Add one or more linear matrix inequality constraints to a problem initialized by nag_opt_handle_init (e04rac) |

e04rpc | Define bilinear matrix terms to a problem initialized by nag_opt_handle_init (e04rac) |

e04ryc | Print information about a problem handle initialized by nag_opt_handle_init (e04rac) |

e04rzc | Destroy the problem handle initialized by nag_opt_handle_init (e04rac) and deallocate all the memory used |

e04stc | Run an interior point solver on a sparse nonlinear programming problem (NLP) initialized by nag_opt_handle_init (e04rac) and defined by other functions from the suite |

e04svc | Run the Pennon solver on a compatible problem initialized by nag_opt_handle_init (e04rac) and defined by other functions from the suite, such as, semidefinite programming (SDP) and SDP with bilinear matrix inequalities (BMI) |

e04zmc | Option setting routine for the solvers from the NAG optimization modelling suite |

e04znc | Option getting routine for the solvers from the NAG optimization modelling suite |

e04zpc | Option setting routine for the solvers from the NAG optimization modelling suite from external file |

f08vcc | Computes, using BLAS-3, the generalized singular value decomposition of a real matrix pair |

f08vgc | Produces orthogonal matrices, using BLAS-3, that simultaneously reduce the $m$ by $n$ matrix $A$ and the $p$ by $n$ matrix $B$ to upper triangular form |

f08vqc | Computes, using BLAS-3, the generalized singular value decomposition of a complex matrix pair |

f08vuc | Produces unitary matrices, using BLAS-3, that simultaneously reduce the complex, $m$ by $n$, matrix $A$ and the complex, $p$ by $n$, matrix $B$ to upper triangular form |

f08wcc | Computes, for a real nonsymmetric matrix pair, using BLAS-3, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors |

f08wfc | Performs, using BLAS-3, an orthogonal reduction of a pair of real general matrices to generalized upper Hessenberg form |

f08wqc | Computes, for a complex nonsymmetric matrix pair, using BLAS-3, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors |

f08wtc | Performs, using BLAS-3, a unitary reduction of a pair of complex general matrices to generalized upper Hessenberg form |

f08xcc | Computes, for a real nonsymmetric matrix pair, using BLAS-3, the generalized eigenvalues, the generalized real Schur form and, optionally, the left and/or right matrices of Schur vectors |

f08xqc | Computes, for a complex nonsymmetric matrix pair, using BLAS-3, the generalized eigenvalues, the generalized complex Schur form and, optionally, the left and/or right matrices of Schur vectors |

g02apc | Computes a correlation matrix from an approximate one using a specified target matrix |

x06xac | Tests whether a threaded NAG Library is being used |

There have been no internal changes at this mark.

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

The functions listed below are scheduled for withdrawal from the NAG C Library, because improved functions have now been included in the Library. You are advised to stop using functions which are scheduled for withdrawal and to use recommended replacement functions instead. See the document ‘Advice on Replacement Calls for Withdrawn/Superseded Functions’ for more detailed guidance, including advice on how to change a call to the old function into a call to its recommended replacement.

The following functions will be withdrawn at Mark 27.

Functions Scheduledfor Withdrawal |
Replacement Function(s) |

d01tac | nag_quad_1d_gauss_vec (d01uac) |