d01 Chapter Contents
d01 Chapter Introduction
NAG Library Manual

# NAG Library Function Documentnag_quad_md_numth_coeff_prime (d01gyc)

## 1  Purpose

nag_quad_md_numth_coeff_prime (d01gyc) calculates the optimal coefficients for use by nag_quad_md_numth_vec (d01gdc), for prime numbers of points.

## 2  Specification

 #include #include
 void nag_quad_md_numth_coeff_prime (Integer ndim, Integer npts, double vk[], NagError *fail)

## 3  Description

The Korobov (1963) procedure for calculating the optimal coefficients ${a}_{1},{a}_{2},\dots ,{a}_{n}$ for $p$-point integration over the $n$-cube ${\left[0,1\right]}^{n}$ imposes the constraint that
 (1)
where $p$ is a prime number and $a$ is an adjustable argument. This argument is computed to minimize the error in the integral
 $3n∫01dx1⋯∫01dxn∏i=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 ${p}^{2}$) and there is a practical upper limit to the number of points that can be used. Function nag_quad_md_numth_coeff_2prime (d01gzc) 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

## 5  Arguments

1:     ndimIntegerInput
On entry: $n$, the number of dimensions of the integral.
Constraint: ${\mathbf{ndim}}\ge 1$.
2:     nptsIntegerInput
On entry: $p$, the number of points to be used.
Constraint: ${\mathbf{npts}}$ must be a prime number $\text{}\ge 5$.
3:     vk[ndim]doubleOutput
On exit: the $n$ optimal coefficients.
4:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

## 6  Error Indicators and Warnings

NE_ACCURACY
The machine precision is insufficient to perform the computation exactly. Try reducing npts: ${\mathbf{npts}}=⟨\mathit{\text{value}}⟩$.
On entry, argument $⟨\mathit{\text{value}}⟩$ had an illegal value.
NE_INT
On entry, ${\mathbf{ndim}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{ndim}}\ge 1$.
On entry, ${\mathbf{npts}}=⟨\mathit{\text{value}}⟩$.
Constraint: npts must be a prime number.
On entry, ${\mathbf{npts}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{npts}}\ge 5$.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.

## 7  Accuracy

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

## 8  Parallelism and Performance

Not applicable.

The time taken is approximately proportional to ${p}^{2}$ (see Section 3).

## 10  Example

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

### 10.1  Program Text

Program Text (d01gyce.c)

None.

### 10.3  Program Results

Program Results (d01gyce.r)