hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_quad_md_numth_coeff_prime (d01gy)


    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example


nag_quad_md_numth_coeff_prime (d01gy) calculates the optimal coefficients for use by nag_quad_md_numth (d01gc) and nag_quad_md_numth_vec (d01gd), for prime numbers of points.


[vk, ifail] = d01gy(ndim, npts)
[vk, ifail] = nag_quad_md_numth_coeff_prime(ndim, npts)


The Korobov (1963) procedure for calculating the optimal coefficients a1,a2,,an for p-point integration over the n-cube 0,1n imposes the constraint that
a1=1  and  ai=ai-1 mod p,  i=1,2,,n (1)
where p is a prime number and a is an adjustable argument. This argument is computed to minimize the error in the integral
3n01dx101dxni=1n 1-2xi 2, (2)
when computed using the number theoretic rule, and the resulting coefficients can be shown to fit the Korobov definition of optimality.
The computation for large values of p is extremely time consuming (the number of elementary operations varying as p2) and there is a practical upper limit to the number of points that can be used. Function nag_quad_md_numth_coeff_2prime (d01gz) is computationally more economical in this respect but the associated error is likely to be larger.


Korobov N M (1963) Number Theoretic Methods in Approximate Analysis Fizmatgiz, Moscow


Compulsory Input Parameters

1:     ndim int64int32nag_int scalar
n, the number of dimensions of the integral.
Constraint: ndim1.
2:     npts int64int32nag_int scalar
p, the number of points to be used.
Constraint: npts must be a prime number 5.

Optional Input Parameters


Output Parameters

1:     vkndim – double array
The n optimal coefficients.
2:     ifail int64int32nag_int scalar
ifail=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

Errors or warnings detected by the function:

Cases prefixed with W are classified as warnings and do not generate an error of type NAG:error_n. See nag_issue_warnings.

On entry,ndim<1.
On entry,npts<5.
On entry,npts is not a prime number.
W  ifail=4
The precision of the machine is insufficient to perform the computation exactly. Try a smaller value of npts, or use an implementation of higher precision.
An unexpected error has been triggered by this routine. Please contact NAG.
Your licence key may have expired or may not have been installed correctly.
Dynamic memory allocation failed.


The optimal coefficients are returned as exact integers (though stored in a double array).

Further Comments

The time taken is approximately proportional to p2 (see Description).


This example calculates the Korobov optimal coefficients where the number of dimensions is 4 and the number of points is 631.
function d01gy_example

fprintf('d01gy example results\n\n');

ndim = int64(4);
npts = int64(631);

[vk, ifail] = d01gy(ndim, npts);

fprintf('Optimal coefficients:');

d01gy example results

Optimal coefficients:     1   198    82   461

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015