# NAG Library Function Documentnag_prob_von_mises (g01erc)

## 1  Purpose

nag_prob_von_mises (g01erc) returns the probability associated with the lower tail of the von Mises distribution between $-\pi $ and $\pi $ .

## 2  Specification

#include <nag.h>
#include <nagg01.h>

double  nag_prob_von_mises (double t, double vk,  NagError *fail)

## 3  Description

The von Mises distribution is a symmetric distribution used in the analysis of circular data. The lower tail area of this distribution on the circle with mean direction ${\mu }_{0}=0$ and concentration argument kappa, $\kappa $, can be written as

$PrΘ≤θ:κ=12πI0κ ∫-πθeκcos⁡ΘdΘ,$
where $\theta $ is reduced modulo $2\pi $ so that $-\pi \le \theta <\pi $ and $\kappa \ge 0$. Note that if $\theta =\pi $ then nag_prob_von_mises (g01erc) returns a probability of $1$. For very small $\kappa $ the distribution is almost the uniform distribution, whereas for $\kappa \to \infty $ all the probability is concentrated at one point.
The method of calculation for small $\kappa $ involves backwards recursion through a series expansion in terms of modified Bessel functions, while for large $\kappa $ an asymptotic Normal approximation is used.
In the case of small $\kappa $ the series expansion of Pr($\Theta \le \theta $: $\kappa $) can be expressed as

$PrΘ≤θ:κ=12+θ 2π +1πI0κ ∑n=1∞n-1Inκsin⁡nθ,$
where ${I}_{n}\left(\kappa \right)$ is the modified Bessel function. This series expansion can be represented as a nested expression of terms involving the modified Bessel function ratio ${R}_{n}$,

$Rnκ=Inκ In-1κ , n=1,2,3,…,$
which is calculated using backwards recursion.
For large values of $\kappa $ (see Section 7) an asymptotic Normal approximation is used. The angle $\Theta $ is transformed to the nearly Normally distributed variate $Z$,

$Z=bκsin⁡Θ2,$
where

$bκ=2π eκ I0κ$
and $b\left(\kappa \right)$ is computed from a continued fraction approximation. An approximation to order ${\kappa }^{-4}$ of the asymptotic normalizing series for $z$ is then used. Finally the Normal probability integral is evaluated.
For a more detailed analysis of the methods used see Hill (1977).

## 4  References

Hill G W (1977) Algorithm 518: Incomplete Bessel function ${I}_{0}$: The Von Mises distribution ACM Trans. Math. Software 3 279–284
Mardia K V (1972) Statistics of Directional Data Academic Press

## 5  Arguments

1:     t – doubleInput
On entry: $\theta $, the observed von Mises statistic measured in radians.
2:     vk – doubleInput
On entry: the concentration parameter $\kappa $, of the von Mises distribution.
Constraint: ${\mathbf{vk}}\ge 0.0$.
3:     fail – NagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

## 6  Error Indicators and Warnings

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.
NE_REAL
On entry, ${\mathbf{vk}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{vk}}\ge 0.0$.

## 7  Accuracy

nag_prob_von_mises (g01erc) uses one of two sets of constants depending on the value of machine precision. One set gives an accuracy of six digits and uses the Normal approximation when ${\mathbf{vk}}\ge 6.5$, the other gives an accuracy of $12$ digits and uses the Normal approximation when ${\mathbf{vk}}\ge 50.0$.

## 8  Further Comments

Using the series expansion for small $\kappa $ the time taken by nag_prob_von_mises (g01erc) increases linearly with $\kappa $; for larger $\kappa $, for which the asymptotic Normal approximation is used, the time taken is much less.
If angles outside the region $-\pi \le \theta <\pi $ are used care has to be taken in evaluating the probability of being in a region ${\theta }_{1}\le \theta \le {\theta }_{2}$ if the region contains an odd multiple of $\pi $, $\left(2n+1\right)\pi $. The value of $F\left({\theta }_{2}\text{;}\kappa \right)-F\left({\theta }_{1}\text{;}\kappa \right)$ will be negative and the correct probability should then be obtained by adding one to the value.

## 9  Example

This example inputs four values from the von Mises distribution along with the values of the argument $\kappa $. The probabilities are computed and printed.

### 9.1  Program Text

Program Text (g01erce.c)

### 9.2  Program Data

Program Data (g01erce.d)

### 9.3  Program Results

Program Results (g01erce.r)
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 48, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 20, "end_threshold": 5, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.6916024088859558, "perplexity_flag": "middle"}