std::tr1::__detail(3cxx) | std::tr1::__detail(3cxx) |
NAME¶
std::tr1::__detail -SYNOPSIS¶
Classes¶
struct __floating_point_constant
Functions¶
template<typename _Tp > void __airy (const _Tp __x, _Tp &__Ai, _Tp &__Bi, _Tp &__Aip, _Tp &__Bip)
Detailed Description¶
Implementation details not part of the namespace std::tr1 interface.Function Documentation¶
template<typename _Tp > void std::tr1::__detail::__airy (const _Tp__x, _Tp &__Ai, _Tp &__Bi, _Tp &__Aip, _Tp &__Bip)¶
Compute the Airy functions $ Ai(x) $ and $ Bi(x) $ and their first derivatives $ Ai'(x) $ and $ Bi(x) $ respectively. Parameters:__n The order of the Airy functions.
__x The argument of the Airy functions.
__i_n The output Airy function.
__k_n The output Airy function.
__ip_n The output derivative of the Airy function.
__kp_n The output derivative of the Airy function.
template<typename _Tp > _Tp std::tr1::__detail::__assoc_laguerre (const unsigned int__n, const unsigned int__m, const _Tp__x) [inline]¶
This routine returns the associated Laguerre polynomial of order n, degree m: $ L_n^m(x) $. The associated Laguerre polynomial is defined for integral $ alpha = m $ by: Parameters:__n The order of the Laguerre
polynomial.
__m The degree of the Laguerre polynomial.
__x The argument of the Laguerre polynomial.
Returns:
The value of the associated Laguerre
polynomial of order n, degree m, and argument x.
template<typename _Tp > _Tp std::tr1::__detail::__assoc_legendre_p (const unsigned int__l, const unsigned int__m, const _Tp__x)¶
Return the associated Legendre function by recursion on $ l $. The associated Legendre function is derived from the Legendre function $ P_l(x) $ by the Rodrigues formula: Parameters:l The order of the associated Legendre
function. $ l >= 0 $.
m The order of the associated Legendre function. $ m <= l $.
x The argument of the associated Legendre function. $ |x| <= 1
$.
template<typename _Tp > _Tp std::tr1::__detail::__bernoulli (const int__n) [inline]¶
This returns Bernoulli number $B_n$. Parameters:__n the order n of the Bernoulli
number.
Returns:
The Bernoulli number of order n.
template<typename _Tp > _Tp std::tr1::__detail::__bernoulli_series (unsigned int__n)¶
This returns Bernoulli numbers from a table or by summation for larger values. Recursion is unstable. Parameters:__n the order n of the Bernoulli
number.
Returns:
The Bernoulli number of order n.
template<typename _Tp > void std::tr1::__detail::__bessel_ik (const _Tp__nu, const _Tp__x, _Tp &__Inu, _Tp &__Knu, _Tp &__Ipnu, _Tp &__Kpnu)¶
Compute the modified Bessel functions $ I_0(x) $ and $ K_0(x) $ and their first derivatives $ I'_0(x) $ and $ K'_0(x) $ respectively. These four functions are computed together for numerical stability. Parameters:__nu The order of the Bessel functions.
__x The argument of the Bessel functions.
__Inu The output regular modified Bessel function.
__Knu The output irregular modified Bessel function.
__Ipnu The output derivative of the regular modified Bessel function.
__Kpnu The output derivative of the irregular modified Bessel
function.
template<typename _Tp > void std::tr1::__detail::__bessel_jn (const _Tp__nu, const _Tp__x, _Tp &__Jnu, _Tp &__Nnu, _Tp &__Jpnu, _Tp &__Npnu)¶
Compute the Bessel $ J_0(x) $ and Neumann $ N_0(x) $ functions and their first derivatives $ J'_0(x) $ and $ N'_0(x) $ respectively. These four functions are computed together for numerical stability. Parameters:__nu The order of the Bessel functions.
__x The argument of the Bessel functions.
__Jnu The output Bessel function of the first kind.
__Nnu The output Neumann function (Bessel function of the second kind).
__Jpnu The output derivative of the Bessel function of the first kind.
__Npnu The output derivative of the Neumann function.
template<typename _Tp > _Tp std::tr1::__detail::__beta (_Tp__x, _Tp__y) [inline]¶
Return the beta function $ B(x,y) $. The beta function is defined by Parameters:__x The first argument of the beta
function.
__y The second argument of the beta function.
Returns:
The beta function.
template<typename _Tp > _Tp std::tr1::__detail::__beta_gamma (_Tp__x, _Tp__y)¶
Return the beta function: $B(x,y)$. The beta function is defined by Parameters:__x The first argument of the beta
function.
__y The second argument of the beta function.
Returns:
The beta function.
template<typename _Tp > _Tp std::tr1::__detail::__beta_lgamma (_Tp__x, _Tp__y)¶
Return the beta function $B(x,y)$ using the log gamma functions. The beta function is defined by Parameters:__x The first argument of the beta
function.
__y The second argument of the beta function.
Returns:
The beta function.
template<typename _Tp > _Tp std::tr1::__detail::__beta_product (_Tp__x, _Tp__y)¶
Return the beta function $B(x,y)$ using the product form. The beta function is defined by Parameters:__x The first argument of the beta
function.
__y The second argument of the beta function.
Returns:
The beta function.
template<typename _Tp > _Tp std::tr1::__detail::__bincoef (const unsigned int__n, const unsigned int__k)¶
Return the binomial coefficient. The binomial coefficient is given by:__n The first argument of the binomial
coefficient.
__k The second argument of the binomial coefficient.
Returns:
The binomial coefficient.
template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_1 (const _Tp__k)¶
Return the complete elliptic integral of the first kind $ K(k) $ using the Carlson formulation. The complete elliptic integral of the first kind is defined as Parameters:__k The argument of the complete
elliptic function.
Returns:
The complete elliptic function of the first
kind.
template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_1_series (const _Tp__k)¶
Return the complete elliptic integral of the first kind $ K(k) $ by series expansion. The complete elliptic integral of the first kind is defined as This routine is not bad as long as |k| is somewhat smaller than 1 but is not is good as the Carlson elliptic integral formulation. Parameters:__k The argument of the complete
elliptic function.
Returns:
The complete elliptic function of the first
kind.
template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_2 (const _Tp__k)¶
Return the complete elliptic integral of the second kind $ E(k) $ using the Carlson formulation. The complete elliptic integral of the second kind is defined as Parameters:__k The argument of the complete
elliptic function.
Returns:
The complete elliptic function of the second
kind.
template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_2_series (const _Tp__k)¶
Return the complete elliptic integral of the second kind $ E(k) $ by series expansion. The complete elliptic integral of the second kind is defined as This routine is not bad as long as |k| is somewhat smaller than 1 but is not is good as the Carlson elliptic integral formulation. Parameters:__k The argument of the complete
elliptic function.
Returns:
The complete elliptic function of the second
kind.
template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_3 (const _Tp__k, const _Tp__nu)¶
Return the complete elliptic integral of the third kind $ Pi(k,0) = Pi(k,0,pi/2) $ using the Carlson formulation. The complete elliptic integral of the third kind is defined as Parameters:__k The argument of the elliptic
function.
__nu The second argument of the elliptic function.
Returns:
The complete elliptic function of the third
kind.
template<typename _Tp > _Tp std::tr1::__detail::__conf_hyperg (const _Tp__a, const _Tp__c, const _Tp__x) [inline]¶
Return the confluent hypogeometric function $ _1F_1(a;c;x) $. TodoHandle b == nonpositive integer blowup -
return NaN.
Parameters:
__a The 'numerator' parameter.
__c The 'denominator' parameter.
__x The argument of the confluent hypergeometric function.
Returns:
The confluent hypergeometric function.
template<typename _Tp > _Tp std::tr1::__detail::__conf_hyperg_luke (const _Tp__a, const _Tp__c, const _Tp__xin)¶
Return the hypogeometric function $ _2F_1(a,b;c;x) $ by an iterative procedure described in Luke, Algorithms for the Computation of Mathematical Functions. Like the case of the 2F1 rational approximations, these are probably guaranteed to converge for x < 0, barring gross numerical instability in the pre-asymptotic regime. Definition at line 115 of file hypergeometric.tcc. References std::abs(), and std::pow(). Referenced by __conf_hyperg().template<typename _Tp > _Tp std::tr1::__detail::__conf_hyperg_series (const _Tp__a, const _Tp__c, const _Tp__x)¶
This routine returns the confluent hypergeometric function by series expansion. If a and b are integers and a < 0 and either b > 0 or b < a then the series is a polynomial with a finite number of terms. If b is an integer and b <= 0 the confluent hypergeometric function is undefined. Parameters:__a The 'numerator' parameter.
__c The 'denominator' parameter.
__x The argument of the confluent hypergeometric function.
Returns:
The confluent hypergeometric function.
template<typename _Tp > _Tp std::tr1::__detail::__cyl_bessel_i (const _Tp__nu, const _Tp__x)¶
Return the regular modified Bessel function of order $ 0 $: $ I_{0}(x) $. The regular modified cylindrical Bessel function is: Parameters:__nu The order of the regular modified
Bessel function.
__x The argument of the regular modified Bessel function.
Returns:
The output regular modified Bessel
function.
template<typename _Tp > _Tp std::tr1::__detail::__cyl_bessel_ij_series (const _Tp__nu, const _Tp__x, const _Tp__sgn, const unsigned int__max_iter)¶
This routine returns the cylindrical Bessel functions of order $ 0 $: $ J_{0} $ or $ I_{0} $ by series expansion. The modified cylindrical Bessel function is: See Abramowitz & Stegun, 9.1.10 Abramowitz & Stegun, 9.6.7 (1) Handbook of Mathematical Functions, ed. Milton Abramowitz and Irene A. Stegun, Dover Publications, Equation 9.1.10 p. 360 and Equation 9.6.10 p. 375 Parameters:__nu The order of the Bessel function.
__x The argument of the Bessel function.
__sgn The sign of the alternate terms -1 for the Bessel function of the
first kind. +1 for the modified Bessel function of the first kind.
Returns:
The output Bessel function.
template<typename _Tp > _Tp std::tr1::__detail::__cyl_bessel_j (const _Tp__nu, const _Tp__x)¶
Return the Bessel function of order $ 0 $: $ J_{0}(x) $. The cylindrical Bessel function is: Parameters:__nu The order of the Bessel function.
__x The argument of the Bessel function.
Returns:
The output Bessel function.
template<typename _Tp > void std::tr1::__detail::__cyl_bessel_jn_asymp (const _Tp__nu, const _Tp__x, _Tp &__Jnu, _Tp &__Nnu)¶
This routine computes the asymptotic cylindrical Bessel and Neumann functions of order nu: $ J_{0} $, $ N_{0} $. References: (1) Handbook of Mathematical Functions, ed. Milton Abramowitz and Irene A. Stegun, Dover Publications, Section 9 p. 364, Equations 9.2.5-9.2.10 Parameters:__nu The order of the Bessel functions.
__x The argument of the Bessel functions.
__Jnu The output Bessel function of the first kind.
__Nnu The output Neumann function (Bessel function of the second
kind).
template<typename _Tp > _Tp std::tr1::__detail::__cyl_bessel_k (const _Tp__nu, const _Tp__x)¶
Return the irregular modified Bessel function $ K_{0}(x) $ of order $ 0 $. The irregular modified Bessel function is defined by: Parameters:__nu The order of the irregular
modified Bessel function.
__x The argument of the irregular modified Bessel function.
Returns:
The output irregular modified Bessel
function.
template<typename _Tp > _Tp std::tr1::__detail::__cyl_neumann_n (const _Tp__nu, const _Tp__x)¶
Return the Neumann function of order $ 0 $: $ N_{0}(x) $. The Neumann function is defined by: Parameters:__nu The order of the Neumann function.
__x The argument of the Neumann function.
Returns:
The output Neumann function.
template<typename _Tp > _Tp std::tr1::__detail::__ellint_1 (const _Tp__k, const _Tp__phi)¶
Return the incomplete elliptic integral of the first kind $ F(k,phi) $ using the Carlson formulation. The incomplete elliptic integral of the first kind is defined as Parameters:__k The argument of the elliptic
function.
__phi The integral limit argument of the elliptic function.
Returns:
The elliptic function of the first kind.
template<typename _Tp > _Tp std::tr1::__detail::__ellint_2 (const _Tp__k, const _Tp__phi)¶
Return the incomplete elliptic integral of the second kind $ E(k,phi) $ using the Carlson formulation. The incomplete elliptic integral of the second kind is defined as Parameters:__k The argument of the elliptic
function.
__phi The integral limit argument of the elliptic function.
Returns:
The elliptic function of the second
kind.
template<typename _Tp > _Tp std::tr1::__detail::__ellint_3 (const _Tp__k, const _Tp__nu, const _Tp__phi)¶
Return the incomplete elliptic integral of the third kind $ Pi(k,0,phi) $ using the Carlson formulation. The incomplete elliptic integral of the third kind is defined as Parameters:__k The argument of the elliptic
function.
__nu The second argument of the elliptic function.
__phi The integral limit argument of the elliptic function.
Returns:
The elliptic function of the third kind.
template<typename _Tp > _Tp std::tr1::__detail::__ellint_rc (const _Tp__x, const _Tp__y)¶
Return the Carlson elliptic function $ R_C(x,y) = R_F(x,y,y) $ where $ R_F(x,y,z) $ is the Carlson elliptic function of the first kind. The Carlson elliptic function is defined by: Based on Carlson's algorithms:- •
- B. C. Carlson Numer. Math. 33, 1 (1979)
- •
- B. C. Carlson, Special Functions of Applied Mathematics (1977)
- •
- Numerical Recipes in C, 2nd ed, pp. 261-269, by Press, Teukolsky, Vetterling, Flannery (1992)
__x The first argument.
__y The second argument.
Returns:
The Carlson elliptic function.
template<typename _Tp > _Tp std::tr1::__detail::__ellint_rd (const _Tp__x, const _Tp__y, const _Tp__z)¶
Return the Carlson elliptic function of the second kind $ R_D(x,y,z) = R_J(x,y,z,z) $ where $ R_J(x,y,z,p) $ is the Carlson elliptic function of the third kind. The Carlson elliptic function of the second kind is defined by: Based on Carlson's algorithms:- •
- B. C. Carlson Numer. Math. 33, 1 (1979)
- •
- B. C. Carlson, Special Functions of Applied Mathematics (1977)
- •
- Numerical Recipes in C, 2nd ed, pp. 261-269, by Press, Teukolsky, Vetterling, Flannery (1992)
__x The first of two symmetric
arguments.
__y The second of two symmetric arguments.
__z The third argument.
Returns:
The Carlson elliptic function of the second
kind.
template<typename _Tp > _Tp std::tr1::__detail::__ellint_rf (const _Tp__x, const _Tp__y, const _Tp__z)¶
Return the Carlson elliptic function $ R_F(x,y,z) $ of the first kind. The Carlson elliptic function of the first kind is defined by: Parameters:__x The first of three symmetric
arguments.
__y The second of three symmetric arguments.
__z The third of three symmetric arguments.
Returns:
The Carlson elliptic function of the first
kind.
template<typename _Tp > _Tp std::tr1::__detail::__ellint_rj (const _Tp__x, const _Tp__y, const _Tp__z, const _Tp__p)¶
Return the Carlson elliptic function $ R_J(x,y,z,p) $ of the third kind. The Carlson elliptic function of the third kind is defined by: Based on Carlson's algorithms:- •
- B. C. Carlson Numer. Math. 33, 1 (1979)
- •
- B. C. Carlson, Special Functions of Applied Mathematics (1977)
- •
- Numerical Recipes in C, 2nd ed, pp. 261-269, by Press, Teukolsky, Vetterling, Flannery (1992)
__x The first of three symmetric
arguments.
__y The second of three symmetric arguments.
__z The third of three symmetric arguments.
__p The fourth argument.
Returns:
The Carlson elliptic function of the fourth
kind.
template<typename _Tp > _Tp std::tr1::__detail::__expint (const unsigned int__n, const _Tp__x)¶
Return the exponential integral $ E_n(x) $. The exponential integral is given by Parameters:__n The order of the exponential
integral function.
__x The argument of the exponential integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint (const _Tp__x) [inline]¶
Return the exponential integral $ Ei(x) $. The exponential integral is given by Parameters:__x The argument of the exponential
integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_asymp (const unsigned int__n, const _Tp__x)¶
Return the exponential integral $ E_n(x) $ for large argument. The exponential integral is given by This is something of an extension. Parameters:__n The order of the exponential
integral function.
__x The argument of the exponential integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_E1 (const _Tp__x)¶
Return the exponential integral $ E_1(x) $. The exponential integral is given by Parameters:__x The argument of the exponential
integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_E1_asymp (const _Tp__x)¶
Return the exponential integral $ E_1(x) $ by asymptotic expansion. The exponential integral is given by Parameters:__x The argument of the exponential
integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_E1_series (const _Tp__x)¶
Return the exponential integral $ E_1(x) $ by series summation. This should be good for $ x < 1 $. The exponential integral is given by Parameters:__x The argument of the exponential
integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_Ei (const _Tp__x)¶
Return the exponential integral $ Ei(x) $. The exponential integral is given by Parameters:__x The argument of the exponential
integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_Ei_asymp (const _Tp__x)¶
Return the exponential integral $ Ei(x) $ by asymptotic expansion. The exponential integral is given by Parameters:__x The argument of the exponential
integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_Ei_series (const _Tp__x)¶
Return the exponential integral $ Ei(x) $ by series summation. The exponential integral is given by Parameters:__x The argument of the exponential
integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_En_cont_frac (const unsigned int__n, const _Tp__x)¶
Return the exponential integral $ E_n(x) $ by continued fractions. The exponential integral is given by Parameters:__n The order of the exponential
integral function.
__x The argument of the exponential integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_En_recursion (const unsigned int__n, const _Tp__x)¶
Return the exponential integral $ E_n(x) $ by recursion. Use upward recursion for $ x < n $ and downward recursion (Miller's algorithm) otherwise. The exponential integral is given by Parameters:__n The order of the exponential
integral function.
__x The argument of the exponential integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_En_series (const unsigned int__n, const _Tp__x)¶
Return the exponential integral $ E_n(x) $ by series summation. The exponential integral is given by Parameters:__n The order of the exponential
integral function.
__x The argument of the exponential integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__expint_large_n (const unsigned int__n, const _Tp__x)¶
Return the exponential integral $ E_n(x) $ for large order. The exponential integral is given by This is something of an extension. Parameters:__n The order of the exponential
integral function.
__x The argument of the exponential integral function.
Returns:
The exponential integral.
template<typename _Tp > _Tp std::tr1::__detail::__gamma (const _Tp__x) [inline]¶
Return $ Gamma(x) $. Parameters:__x The argument of the gamma
function.
Returns:
The gamma function.
template<typename _Tp > void std::tr1::__detail::__gamma_temme (const _Tp__mu, _Tp &__gam1, _Tp &__gam2, _Tp &__gampl, _Tp &__gammi)¶
Compute the gamma functions required by the Temme series expansions of $ N_0(x) $ and $ K_0(x) $. ] and ] where $ -1/2 <= <= 1/2 $ is $ = 0 - N $ and $ N $. is the nearest integer to $ 0 $. The values of $ Gamma(1 + ) $ and $ Gamma(1 - ) $ are returned as well. The accuracy requirements on this are exquisite. Parameters:__mu The input parameter of the gamma
functions.
__gam1 The output function $ Gamma_1() $
__gam2 The output function $ Gamma_2() $
__gampl The output function $ Gamma(1 + ) $
__gammi The output function $ Gamma(1 - ) $
template<typename _Tp > _Tp std::tr1::__detail::__hurwitz_zeta (const _Tp__a, const _Tp__s) [inline]¶
Return the Hurwitz zeta function $ ta(x,s) $ for all s != 1 and x > -1. The Hurwitz zeta function is defined by: Definition at line 426 of file riemann_zeta.tcc. References __hurwitz_zeta_glob(). Referenced by __psi().template<typename _Tp > _Tp std::tr1::__detail::__hurwitz_zeta_glob (const _Tp__a, const _Tp__s)¶
Return the Hurwitz zeta function $ ta(x,s) $ for all s != 1 and x > -1. The Hurwitz zeta function is defined by: This functions uses the double sum that converges for s != 1 and x > -1: Definition at line 361 of file riemann_zeta.tcc. References __log_gamma(), std::abs(), std::exp(), std::log(), and std::pow(). Referenced by __hurwitz_zeta().template<typename _Tp > _Tp std::tr1::__detail::__hyperg (const _Tp__a, const _Tp__b, const _Tp__c, const _Tp__x) [inline]¶
Return the hypogeometric function $ _2F_1(a,b;c;x) $. The hypogeometric function is defined by Parameters:__a The first 'numerator' parameter.
__a The second 'numerator' parameter.
__c The 'denominator' parameter.
__x The argument of the confluent hypergeometric function.
Returns:
The confluent hypergeometric function.
template<typename _Tp > _Tp std::tr1::__detail::__hyperg_luke (const _Tp__a, const _Tp__b, const _Tp__c, const _Tp__xin)¶
Return the hypogeometric function $ _2F_1(a,b;c;x) $ by an iterative procedure described in Luke, Algorithms for the Computation of Mathematical Functions. Definition at line 300 of file hypergeometric.tcc. References std::abs(), and std::pow(). Referenced by __hyperg().template<typename _Tp > _Tp std::tr1::__detail::__hyperg_reflect (const _Tp__a, const _Tp__b, const _Tp__c, const _Tp__x)¶
Return the hypogeometric function $ _2F_1(a,b;c;x) $ by the reflection formulae in Abramowitz & Stegun formula 15.3.6 for d = c - a - b not integral and formula 15.3.11 for d = c - a - b integral. This assumes a, b, c != negative integer. The hypogeometric function is defined by The reflection formula for nonintegral $ d = c - a - b $ is: The reflection formula for integral $ m = c - a - b $ is: Definition at line 434 of file hypergeometric.tcc. References std::tr1::__detail::__numeric_constants< _Tp >::__gamma_e(), __hyperg_series(), __log_gamma(), __log_gamma_sign(), __psi(), std::abs(), std::exp(), and std::log(). Referenced by __hyperg().template<typename _Tp > _Tp std::tr1::__detail::__hyperg_series (const _Tp__a, const _Tp__b, const _Tp__c, const _Tp__x)¶
Return the hypogeometric function $ _2F_1(a,b;c;x) $ by series expansion. The hypogeometric function is defined by This works and it's pretty fast. Parameters:__a The first 'numerator' parameter.
__a The second 'numerator' parameter.
__c The 'denominator' parameter.
__x The argument of the confluent hypergeometric function.
Returns:
The confluent hypergeometric function.
template<typename _Tp > _Tp std::tr1::__detail::__laguerre (const unsigned int__n, const _Tp__x) [inline]¶
This routine returns the Laguerre polynomial of order n: $ L_n(x) $. The Laguerre polynomial is defined by: Parameters:__n The order of the Laguerre
polynomial.
__x The argument of the Laguerre polynomial.
Returns:
The value of the Laguerre polynomial of order
n and argument x.
template<typename _Tp > _Tp std::tr1::__detail::__log_bincoef (const unsigned int__n, const unsigned int__k)¶
Return the logarithm of the binomial coefficient. The binomial coefficient is given by:__n The first argument of the binomial
coefficient.
__k The second argument of the binomial coefficient.
Returns:
The binomial coefficient.
template<typename _Tp > _Tp std::tr1::__detail::__log_gamma (const _Tp__x)¶
Return $ log(|Gamma(x)|) $. This will return values even for $ x < 0 $. To recover the sign of $ Gamma(x) $ for any argument use __log_gamma_sign. Parameters:__x The argument of the log of the
gamma function.
Returns:
The logarithm of the gamma function.
template<typename _Tp > _Tp std::tr1::__detail::__log_gamma_bernoulli (const _Tp__x)¶
Return $log(Gamma(x))$ by asymptotic expansion with Bernoulli number coefficients. This is like Sterling's approximation. Parameters:__x The argument of the log of the
gamma function.
Returns:
The logarithm of the gamma function.
template<typename _Tp > _Tp std::tr1::__detail::__log_gamma_lanczos (const _Tp__x)¶
Return $log(Gamma(x))$ by the Lanczos method. This method dominates all others on the positive axis I think. Parameters:__x The argument of the log of the
gamma function.
Returns:
The logarithm of the gamma function.
template<typename _Tp > _Tp std::tr1::__detail::__log_gamma_sign (const _Tp__x)¶
Return the sign of $ Gamma(x) $. At nonpositive integers zero is returned. Parameters:__x The argument of the gamma
function.
Returns:
The sign of the gamma function.
template<typename _Tp > _Tp std::tr1::__detail::__poly_hermite (const unsigned int__n, const _Tp__x) [inline]¶
This routine returns the Hermite polynomial of order n: $ H_n(x) $. The Hermite polynomial is defined by: Parameters:__n The order of the Hermite
polynomial.
__x The argument of the Hermite polynomial.
Returns:
The value of the Hermite polynomial of order n
and argument x.
template<typename _Tp > _Tp std::tr1::__detail::__poly_hermite_recursion (const unsigned int__n, const _Tp__x)¶
This routine returns the Hermite polynomial of order n: $ H_n(x) $ by recursion on n. The Hermite polynomial is defined by: Parameters:__n The order of the Hermite
polynomial.
__x The argument of the Hermite polynomial.
Returns:
The value of the Hermite polynomial of order n
and argument x.
template<typename _Tpa , typename _Tp > _Tp std::tr1::__detail::__poly_laguerre (const unsigned int__n, const _Tpa__alpha1, const _Tp__x) [inline]¶
This routine returns the associated Laguerre polynomial of order n, degree $ alpha $: $ L_n^alpha(x) $. The associated Laguerre function is defined by The associated Laguerre polynomial is defined for integral $ alpha = m $ by: Parameters:__n The order of the Laguerre function.
__alpha The degree of the Laguerre function.
__x The argument of the Laguerre function.
Returns:
The value of the Laguerre function of order n,
degree $ alpha $, and argument x.
template<typename _Tpa , typename _Tp > _Tp std::tr1::__detail::__poly_laguerre_hyperg (const unsigned int__n, const _Tpa__alpha1, const _Tp__x)¶
Evaluate the polynomial based on the confluent hypergeometric function in a safe way, with no restriction on the arguments. The associated Laguerre function is defined by This function assumes x != 0. This is from the GNU Scientific Library. Definition at line 127 of file poly_laguerre.tcc. References std::abs(). Referenced by __poly_laguerre().template<typename _Tpa , typename _Tp > _Tp std::tr1::__detail::__poly_laguerre_large_n (const unsigned__n, const _Tpa__alpha1, const _Tp__x)¶
This routine returns the associated Laguerre polynomial of order $ n $, degree $ alpha $ for large n. Abramowitz & Stegun, 13.5.21. Parameters:__n The order of the Laguerre function.
__alpha The degree of the Laguerre function.
__x The argument of the Laguerre function.
Returns:
The value of the Laguerre function of order n,
degree $ alpha $, and argument x.
This is from the GNU Scientific Library.
Definition at line 72 of file poly_laguerre.tcc.
References __log_gamma(), std::tr1::__detail::__numeric_constants< _Tp
>::__pi_2(), std::exp(), std::log(), std::sin(), and std::sqrt().
Referenced by __poly_laguerre().
template<typename _Tpa , typename _Tp > _Tp std::tr1::__detail::__poly_laguerre_recursion (const unsigned int__n, const _Tpa__alpha1, const _Tp__x)¶
This routine returns the associated Laguerre polynomial of order $ n $, degree $ alpha $: $ L_n^alpha(x) $ by recursion. The associated Laguerre function is defined by The associated Laguerre polynomial is defined for integral $ alpha = m $ by: Parameters:__n The order of the Laguerre function.
__alpha The degree of the Laguerre function.
__x The argument of the Laguerre function.
Returns:
The value of the Laguerre function of order n,
degree $ alpha $, and argument x.
template<typename _Tp > _Tp std::tr1::__detail::__poly_legendre_p (const unsigned int__l, const _Tp__x)¶
Return the Legendre polynomial by recursion on order $ l $. The Legendre function of $ l $ and $ x $, $ P_l(x) $, is defined by: Parameters:l The order of the Legendre polynomial.
$l >= 0$.
x The argument of the Legendre polynomial. $|x| <= 1$.
template<typename _Tp > _Tp std::tr1::__detail::__psi (const _Tp__x)¶
Return the digamma function. The digamma or $ psi(x) $ function is defined by Definition at line 415 of file gamma.tcc. References std::tr1::__detail::__numeric_constants< _Tp >::__pi(), __psi_asymp(), __psi_series(), std::abs(), std::cos(), and std::sin(). Referenced by __expint_En_series(), __hyperg_reflect(), and __psi().template<typename _Tp > _Tp std::tr1::__detail::__psi (const unsigned int__n, const _Tp__x)¶
Return the polygamma function $ psi^{(n)}(x) $. The polygamma function is related to the Hurwitz zeta function: Definition at line 444 of file gamma.tcc. References __hurwitz_zeta(), __log_gamma(), __psi(), and std::exp().template<typename _Tp > _Tp std::tr1::__detail::__psi_asymp (const _Tp__x)¶
Return the digamma function for large argument. The digamma or $ psi(x) $ function is defined by Definition at line 384 of file gamma.tcc. References std::abs(), and std::log(). Referenced by __psi().template<typename _Tp > _Tp std::tr1::__detail::__psi_series (const _Tp__x)¶
Return the digamma function by series expansion. The digamma or $ psi(x) $ function is defined by Definition at line 354 of file gamma.tcc. References std::tr1::__detail::__numeric_constants< _Tp >::__gamma_e(), and std::abs(). Referenced by __psi().template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta (const _Tp__s)¶
Return the Riemann zeta function $ ta(s) $. The Riemann zeta function is defined by: Definition at line 289 of file riemann_zeta.tcc. References __log_gamma(), std::tr1::__detail::__numeric_constants< _Tp >::__pi(), __riemann_zeta_glob(), __riemann_zeta_product(), __riemann_zeta_sum(), std::exp(), std::pow(), and std::sin().template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta_alt (const _Tp__s)¶
Evaluate the Riemann zeta function $ ta(s) $ by an alternate series for s > 0. The Riemann zeta function is defined by: Definition at line 111 of file riemann_zeta.tcc. References std::abs(), and std::pow().template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta_glob (const _Tp__s)¶
Evaluate the Riemann zeta function by series for all s != 1. Convergence is great until largish negative numbers. Then the convergence of the > 0 sum gets better. The series is: The Riemann zeta function is defined by: Definition at line 153 of file riemann_zeta.tcc. References __log_gamma(), std::tr1::__detail::__numeric_constants< _Tp >::__pi(), std::abs(), std::exp(), std::log(), std::pow(), and std::sin(). Referenced by __riemann_zeta().template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta_product (const _Tp__s)¶
Compute the Riemann zeta function $ ta(s) $ using the product over prime factors. Definition at line 248 of file riemann_zeta.tcc. References std::pow(). Referenced by __riemann_zeta().template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta_sum (const _Tp__s)¶
Compute the Riemann zeta function $ ta(s) $ by summation for s > 1. The Riemann zeta function is defined by: Definition at line 74 of file riemann_zeta.tcc. References std::pow(). Referenced by __riemann_zeta().template<typename _Tp > _Tp std::tr1::__detail::__sph_bessel (const unsigned int__n, const _Tp__x)¶
Return the spherical Bessel function $ j_n(x) $ of order n. The spherical Bessel function is defined by: Parameters:__n The order of the spherical Bessel
function.
__x The argument of the spherical Bessel function.
Returns:
The output spherical Bessel function.
template<typename _Tp > void std::tr1::__detail::__sph_bessel_ik (const unsigned int__n, const _Tp__x, _Tp &__i_n, _Tp &__k_n, _Tp &__ip_n, _Tp &__kp_n)¶
Compute the spherical modified Bessel functions $ i_n(x) $ and $ k_n(x) $ and their first derivatives $ i'_n(x) $ and $ k'_n(x) $ respectively. Parameters:__n The order of the modified spherical
Bessel function.
__x The argument of the modified spherical Bessel function.
__i_n The output regular modified spherical Bessel function.
__k_n The output irregular modified spherical Bessel function.
__ip_n The output derivative of the regular modified spherical Bessel
function.
__kp_n The output derivative of the irregular modified spherical Bessel
function.
template<typename _Tp > void std::tr1::__detail::__sph_bessel_jn (const unsigned int__n, const _Tp__x, _Tp &__j_n, _Tp &__n_n, _Tp &__jp_n, _Tp &__np_n)¶
Compute the spherical Bessel $ j_n(x) $ and Neumann $ n_n(x) $ functions and their first derivatives $ j'_n(x) $ and $ n'_n(x) $ respectively. Parameters:__n The order of the spherical Bessel
function.
__x The argument of the spherical Bessel function.
__j_n The output spherical Bessel function.
__n_n The output spherical Neumann function.
__jp_n The output derivative of the spherical Bessel function.
__np_n The output derivative of the spherical Neumann function.
template<typename _Tp > _Tp std::tr1::__detail::__sph_legendre (const unsigned int__l, const unsigned int__m, const _Tp__theta)¶
Return the spherical associated Legendre function. The spherical associated Legendre function of $ l $, $ m $, and $ heta $ is defined as $ Y_l^m(heta,0) $ where P_l^m(osheta) \xp^{imphi} ] is the spherical harmonic function and $ P_l^m(x) $ is the associated Legendre function. This function differs from the associated Legendre function by argument ( $x = os(heta)$) and by a normalization factor but this factor is rather large for large $ l $ and $ m $ and so this function is stable for larger differences of $ l $ and $ m $. Parameters:l The order of the spherical associated
Legendre function. $ l >= 0 $.
m The order of the spherical associated Legendre function. $ m <= l $.
theta The radian angle argument of the spherical associated Legendre
function.
template<typename _Tp > _Tp std::tr1::__detail::__sph_neumann (const unsigned int__n, const _Tp__x)¶
Return the spherical Neumann function $ n_n(x) $. The spherical Neumann function is defined by: Parameters:__n The order of the spherical Neumann
function.
__x The argument of the spherical Neumann function.
Returns:
The output spherical Neumann function.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.Thu Aug 2 2012 | libstdc++ |