# Hoyt

##### The Hoyt Distribution

Density, distribution function, quantile function, and random deviate generation for the Hoyt distribution. The radius around the true mean in a bivariate normal random variable, re-written in polar coordinates (radius and angle), follows a Hoyt distribution. Equivalently, the modulus of a complex normal random variable does.

- Keywords
- distribution

##### Usage

```
dHoyt(x, qpar, omega)
pHoyt(q, qpar, omega, lower.tail = TRUE)
qHoyt(p, qpar, omega, lower.tail = TRUE, loUp = NULL)
rHoyt(n, qpar, omega, method = c('eigen', 'chol', 'cdf'), loUp = NULL)
```

##### Arguments

- x, q
- vector of quantiles.
- p
- vector of probabilities.
- n
- number of observations. If
`length(n) > 1`

, the length is taken to be the number required. - qpar
- vector of Hoyt shape parameters q. See details.
- omega
- vector of Hoyt scale parameters omega. See details.
- method
- string indicating which method to use for generating random deviates. See details.
- loUp
- search interval for numerical root finding. Either a vector with the lower and upper interval boundary, a list of such vectors, or an (n x 2)-matrix. See details.
- lower.tail
- logical. If
`TRUE`

(default), probabilities are $P[X \le x]$ otherwise, $P[X > x]$.

##### Details

The parameters `qpar`

and `omega`

may be determined with `getHoytParam`

.

`dHoyt`

involves the modified Bessel function of the first kind and order 0 (Chew & Boye, 1962; Hoyt, 1947). `pHoyt`

is implemented as the symmetric difference between two Marcum Q-functions (Paris, 2009). The Marcum Q-function is the cdf of a non-central chi^2 variable (Nuttall, 1975).

`qHoyt`

is implemented through numerical root finding of `pHoyt`

. If no search interval for `uniroot`

is provided, the quantiles of an approximating central chi^2 distribution are used to determine the search intervals.

`rHoyt`

with `method='eigen'`

or with `method='chol'`

simulates 2D normal deviates based on the covariance matrix corresponding to parameters `qpar`

and `omega`

, and then determines the radius. `rHoyt`

with `method='cdf'`

is much slower as it performs numerical root finding of `pHoyt`

given simulated quantiles from a uniform random variable in (0,1). If no search interval for `uniroot`

is provided, the quantiles of an approximating central chi^2 distribution are used to determine the search intervals.

See `Rice`

for the distribution of radial error around an offset center for uncorrelated bivariate normal variables with equal variances. See `Rayleigh`

for the distribution of radial error around the true center of uncorrelated bivariate normal variables with equal variances. See `mvnEll`

for the distribution of radial error around an offset center for correlated normal variables with unequal variances.

##### Value

`dHoyt`

gives the density, `pHoyt`

gives the cumulative distribution function, `qHoyt`

gives the quantile function, `rHoyt`

generates random deviates.The length of the result is determined by `n`

for `rHoyt`

, and is the maximum of the lengths of the numerical parameters for the other functions.In `dHoyt`

, `pHoyt`

and `qHoyt`

, the numerical parameters are recycled to the length of the result. Only the first element of the logical parameters is used. In `rHoyt`

, only the first element of `qpar`

and `omega`

is used.
##### References

Chew, V. & Boyce, R. (1962). Distribution of radial error in bivariate elliptical normal distributions. Technometrics, 4(1), 138-140.

Hoyt, R. S. (1947). Probability functions for the modulus and angle of the normal complex variate. Bell System Technical Journal, 26(2), 318-359.

Nuttall, AH. (1975). Some integrals involving the Q-M function. IEEE Transactions on Information Theory, 21 (1), 95-96

Paris, JF. 2009. Nakagami-q (Hoyt) distribution function with applications. Electronics Letters, 45(4). 210-211. Erratum: doi:10.1049/el.2009.0828

http://reference.wolfram.com/language/ref/HoytDistribution.html

##### See Also

`getHoytParam`

,
`Rayleigh`

,
`Rice`

,
`mvnEll`

,
`Bessel`

,
`Chisquare`

,
`uniroot`

##### Examples

```
dHoyt(1, qpar=c(0.1, 0.5, 0.9), omega=10)
pHoyt(c(0.1, 0.5, 0.9), qpar=0.5, omega=10)
qHoyt(0.5, qpar=0.5, omega=c(5, 10, 15))
rHoyt(5, qpar=0.5, omega=10)
```

*Documentation reproduced from package shotGroups, version 0.7.1, License: GPL (>= 2)*