GAMMA(3)

NAME
PDL::GSLSF::GAMMA - PDL interface to GSL Special Functions

DESCRIPTION
This is an interface to the Special Function package present in the GNU Scientific Library.

FUNCTIONS

  gsl_sf_lngamma
  Signature: (double x(); double [o]y(); double [o]s(); double [o]e())

Log[Gamma(x)], x not a negative integer Uses real Lanczos method. Determines the sign of Gamma[x] as well as Log[|Gamma[x]|] for x < 0. So Gamma[x] = sgn * Exp[result_lg].

gsl_sf_lngamma does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_gamma
  Signature: (double x(); double [o]y(); double [o]e())

Gamma(x), x not a negative integer

gsl_sf_gamma does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_gammastar
  Signature: (double x(); double [o]y(); double [o]e())

Regulated Gamma Function, x > 0 Gamma^*(x) = Gamma(x)/(Sqrt[2Pi] x^(x-1/2) exp(-x)) = (1 + 1/(12x) + ...), x->Inf

gsl_sf_gammastar does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_gammainv
  Signature: (double x(); double [o]y(); double [o]e())

1/Gamma(x)

gsl_sf_gammainv does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_lngamma_complex
  Signature: (double zr(); double zi(); double [o]x(); double [o]y(); double [o]xe(); double [o]ye())

Log[Gamma(z)] for z complex, z not a negative integer. Calculates: lnr = log|Gamma(z)|, arg = arg(Gamma(z)) in (-Pi, Pi]

gsl_sf_lngamma_complex does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_taylorcoeff
  Signature: (double x(); double [o]y(); double [o]e(); int n)

x^n / n!

gsl_sf_taylorcoeff does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_fact
  Signature: (x(); double [o]y(); double [o]e())

n!

gsl_sf_fact does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_doublefact
  Signature: (x(); double [o]y(); double [o]e())

n!! = n(n-2)(n-4)

gsl_sf_doublefact does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_lnfact
  Signature: (x(); double [o]y(); double [o]e())

ln n!

gsl_sf_lnfact does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_lndoublefact
  Signature: (x(); double [o]y(); double [o]e())

ln n!!

gsl_sf_lndoublefact does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_lnchoose
  Signature: (n(); m(); double [o]y(); double [o]e())

log(n choose m)

gsl_sf_lnchoose does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_choose
  Signature: (n(); m(); double [o]y(); double [o]e())

n choose m

gsl_sf_choose does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_lnpoch
  Signature: (double x(); double [o]y(); double [o]s(); double [o]e(); double a)

Logarithm of Pochammer (Apell) symbol, with sign information. result = log( |(a)_x| ), sgn = sgn( (a)_x ) where (a)_x := Gamma[a + x]/Gamma[a]

gsl_sf_lnpoch does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_poch
  Signature: (double x(); double [o]y(); double [o]e(); double a)

Pochammer (Apell) symbol (a)_x := Gamma[a + x]/Gamma[x]

gsl_sf_poch does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_pochrel
  Signature: (double x(); double [o]y(); double [o]e(); double a)

Relative Pochammer (Apell) symbol ((a,x) - 1)/x where (a,x) = (a)_x := Gamma[a + x]/Gamma[a]

gsl_sf_pochrel does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_gamma_inc_Q
  Signature: (double x(); double [o]y(); double [o]e(); double a)

Normalized Incomplete Gamma Function Q(a,x) = 1/Gamma(a) Integral[ t^(a-1) e^(-t), {t,x,Infinity} ]

gsl_sf_gamma_inc_Q does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_gamma_inc_P
  Signature: (double x(); double [o]y(); double [o]e(); double a)

Complementary Normalized Incomplete Gamma Function P(a,x) = 1/Gamma(a) Integral[ t^(a-1) e^(-t), {t,0,x} ]

gsl_sf_gamma_inc_P does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_lnbeta
  Signature: (double a(); double b(); double [o]y(); double [o]e())

Logarithm of Beta Function Log[B(a,b)]

gsl_sf_lnbeta does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

  gsl_sf_beta
  Signature: (double a(); double b();double [o]y(); double [o]e())

Beta Function B(a,b)

gsl_sf_beta does not process bad values. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

AUTHOR
This file copyright (C) 1999 Christian Pellegrin <chri@infis.univ.trieste.it> All rights reserved. There is no warranty. You are allowed to redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDL distribution. If this file is separated from the PDL distribution, the copyright notice should be included in the file.

The GSL SF modules were written by G. Jungman.