Function log(2*Phi(x)) and its derivatives

Description

The function log(2*(pnorm(x)) and its derivatives, including inverse Mills ratio.

Usage

1
zeta(k, x)

Arguments

k

an integer number between 0 and 5.

x

a numeric vector. Missing values (NAs) and Infs are allowed

Details

For k between 0 and 5, the derivative of order k of log(2Φ(x)) is evaluated, where Φ(x) denotes the N(0,1) cumulative distribution function. The derivative of order k=0 refers to the function itself. If k is not integer, it is converted to integer and a warning message is generated. If k<0 or k>5, NULL is returned.

Value

a vector representing the k-th order derivative evaluated at x

Background

The computation for k>1 is reduced to the case k=1, making use of expressions given by Azzalini and Capitanio (1999); see especially Section 4 of the full-length version of the paper. The main facts are summarized in Section 2.1.4 of Azzalini and Capitanio (2014).

For numerical stability, the evaluation of zeta(1,x) when x < -50 makes use of the asymptotic expansion (26.2.13) of Abramowitz and Stegun (1964).

zeta(1,-x) equals dnorm(x)/pnorm(-x) (in principle, apart from the above-mentioned asymptotic expansion), called the inverse Mills ratio.

References

Abramowitz, M. and Stegun, I. A., editors (1964). Handbook of Mathematical Functions. Dover Publications.

Azzalini, A. and Capitanio, A. (1999). Statistical applications of the multivariate skew normal distribution. J.Roy.Statist.Soc. B 61, 579–602. Full-length version available at http://arXiv.org/abs/0911.2093

Azzalini, A. with the collaboration of Capitanio, A. (2014). The Skew-Normal and Related Families. Cambridge University Press, IMS Monographs series.

Examples

1
2
3
4
y <- zeta(2,seq(-20,20,by=0.5))
#
for(k in 0:5) curve(zeta(k,x), from=-1.5, to=5, col = k+2, add = k > 0)
legend(3.5, -0.5, legend=as.character(0:5), col=2:7, lty=1)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.