

Special {base}                               R Documentation

_S_p_e_c_i_a_l _F_u_n_c_t_i_o_n_s _o_f _M_a_t_h_e_m_a_t_i_c_s

_D_e_s_c_r_i_p_t_i_o_n_:

     The functions `beta' and `lbeta' return the beta func-
     tion and the natural logarithm of the beta function,

            B(a,b) = (Gamma(a)Gamma(b))/(Gamma(a+b)).

     The functions `gamma' and `lgamma' return the gamma
     function Gamma(x) and the natural logarithm of the
     absolute value of the gamma function.

     The functions `digamma', `trigamma', `tetragamma' and
     `pentagamma' return the first, second, third and fourth
     derivatives of the logarithm of the gamma function.

          `digamma(x)' = psi(x) = d/dx {ln Gamma(x)} = Gamma'(x) / Gamma(x)

     The functions `choose' and `lchoose' return binomial
     coefficients and their logarithms.

_U_s_a_g_e_:

     beta(a, b)
     lbeta(a, b)
     gamma(x)
     lgamma(x)
     digamma(x)
     trigamma(x)
     tetragamma(x)
     pentagamma(x)
     choose(n,k)
     lchoose(n,k)

_R_e_f_e_r_e_n_c_e_s_:

     Abramowitz, M. and Stegun, I. A. (1972).
     Handbook of Mathematical Functions, Dover, New York;
     Chapter 6: Gamma and Related Functions.

_S_e_e _A_l_s_o_:

     `Arithmetic' for simple, `Math' for miscellaneous math-
     ematical functions and `Bessel' for the real Bessel
     functions.

_E_x_a_m_p_l_e_s_:

     choose(5, 2)
     for (n in 0:10) print(choose(n, k = 0:n))

     curve(gamma(x),-3,4, n=1001, ylim=c(-10,100),
           col="red", lwd=2, main="gamma(x)")
     abline(h=0,v=0, lty=3, col="midnightblue")

     x <- seq(.1, 4, length = 201); dx <- diff(x)[1]
     par(mfrow = c(2, 3))
     for (ch in c("", "l","di","tri","tetra","penta")) {
       is.deriv <- nchar(ch) >= 2
       if (is.deriv) dy <- diff(y) / dx
       nm <- paste(ch, "gamma", sep = "")
       y <- get(nm)(x)
       plot(x, y, type = "l", main = nm, col = "red")
       abline(h = 0, col = "lightgray")
       if (is.deriv) lines(x[-1], dy, col = "blue", lty = 2)
     }
     par(mfrow = c(2, 2))

