NAG Library Function Document

nag_prob_density_vavilov (g01muc)

▸▿ Contents

    1  Purpose
    7  Accuracy

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+i∞eλsfs;κ,β2ds,  
where κ>0 and 0≤β2≤1, 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)

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