# NAG Library Function Document

## 1Purpose

nag_prob_vavilov (g01euc) returns the value of the Vavilov distribution function ${\Phi }_{V}\left(\lambda \text{;}\kappa ,{\beta }^{2}\right)$.
It is intended to be used after a call to nag_init_vavilov (g01zuc).

## 2Specification

 #include #include
 double nag_prob_vavilov (double x, const double comm_arr[])

## 3Description

nag_prob_vavilov (g01euc) evaluates an approximation to the Vavilov distribution function ${\Phi }_{V}\left(\lambda \text{;}\kappa ,{\beta }^{2}\right)$ given by
 $ΦVλ;κ,β2=∫-∞λϕVλ;κ,β2dλ,$
where $\varphi \left(\lambda \right)$ is described in nag_prob_density_vavilov (g01muc). The method used is based on Fourier expansions. Further details can be found in Schorr (1974).

## 4References

Schorr B (1974) Programs for the Landau and the Vavilov distributions and the corresponding random numbers Comp. Phys. Comm. 7 215–224

## 5Arguments

1:    $\mathbf{x}$doubleInput
On entry: the argument $\lambda$ of the function.
2:    $\mathbf{comm_arr}\left[322\right]$const doubleCommunication Array
On entry: this must be the same argument comm_arr as returned by a previous call to nag_init_vavilov (g01zuc).

None.

## 7Accuracy

At least five significant digits are usually correct.

## 8Parallelism and Performance

nag_prob_vavilov (g01euc) is not threaded in any implementation.

nag_prob_vavilov (g01euc) can be called repeatedly with different values of $\lambda$ provided that the values of $\kappa$ and ${\beta }^{2}$ remain unchanged between calls. Otherwise, nag_init_vavilov (g01zuc) must be called again. This is illustrated in Section 10.

## 10Example

This example evaluates ${\Phi }_{V}\left(\lambda \text{;}\kappa ,{\beta }^{2}\right)$ at $\lambda =0.1$, $\kappa =2.5$ and ${\beta }^{2}=0.7$, and prints the results.

### 10.1Program Text

Program Text (g01euce.c)

### 10.2Program Data

Program Data (g01euce.d)

### 10.3Program Results

Program Results (g01euce.r)

© The Numerical Algorithms Group Ltd, Oxford, UK. 2017