NAG Logo
Numerical Algorithms Group

a00 – Library Identification

Routine
Name
Mark of
Introduction

Purpose
a00aac 1 nag_implementation_details
Libraryidentification, details of implementation and mark

a02 – Complex Arithmetic

Routine
Name
Mark of
Introduction

Purpose
a02bac 2 nag_complex
Complex number from real and imaginary parts
a02bbc 2 nag_complex_real
Real part of a complex number
a02bcc 2 nag_complex_imag
Imaginary part of a complex number
a02cac 2 nag_complex_add
Addition of two complex numbers
a02cbc 2 nag_complex_subtract
Subtraction of two complex numbers
a02ccc 2 nag_complex_multiply
Multiplication of two complex numbers
a02cdc 2 nag_complex_divide
Quotient of two complex numbers
a02cec 2 nag_complex_negate
Negation of a complex number
a02cfc 2 nag_complex_conjg
Conjugate of a complex number
a02cgc 2 nag_complex_equal
Equality of two complex numbers
a02chc 2 nag_complex_not_equal
Inequality of two complex numbers
a02dac 2 nag_complex_arg
Argument of a complex number
a02dbc 2 nag_complex_abs
Modulus of a complex number
a02dcc 2 nag_complex_sqrt
Square root of a complex number
a02ddc 2 nag_complex_i_power
Complex number raised to integer power
a02dec 2 nag_complex_r_power
Complex number raised to real power
a02dfc 2 nag_complex_c_power
Complex number raised to complex power
a02dgc 2 nag_complex_log
Complex logarithm
a02dhc 2 nag_complex_exp
Complex exponential
a02djc 2 nag_complex_sin
Complex sine
a02dkc 2 nag_complex_cos
Complex cosine
a02dlc 2 nag_complex_tan
Complex tangent

c02 – Zeros of Polynomials

Routine
Name
Mark of
Introduction

Purpose
c02afc 2 nag_zeros_complex_poly
Zeros of a polynomial with complex coefficients
c02agc 2 nag_zeros_real_poly
Zeros of a polynomial with real coefficients
c02akc 6 nag_cubic_roots
Zeros of a cubic polynomial with real coefficients
c02alc 6 nag_quartic_roots
Zeros of a real quartic polynomial with real coefficients

c05 – Roots of One or More Transcendental Equations

Routine
Name
Mark of
Introduction

Purpose
c05adc 2 nag_zero_cont_func_bd
Zero of a continuous function of one variable
c05nbc 2 nag_zero_nonlin_eqns
Solution of a system of nonlinear equations (function values only)
c05pbc 2 nag_zero_nonlin_eqns_deriv
Solution of a system of nonlinear equations (using first derivatives)
c05sdc 5 nag_zero_cont_func_bd_1
Zero of a continuous function of one variable, thread-safe
c05tbc 5 nag_zero_nonlin_eqns_1
Solution of a system of nonlinear equations (function values only), thread-safe
c05ubc 5 nag_zero_nonlin_eqns_deriv_1
Solution of a system of nonlinear equations (using first derivatives), thread-safe
c05zbc 2 nag_check_deriv
Derivative checker for c05pbc
c05zcc 5 nag_check_deriv_1
Derivative checker for c05ubc, thread-safe

c06 – Fourier Transforms

Routine
Name
Mark of
Introduction

Purpose
c06eac 1 nag_fft_real
Single one-dimensional real discrete Fourier transform
c06ebc 1 nag_fft_hermitian
Single one-dimensional Hermitian discrete Fourier transform
c06ecc 1 nag_fft_complex
Single one-dimensional complex discrete Fourier transform
c06ekc 1 nag_convolution_real
Circular convolution or correlation of two real vectors
c06fpc 1 nag_fft_multiple_real
Multiple one-dimensional real discrete Fourier transforms
c06fqc 1 nag_fft_multiple_hermitian
Multiple one-dimensional Hermitian discrete Fourier transforms
c06frc 1 nag_fft_multiple_complex
Multiple one-dimensional complex discrete Fourier transforms
c06fuc 1 nag_fft_2d_complex
two-dimensional complex discrete Fourier transform
c06gbc 1 nag_conjugate_hermitian
Complex conjugate of Hermitian sequence
c06gcc 1 nag_conjugate_complex
Complex conjugate of complex sequence
c06gqc 1 nag_multiple_conjugate_hermitian
Complex conjugate of multiple Hermitian sequences
c06gsc 1 nag_multiple_hermitian_to_complex
Convert Hermitian sequences to general complex sequences
c06gzc 1 nag_fft_init_trig
Initialisation function for other c06 functions
c06hac 2 nag_fft_multiple_sine
Discrete sine transform
c06hbc 2 nag_fft_multiple_cosine
Discrete cosine transform
c06hcc 2 nag_fft_multiple_qtr_sine
Discrete quarter-wave sine transform
c06hdc 2 nag_fft_multiple_qtr_cosine
Discrete quarter-wave cosine transform
c06pfc 7 nag_fft_multid_single
One-dimensional complex discrete Fourier transform of multi-dimensional data (using complex data type)
c06pjc 7 nag_fft_multid_full
Multi-dimensional complex discrete Fourier transform of multi-dimensional data (using complex data type)
c06pxc 7 nag_fft_3d
Three-dimensional complex discrete Fourier transform, complex data format

d01 – Quadrature

Routine
Name
Mark of
Introduction

Purpose
d01ajc 2 nag_1d_quad_gen
One-dimensional adaptive quadrature, allowing for badly behaved integrands
d01akc 2 nag_1d_quad_osc
One-dimensional adaptive quadrature, suitable for oscillating functions
d01alc 2 nag_1d_quad_brkpts
One-dimensional adaptive quadrature, allowing for singularities at specified points
d01amc 2 nag_1d_quad_inf
One-dimensional adaptive quadrature over infinite or semi-infinite interval
d01anc 2 nag_1d_quad_wt_trig
One-dimensional adaptive quadrature, finite interval, sine or cosine weight functions
d01apc 2 nag_1d_quad_wt_alglog
One-dimensional adaptive quadrature, weight function with end-point singularities of algebraic-logarithmic type
d01aqc 2 nag_1d_quad_wt_cauchy
One-dimensional adaptive quadrature, weight function 1/(x-c), Cauchy principal value
d01asc 2 nag_1d_quad_inf_wt_trig
One-dimensional adaptive quadrature, semi-infinite interval, sine or cosine weight function
d01bac 2 nag_1d_quad_guass
One-dimensional Gaussian quadrature rule evaluation
d01fcc 2 nag_multid_quad_adapt
Multi-dimensional adaptive quadrature
d01gac 2 nag_1d_quad_vals
One-dimensional integration of a function defined by data values only
d01gbc 2 nag_multid_quad_monte_carlo
Multi-dimensional quadrature, using Monte Carlo method
d01sjc 5 nag_1d_quad_gen_1
One-dimensional adaptive quadrature, allowing for badly behaved integrands, thread-safe
d01skc 5 nag_1d_quad_osc_1
One-dimensional adaptive quadrature, suitable for oscillating functions, thread-safe
d01slc 5 nag_1d_quad_brkpts_1
One-dimensional adaptive quadrature, allowing for singularities at specified points, thread-safe
d01smc 5 nag_1d_quad_inf_1
One-dimensional adaptive quadrature over infinite or semi-infinite interval, thread-safe
d01snc 5 nag_1d_quad_wt_trig_1
One-dimensional adaptive quadrature, finite interval, sine or cosine weight functions, thread-safe
d01spc 5 nag_1d_quad_wt_alglog_1
One-dimensional adaptive quadrature, weight function with end-point singularities of algebraic-logarithmic type, thread-safe
d01sqc 5 nag_1d_quad_wt_cauchy_1
One-dimensional adaptive quadrature, weight function 1/(x-c), Cauchy principal value, thread-safe
d01ssc 5 nag_1d_quad_inf_wt_trig_1
One-dimensional adaptive quadrature, semi-infinite interval, sine or cosine weight function, thread-safe
d01tac 5 nag_1d_quad_gauss_1
One-dimensional Gaussian quadrature rule evaluation, thread-safe
d01wcc 5 nag_multid_quad_adapt_1
Multi-dimensional adaptive quadrature, thread-safe
d01xbc 5 nag_multid_quad_monte_carlo_1
Multi-dimensional quadrature, using Monte Carlo method, thread-safe

d02 – Ordinary Differential Equations

Routine
Name
Mark of
Introduction

Purpose
d02cjc 2 nag_ode_ivp_adams_gen
Ordinary differential equation solver using a variable-order variable-step Adams method (Black Box)
d02ejc 3 nag_ode_ivp_bdf_gen
Ordinary differential equations solver, stiff, initial value problems using the Backward Differentiation Formulae
d02gac 3 nag_ode_bvp_fd_nonlin_fixedbc
Ordinary differential equations solver, for simple nonlinear two-point boundary value problems, using a finite difference technique with deferred correction
d02gbc 3 nag_ode_bvp_fd_lin_gen
Ordinary differential equations solver, for general linear two-point boundary value problems, using a finite difference technique with deferred correction
d02pcc 3 nag_ode_ivp_rk_range
Ordinary differential equations solver, initial value problems over a range using Runge–Kutta methods
d02pdc 3 nag_ode_ivp_rk_onestep
Ordinary differential equations solver, initial value problems, one time step using Runge–Kutta methods
d02ppc 3 nag_ode_ivp_rk_free
Freeing function for use with the Runge–Kutta suite (d02p functions)
d02pvc 3 nag_ode_ivp_rk_setup
Setup function for use with d02pcc and/or d02pdc
d02pwc 3 nag_ode_ivp_rk_reset_tend
A function to re-set the end point following a call to d02pdc
d02pxc 3 nag_ode_ivp_rk_interp
Ordinary differential equations solver, computes the solution by interpolation anywhere on an integration step taken by d02pdc
d02pzc 3 nag_ode_ivp_rk_errass
A function to provide global error assessment during an integration with either d02pcc or d02pdc
d02qfc 2 nag_ode_ivp_adams_roots
Ordinary differential equation solver using Adams method (sophisticated use)
d02qwc 2 nag_ode_ivp_adams_setup
Setup function for d02qfc
d02qyc 2 nag_ode_ivp_adams_free
Freeing function for use with d02qfc
d02qzc 2 nag_ode_ivp_adams_interp
Interpolation function for use with d02qfc
d02rac 3 nag_ode_bvp_fd_nonlin_gen
Ordinary differential equations solver, for general nonlinear two-point boundary value problems, using a finite difference technique with deferred correction

d03 – Partial Differential Equations

Routine
Name
Mark of
Introduction

Purpose
d03ncc 7 nag_pde_bs_1d
Finite difference solution of the Black–Scholes equations
d03ndc 7 nag_pde_bs_1d_analytic
Analytic solution of the Black–Scholes equations
d03nec 7 nag_pde_bs_1d_means
Compute average values for d03ndc
d03pcc 7 nag_pde_parab_1d_fd
General system of parabolic PDEs, method of lines, finite differences, one space variable
d03pdc 7 nag_pde_parab_1d_coll
General system of parabolic PDEs, method of lines, Chebyshev C0 collocation, one space variable
d03pec 7 nag_pde_parab_1d_keller
General system of first-order PDEs, method of lines, Keller box discretisation, one space variable
d03pfc 7 nag_pde_parab_1d_cd
General system of convection-diffusion PDEs with source terms in conservative form, method of lines, upwind scheme using numerical flux function based on Riemann solver, one space variable
d03phc 7 nag_pde_parab_1d_fd_ode
General system of parabolic PDEs, coupled DAEs, method of lines, finite differences, one space variable
d03pjc 7 nag_pde_parab_1d_coll_ode
General system of parabolic PDEs, coupled DAEs, method of lines, Chebyshev C0 collocation, one space variable
d03pkc 7 nag_pde_parab_1d_keller_ode
General system of first-order PDEs, coupled DAEs, method of lines, Keller box discretisation, one space variable
d03plc 7 nag_pde_parab_1d_cd_ode
General system of convection-diffusion PDEs with source terms in conservative form, coupled DAEs, method of lines, upwind scheme using numerical flux function based on Riemann solver, one space variable
d03ppc 7 nag_pde_parab_1d_fd_ode_remesh
General system of parabolic PDEs, coupled DAEs, method of lines, finite differences, remeshing, one space variable
d03prc 7 nag_pde_parab_1d_keller_ode_remesh
General system of first-order PDEs, coupled DAEs, method of lines, Keller box discretisation, remeshing, one space variable
d03psc 7 nag_pde_parab_1d_cd_ode_remesh
General system of convection-diffusion PDEs with source terms in conservative form, coupled DAEs, method of lines, upwind scheme using numerical flux function based on Riemann solver, remeshing, one space variable
d03puc 7 nag_pde_parab_1d_euler_roe
Roe's approximate Riemann solver for Euler equations in conservative form, for use with d03pfc, d03plc and d03psc
d03pvc 7 nag_pde_parab_1d_euler_osher
Osher's approximate Riemann solver for Euler equations in conservative form, for use with d03pfc, d03plc and d03psc
d03pwc 7 nag_pde_parab_1d_euler_hll
Modified HLL Riemann solver for Euler equations in conservative form, for use with d03pfc, d03plc and d03psc
d03pxc 7