NAG C Library Function Document

nag_prob_density_vavilov (g01muc)

1
Purpose

nag_prob_density_vavilov (g01muc) returns the value of the Vavilov density function ϕVλ;κ,β2.
It is intended to be used after a call to nag_init_vavilov (g01zuc).

2
Specification

#include <nag.h>
#include <nagg01.h>
double  nag_prob_density_vavilov (double x, const double comm_arr[])

3
Description

nag_prob_density_vavilov (g01muc) evaluates an approximation to the Vavilov density function ϕVλ;κ,β2 given by
ϕVλ;κ,β2=12πi c-i c+ieλsfs;κ,β2ds,  
where κ>0 and 0β21, c is an arbitrary real constant and
fs;κ,β2=Cκ,β2expslnκ+s+κβ2 lnsκ+E1 sκ -κexp-sκ .  
E1x=0xt-11-e-tdt is the exponential integral, Cκ,β2=expκ1+γβ2 and γ is Euler's constant.
The method used is based on Fourier expansions. Further details can be found in Schorr (1974).
For values of κ0.01, the Vavilov distribution can be replaced by the Landau distribution since λV=λL-lnκ/κ. For values of κ10, the Vavilov distribution can be replaced by a Gaussian distribution with mean μ=γ-1-β2-lnκ and variance σ2=2-β2/2κ.

4
References

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

5
Arguments

1:     x doubleInput
On entry: the argument λ of the function.
2:     comm_arr[322] const doubleCommunication Array
On entry: this must be the same argument comm_arr as returned by a previous call to nag_init_vavilov (g01zuc).

6
Error Indicators and Warnings

None.

7
Accuracy

At least five significant digits are usually correct.

8
Parallelism and Performance

nag_prob_density_vavilov (g01muc) is not threaded in any implementation.

9
Further Comments

nag_prob_density_vavilov (g01muc) can be called repeatedly with different values of λ provided that the values of κ and β2 remain unchanged between calls. Otherwise, nag_init_vavilov (g01zuc) must be called again. This is illustrated in Section 10.

10
Example

This example evaluates ϕVλ;κ,β2 at λ=2.5, κ=0.4 and β2=0.1, and prints the results.

10.1
Program Text

Program Text (g01muce.c)

10.2
Program Data

Program Data (g01muce.d)

10.3
Program Results

Program Results (g01muce.r)