g01mu returns the value of the Vavilov density function .
It is intended to be used after a call to g01zu.
Syntax
C# |
---|
public static double g01mu( double x, double[] rcomm, out int ifail ) |
Visual Basic |
---|
Public Shared Function g01mu ( _ x As Double, _ rcomm As Double(), _ <OutAttribute> ByRef ifail As Integer _ ) As Double |
Visual C++ |
---|
public: static double g01mu( double x, array<double>^ rcomm, [OutAttribute] int% ifail ) |
F# |
---|
static member g01mu : x : float * rcomm : float[] * ifail : int byref -> float |
Parameters
- x
- Type: System..::..DoubleOn entry: the argument of the function.
- rcomm
- Type: array<System..::..Double>[]()[][]An array of size []
- ifail
- Type: System..::..Int32%On exit: unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).
Return Value
g01mu returns the value of the Vavilov density function .
It is intended to be used after a call to g01zu.
Description
g01mu evaluates an approximation to the Vavilov density function given by
where and ,
is an arbitrary real constant and
is the exponential integral, and is Euler's constant.
The method used is based on Fourier expansions. Further details can be found in
Schorr (1974).
For values of , the Vavilov distribution can be replaced by the Landau distribution since . For values of , the Vavilov distribution can be replaced by a Gaussian distribution with mean and variance .
References
Schorr B (1974) Programs for the Landau and the Vavilov distributions and the corresponding random numbers Comp. Phys. Comm. 7 215–224
Error Indicators and Warnings
Errors or warnings detected by the method:
- Either the initialization method has not been called prior to the first call of this method or a communication array has become corrupted.
Accuracy
At least five significant digits are usually correct.
Parallelism and Performance
None.
Further Comments
Example
This example evaluates at , and , and prints the results.
Example program (C#): g01mue.cs