S-Lang GSL Module Reference: gslsf: The GSL Special Functions Module

Next Previous Contents

## 5. gslsf: The GSL Special Functions Module

The special function module, `gslsf`, wraps nearly 200 GSL special functions. Since the special functions are described in detail in the documentation for the GSL library, no attempt will be made here to duplicate the main documentation. Rather, a description of how the special functions have been wrapped by the module is given.

GSL prefixes the special functions with the string `gsl_sf_`. This prefix is omitted from the corresponding intrinsic functions of the `gslsf` module. For example, the GSL function that computes spherical harmonics is called `gsl_sf_legendre_sphPlm`. However, it is represented in the module by simply `legendre_sphPlm`.

Most of GSL's special functions take scalar arguments and returns a scalar. For example, `gsl_sf_legendre_sphPlm` takes three arguments (int, int, and a double) and returns a double, e.g.,

> `

>         int l = 5, m = 0;
>         double x = 0.5;
>         double y = gsl_sf_legendre_sphPlm (l, m, x);

> `

While the module supports the scalar usage, e.g,

> `

>         variable l = 5, m = 0, x = 0.5;
>         variable y = legendre_sphPlm (l, m, x);

> `

it also supports vector arguments, e.g.,

> `

>         variable l = 5, m = 0, x = [-1:1:0.1];
>         variable y = legendre_sphPlm (l, m, x);

> `

and

> `

>         variable l = 5, m = [0:l], x = 0.5;
>         variable y = legendre_sphPlm (l, m, x);

> `

Some of the functions are expensive to compute to full double precision accuracy. In the interest of speed, it may want to perform perform the computation with less precision. Hence, several of the special functions take an optional mode argument that specifies the desired precision: `GSL_PREC_DOUBLE` for double precision accuracy, `GSL_PREC_SINGLE` for single precision accuracy, and `GSL_PREC_APPROX` for a relative accuracy of 5e-4. For example, to compute the Airy function to double precision accuracy use:

> `

>          y = airy_Ai (x, GSL_PREC_DOUBLE);

> `

If called without the mode argument, i.e.,

> `

>          y = airy_Ai (x);

> `

the function will be computed to a default precision of `GSL_PREC_SINGLE`. The default precision can be set and queried by the `gslsf_set_precision` and `gslsf_get_precision` functions, resp. Functions that do not take the optional mode argument will always be computed at full precision.

## 5.1 Airy Functions

### airy_Ai

Synopsis

  S-Lang version of gsl_sf_airy_Ai

Usage

  `Double_Type[] airy_Ai (Double_Type[] x [,Int_Type mode])`

### airy_Ai_deriv

Synopsis

  S-Lang version of gsl_sf_airy_Ai_deriv

Usage

  `Double_Type[] airy_Ai_deriv (Double_Type[] x [,Int_Type mode])`

### airy_Ai_deriv_scaled

Synopsis

  S-Lang version of gsl_sf_airy_Ai_deriv_scaled

Usage

  `Double_Type[] airy_Ai_deriv_scaled (Double_Type[] x [,Int_Type mode])`

### airy_Ai_scaled

Synopsis

  S-Lang version of gsl_sf_airy_Ai_scaled

Usage

  `Double_Type[] airy_Ai_scaled (Double_Type[] x [,Int_Type mode])`

### airy_Bi

Synopsis

  S-Lang version of gsl_sf_airy_Bi

Usage

  `Double_Type[] airy_Bi (Double_Type[] x [,Int_Type mode])`

### airy_Bi_deriv

Synopsis

  S-Lang version of gsl_sf_airy_Bi_deriv

Usage

  `Double_Type[] airy_Bi_deriv (Double_Type[] x [,Int_Type mode])`

### airy_Bi_deriv_scaled

Synopsis

  S-Lang version of gsl_sf_airy_Bi_deriv_scaled

Usage

  `Double_Type[] airy_Bi_deriv_scaled (Double_Type[] x [,Int_Type mode])`

### airy_Bi_scaled

Synopsis

  S-Lang version of gsl_sf_airy_Bi_scaled

Usage

  `Double_Type[] airy_Bi_scaled (Double_Type[] x [,Int_Type mode])`

## 5.2 Bessel Functions

### bessel_I0

Synopsis

  S-Lang version of gsl_sf_bessel_I0

Usage

  `Double_Type[] bessel_I0 (Double_Type[] x)`

### bessel_I0_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_I0_scaled

Usage

  `Double_Type[] bessel_I0_scaled (Double_Type[] x)`

### bessel_i0_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_i0_scaled

Usage

  `Double_Type[] bessel_i0_scaled (Double_Type[] x)`

### bessel_I1

Synopsis

  S-Lang version of gsl_sf_bessel_I1

Usage

  `Double_Type[] bessel_I1 (Double_Type[] x)`

### bessel_i1_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_i1_scaled

Usage

  `Double_Type[] bessel_i1_scaled (Double_Type[] x)`

### bessel_I1_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_I1_scaled

Usage

  `Double_Type[] bessel_I1_scaled (Double_Type[] x)`

### bessel_i2_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_i2_scaled

Usage

  `Double_Type[] bessel_i2_scaled (Double_Type[] x)`

### bessel_il_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_il_scaled

Usage

  `Double_Type[] bessel_il_scaled (Int_Type[] l, Double_Type[] x)`

### bessel_In

Synopsis

  S-Lang version of gsl_sf_bessel_In

Usage

  `Double_Type[] bessel_In (Int_Type[] n, Double_Type[] x)`

### bessel_In_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_In_scaled

Usage

  `Double_Type[] bessel_In_scaled (Int_Type[] n, Double_Type[] x)`

### bessel_Inu

Synopsis

  S-Lang version of gsl_sf_bessel_Inu

Usage

  `Double_Type[] bessel_Inu (Double_Type[] nu, Double_Type[] x)`

### bessel_Inu_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_Inu_scaled

Usage

  `Double_Type[] bessel_Inu_scaled (Double_Type[] nu, Double_Type[] x)`

### bessel_J0

Synopsis

  S-Lang version of gsl_sf_bessel_J0

Usage

  `Double_Type[] bessel_J0 (Double_Type[] x)`

### bessel_j0

Synopsis

  S-Lang version of gsl_sf_bessel_j0

Usage

  `Double_Type[] bessel_j0 (Double_Type[] x)`

### bessel_j1

Synopsis

  S-Lang version of gsl_sf_bessel_j1

Usage

  `Double_Type[] bessel_j1 (Double_Type[] x)`

### bessel_J1

Synopsis

  S-Lang version of gsl_sf_bessel_J1

Usage

  `Double_Type[] bessel_J1 (Double_Type[] x)`

### bessel_j2

Synopsis

  S-Lang version of gsl_sf_bessel_j2

Usage

  `Double_Type[] bessel_j2 (Double_Type[] x)`

### bessel_jl

Synopsis

  S-Lang version of gsl_sf_bessel_jl

Usage

  `Double_Type[] bessel_jl (Int_Type[] l, Double_Type[] x)`

### bessel_Jn

Synopsis

  S-Lang version of gsl_sf_bessel_Jn

Usage

  `Double_Type[] bessel_Jn (Int_Type[] n, Double_Type[] x)`

### bessel_Jnu

Synopsis

  S-Lang version of gsl_sf_bessel_Jnu

Usage

  `Double_Type[] bessel_Jnu (Double_Type[] nu, Double_Type[] x)`

### bessel_K0

Synopsis

  S-Lang version of gsl_sf_bessel_K0

Usage

  `Double_Type[] bessel_K0 (Double_Type[] x)`

### bessel_K0_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_K0_scaled

Usage

  `Double_Type[] bessel_K0_scaled (Double_Type[] x)`

### bessel_k0_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_k0_scaled

Usage

  `Double_Type[] bessel_k0_scaled (Double_Type[] x)`

### bessel_K1

Synopsis

  S-Lang version of gsl_sf_bessel_K1

Usage

  `Double_Type[] bessel_K1 (Double_Type[] x)`

### bessel_K1_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_K1_scaled

Usage

  `Double_Type[] bessel_K1_scaled (Double_Type[] x)`

### bessel_k1_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_k1_scaled

Usage

  `Double_Type[] bessel_k1_scaled (Double_Type[] x)`

### bessel_k2_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_k2_scaled

Usage

  `Double_Type[] bessel_k2_scaled (Double_Type[] x)`

### bessel_kl_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_kl_scaled

Usage

  `Double_Type[] bessel_kl_scaled (Int_Type[] l, Double_Type[] x)`

### bessel_Kn

Synopsis

  S-Lang version of gsl_sf_bessel_Kn

Usage

  `Double_Type[] bessel_Kn (Int_Type[] n, Double_Type[] x)`

### bessel_Kn_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_Kn_scaled

Usage

  `Double_Type[] bessel_Kn_scaled (Int_Type[] n, Double_Type[] x)`

### bessel_Knu

Synopsis

  S-Lang version of gsl_sf_bessel_Knu

Usage

  `Double_Type[] bessel_Knu (Double_Type[] nu, Double_Type[] x)`

### bessel_Knu_scaled

Synopsis

  S-Lang version of gsl_sf_bessel_Knu_scaled

Usage

  `Double_Type[] bessel_Knu_scaled (Double_Type[] nu, Double_Type[] x)`

### bessel_lnKnu

Synopsis

  S-Lang version of gsl_sf_bessel_lnKnu

Usage

  `Double_Type[] bessel_lnKnu (Double_Type[] nu, Double_Type[] x)`

### bessel_Y0

Synopsis

  S-Lang version of gsl_sf_bessel_Y0

Usage

  `Double_Type[] bessel_Y0 (Double_Type[] x)`

### bessel_y0

Synopsis

  S-Lang version of gsl_sf_bessel_y0

Usage

  `Double_Type[] bessel_y0 (Double_Type[] x)`

### bessel_y1

Synopsis

  S-Lang version of gsl_sf_bessel_y1

Usage

  `Double_Type[] bessel_y1 (Double_Type[] x)`

### bessel_Y1

Synopsis

  S-Lang version of gsl_sf_bessel_Y1

Usage

  `Double_Type[] bessel_Y1 (Double_Type[] x)`

### bessel_y2

Synopsis

  S-Lang version of gsl_sf_bessel_y2

Usage

  `Double_Type[] bessel_y2 (Double_Type[] x)`

### bessel_yl

Synopsis

  S-Lang version of gsl_sf_bessel_yl

Usage

  `Double_Type[] bessel_yl (Int_Type[] l, Double_Type[] x)`

### bessel_Yn

Synopsis

  S-Lang version of gsl_sf_bessel_Yn

Usage

  `Double_Type[] bessel_Yn (Int_Type[] n, Double_Type[] x)`

### bessel_Ynu

Synopsis

  S-Lang version of gsl_sf_bessel_Ynu

Usage

  `Double_Type[] bessel_Ynu (Double_Type[] nu, Double_Type[] x)`

## 5.3 Beta Functions

### beta

Synopsis

  S-Lang version of gsl_sf_beta

Usage

  `Double_Type[] beta (Double_Type[] a, Double_Type[] b)`

### beta_inc

Synopsis

  S-Lang version of gsl_sf_beta_inc

Usage

  `Double_Type[] beta_inc (Double_Type[] a, Double_Type[] b, Double_Type[] x)`

### lnbeta

Synopsis

  S-Lang version of gsl_sf_lnbeta

Usage

  `Double_Type[] lnbeta (Double_Type[] a, Double_Type[] b)`

## 5.4 Clausen Functions

### clausen

Synopsis

  S-Lang version of gsl_sf_clausen

Usage

  `Double_Type[] clausen (Double_Type[] x)`

## 5.5 Conical Functions

### conicalP_0

Synopsis

  S-Lang version of gsl_sf_conicalP_0

Usage

  `Double_Type[] conicalP_0 (Double_Type[] lambda, Double_Type[] x)`

### conicalP_1

Synopsis

  S-Lang version of gsl_sf_conicalP_1

Usage

  `Double_Type[] conicalP_1 (Double_Type[] lambda, Double_Type[] x)`

### conicalP_cyl_reg

Synopsis

  S-Lang version of gsl_sf_conicalP_cyl_reg

Usage

  `Double_Type[] conicalP_cyl_reg (m, lambda, x)`

  > `

  >       Int_Type[] m
  >       Double_Type[] lambda
  >       Double_Type[] x

  > `

### conicalP_half

Synopsis

  S-Lang version of gsl_sf_conicalP_half

Usage

  `Double_Type[] conicalP_half (Double_Type[] lambda, Double_Type[] x)`

### conicalP_mhalf

Synopsis

  S-Lang version of gsl_sf_conicalP_mhalf

Usage

  `Double_Type[] conicalP_mhalf (Double_Type[] lambda, Double_Type[] x)`

### conicalP_sph_reg

Synopsis

  S-Lang version of gsl_sf_conicalP_sph_reg

Usage

  `Double_Type[] conicalP_sph_reg (l, lambda, x)`

  > `

  >       Int_Type[] l
  >       Double_Type[] lambda
  >       Double_Type[] x

  > `

## 5.6 Coulomb Functions

### hydrogenicR

Synopsis

  S-Lang version of gsl_sf_hydrogenicR

Usage

  `Double_Type[] hydrogenicR (n, l, Z, r)`

  > `

  >       Int_Type[] n
  >       Int_Type[] l
  >       Double_Type[] Z
  >       Double_Type[] r

  > `

### hydrogenicR_1

Synopsis

  S-Lang version of gsl_sf_hydrogenicR_1

Usage

  `Double_Type[] hydrogenicR_1 (Double_Type[] Z, Double_Type[] r)`

## 5.7 Debye Functions

### debye_1

Synopsis

  S-Lang version of gsl_sf_debye_1

Usage

  `Double_Type[] debye_1 (Double_Type[] x)`

### debye_2

Synopsis

  S-Lang version of gsl_sf_debye_2

Usage

  `Double_Type[] debye_2 (Double_Type[] x)`

### debye_3

Synopsis

  S-Lang version of gsl_sf_debye_3

Usage

  `Double_Type[] debye_3 (Double_Type[] x)`

### debye_4

Synopsis

  S-Lang version of gsl_sf_debye_4

Usage

  `Double_Type[] debye_4 (Double_Type[] x)`

## 5.8 Di/Tri and Polygamma Functions

### psi

Synopsis

  S-Lang version of gsl_sf_psi

Usage

  `Double_Type[] psi (Double_Type[] x)`

### psi_1_int

Synopsis

  S-Lang version of gsl_sf_psi_1_int

Usage

  `Double_Type[] psi_1_int (Int_Type[] n)`

### psi_1piy

Synopsis

  S-Lang version of gsl_sf_psi_1piy

Usage

  `Double_Type[] psi_1piy (Double_Type[] y)`

### psi_int

Synopsis

  S-Lang version of gsl_sf_psi_int

Usage

  `Double_Type[] psi_int (Int_Type[] n)`

### psi_n

Synopsis

  S-Lang version of gsl_sf_psi_n

Usage

  `Double_Type[] psi_n (Int_Type[] n, Double_Type[] x)`

## 5.9 Elliptic Integrals

### ellint_D

Synopsis

  S-Lang version of gsl_sf_ellint_D

Usage

  `Double_Type[] ellint_D (phi, k, n [,mode])`

  > `

  >       Double_Type[] phi
  >       Double_Type[] k
  >       Double_Type[] n
  >       Int_Type mode

  > `

### ellint_E

Synopsis

  S-Lang version of gsl_sf_ellint_E

Usage

  `Double_Type[] ellint_E (phi, k [,mode])`

  > `

  >       Double_Type[] phi
  >       Double_Type[] k
  >       Int_Type mode

  > `

### ellint_Ecomp

Synopsis

  S-Lang version of gsl_sf_ellint_Ecomp

Usage

  `Double_Type[] ellint_Ecomp (Double_Type[] k [,Int_Type mode])`

### ellint_F

Synopsis

  S-Lang version of gsl_sf_ellint_F

Usage

  `Double_Type[] ellint_F (phi, k [,mode])`

  > `

  >       Double_Type[] phi
  >       Double_Type[] k
  >       Int_Type mode

  > `

### ellint_Kcomp

Synopsis

  S-Lang version of gsl_sf_ellint_Kcomp

Usage

  `Double_Type[] ellint_Kcomp (Double_Type[] k [,Int_Type mode])`

### ellint_P

Synopsis

  S-Lang version of gsl_sf_ellint_P

Usage

  `Double_Type[] ellint_P (phi, k, n [,mode])`

  > `

  >       Double_Type[] phi
  >       Double_Type[] k
  >       Double_Type[] n
  >       Int_Type mode

  > `

### ellint_RC

Synopsis

  S-Lang version of gsl_sf_ellint_RC

Usage

  `Double_Type[] ellint_RC (Double_Type[] x, Double_Type[] y [,Int_Type mode])`

### ellint_RD

Synopsis

  S-Lang version of gsl_sf_ellint_RD

Usage

  `Double_Type[] ellint_RD (x, y, z [,mode])`

  > `

  >       Double_Type[] x
  >       Double_Type[] y
  >       Double_Type[] z
  >       Int_Type mode

  > `

### ellint_RF

Synopsis

  S-Lang version of gsl_sf_ellint_RF

Usage

  `Double_Type[] ellint_RF (x, y, z [,mode])`

  > `

  >       Double_Type[] x
  >       Double_Type[] y
  >       Double_Type[] z
  >       Int_Type mode

  > `

### ellint_RJ

Synopsis

  S-Lang version of gsl_sf_ellint_RJ

Usage

  `Double_Type[] ellint_RJ (x, y, z, p [,mode])`

  > `

  >       Double_Type[] x
  >       Double_Type[] y
  >       Double_Type[] z
  >       Double_Type[] p
  >       Int_Type mode

  > `

## 5.10 Error Functions

### erf

Synopsis

  S-Lang version of gsl_sf_erf

Usage

  `Double_Type[] erf (Double_Type[] x)`

### erf_Q

Synopsis

  S-Lang version of gsl_sf_erf_Q

Usage

  `Double_Type[] erf_Q (Double_Type[] x)`

### erf_Z

Synopsis

  S-Lang version of gsl_sf_erf_Z

Usage

  `Double_Type[] erf_Z (Double_Type[] x)`

### erfc

Synopsis

  S-Lang version of gsl_sf_erfc

Usage

  `Double_Type[] erfc (Double_Type[] x)`

### log_erfc

Synopsis

  S-Lang version of gsl_sf_log_erfc

Usage

  `Double_Type[] log_erfc (Double_Type[] x)`

## 5.11 Eta/Zeta Functions

### eta

Synopsis

  S-Lang version of gsl_sf_eta

Usage

  `Double_Type[] eta (Double_Type[] s)`

### eta_int

Synopsis

  S-Lang version of gsl_sf_eta_int

Usage

  `Double_Type[] eta_int (Int_Type[] n)`

### hzeta

Synopsis

  S-Lang version of gsl_sf_hzeta

Usage

  `Double_Type[] hzeta (Double_Type[] s, Double_Type[] q)`

### zeta

Synopsis

  S-Lang version of gsl_sf_zeta

Usage

  `Double_Type[] zeta (Double_Type[] s)`

### zeta_int

Synopsis

  S-Lang version of gsl_sf_zeta_int

Usage

  `Double_Type[] zeta_int (Int_Type[] n)`

## 5.12 Exponential Functions and Integrals

### exp_mult

Synopsis

  S-Lang version of gsl_sf_exp_mult

Usage

  `Double_Type[] exp_mult (Double_Type[] x, Double_Type[] y)`

### expint_3

Synopsis

  S-Lang version of gsl_sf_expint_3

Usage

  `Double_Type[] expint_3 (Double_Type[] x)`

### expint_E1

Synopsis

  S-Lang version of gsl_sf_expint_E1

Usage

  `Double_Type[] expint_E1 (Double_Type[] x)`

### expint_E1_scaled

Synopsis

  S-Lang version of gsl_sf_expint_E1_scaled

Usage

  `Double_Type[] expint_E1_scaled (Double_Type[] x)`

### expint_E2

Synopsis

  S-Lang version of gsl_sf_expint_E2

Usage

  `Double_Type[] expint_E2 (Double_Type[] x)`

### expint_E2_scaled

Synopsis

  S-Lang version of gsl_sf_expint_E2_scaled

Usage

  `Double_Type[] expint_E2_scaled (Double_Type[] x)`

### expint_Ei

Synopsis

  S-Lang version of gsl_sf_expint_Ei

Usage

  `Double_Type[] expint_Ei (Double_Type[] x)`

### expint_Ei_scaled

Synopsis

  S-Lang version of gsl_sf_expint_Ei_scaled

Usage

  `Double_Type[] expint_Ei_scaled (Double_Type[] x)`

### expm1

Synopsis

  S-Lang version of gsl_sf_expm1

Usage

  `Double_Type[] expm1 (Double_Type[] x)`

### exprel

Synopsis

  S-Lang version of gsl_sf_exprel

Usage

  `Double_Type[] exprel (Double_Type[] x)`

### exprel_2

Synopsis

  S-Lang version of gsl_sf_exprel_2

Usage

  `Double_Type[] exprel_2 (Double_Type[] x)`

### exprel_n

Synopsis

  S-Lang version of gsl_sf_exprel_n

Usage

  `Double_Type[] exprel_n (Int_Type[] n, Double_Type[] x)`

## 5.13 Fermi-Dirac Functions

### fermi_dirac_0

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_0

Usage

  `Double_Type[] fermi_dirac_0 (Double_Type[] x)`

### fermi_dirac_1

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_1

Usage

  `Double_Type[] fermi_dirac_1 (Double_Type[] x)`

### fermi_dirac_2

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_2

Usage

  `Double_Type[] fermi_dirac_2 (Double_Type[] x)`

### fermi_dirac_3half

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_3half

Usage

  `Double_Type[] fermi_dirac_3half (Double_Type[] x)`

### fermi_dirac_half

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_half

Usage

  `Double_Type[] fermi_dirac_half (Double_Type[] x)`

### fermi_dirac_inc_0

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_inc_0

Usage

  `Double_Type[] fermi_dirac_inc_0 (Double_Type[] x, Double_Type[] b)`

### fermi_dirac_int

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_int

Usage

  `Double_Type[] fermi_dirac_int (Int_Type[] j, Double_Type[] x)`

### fermi_dirac_m1

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_m1

Usage

  `Double_Type[] fermi_dirac_m1 (Double_Type[] x)`

### fermi_dirac_mhalf

Synopsis

  S-Lang version of gsl_sf_fermi_dirac_mhalf

Usage

  `Double_Type[] fermi_dirac_mhalf (Double_Type[] x)`

## 5.14 Gamma Functions

### gamma

Synopsis

  S-Lang version of gsl_sf_gamma

Usage

  `Double_Type[] gamma (Double_Type[] x)`

### gamma_inc

Synopsis

  S-Lang version of gsl_sf_gamma_inc

Usage

  `Double_Type[] gamma_inc (Double_Type[] a, Double_Type[] x)`

### gamma_inc_P

Synopsis

  S-Lang version of gsl_sf_gamma_inc_P

Usage

  `Double_Type[] gamma_inc_P (Double_Type[] a, Double_Type[] x)`

### gamma_inc_Q

Synopsis

  S-Lang version of gsl_sf_gamma_inc_Q

Usage

  `Double_Type[] gamma_inc_Q (Double_Type[] a, Double_Type[] x)`

### gammainv

Synopsis

  S-Lang version of gsl_sf_gammainv

Usage

  `Double_Type[] gammainv (Double_Type[] x)`

### gammastar

Synopsis

  S-Lang version of gsl_sf_gammastar

Usage

  `Double_Type[] gammastar (Double_Type[] x)`

### lngamma

Synopsis

  S-Lang version of gsl_sf_lngamma

Usage

  `Double_Type[] lngamma (Double_Type[] x)`

## 5.15 Gegenbauer Functions

### gegenpoly_1

Synopsis

  S-Lang version of gsl_sf_gegenpoly_1

Usage

  `Double_Type[] gegenpoly_1 (Double_Type[] lambda, Double_Type[] x)`

### gegenpoly_2

Synopsis

  S-Lang version of gsl_sf_gegenpoly_2

Usage

  `Double_Type[] gegenpoly_2 (Double_Type[] lambda, Double_Type[] x)`

### gegenpoly_3

Synopsis

  S-Lang version of gsl_sf_gegenpoly_3

Usage

  `Double_Type[] gegenpoly_3 (Double_Type[] lambda, Double_Type[] x)`

### gegenpoly_n

Synopsis

  S-Lang version of gsl_sf_gegenpoly_n

Usage

  `Double_Type[] gegenpoly_n (n, lambda, x)`

  > `

  >       Int_Type[] n
  >       Double_Type[] lambda
  >       Double_Type[] x

  > `

## 5.16 Hypergeometric Functions

### hyperg_0F1

Synopsis

  S-Lang version of gsl_sf_hyperg_0F1

Usage

  `Double_Type[] hyperg_0F1 (Double_Type[] c, Double_Type[] x)`

### hyperg_1F1

Synopsis

  S-Lang version of gsl_sf_hyperg_1F1

Usage

  `Double_Type[] hyperg_1F1 (a, b, x)`

  > `

  >       Double_Type[] a
  >       Double_Type[] b
  >       Double_Type[] x

  > `

### hyperg_1F1_int

Synopsis

  S-Lang version of gsl_sf_hyperg_1F1_int

Usage

  `Double_Type[] hyperg_1F1_int (Int_Type[] m, Int_Type[] n, Double_Type[] x)`

### hyperg_2F0

Synopsis

  S-Lang version of gsl_sf_hyperg_2F0

Usage

  `Double_Type[] hyperg_2F0 (a, b, x)`

  > `

  >       Double_Type[] a
  >       Double_Type[] b
  >       Double_Type[] x

  > `

### hyperg_2F1

Synopsis

  S-Lang version of gsl_sf_hyperg_2F1

Usage

  `Double_Type[] hyperg_2F1 (a, b, c, x)`

  > `

  >       Double_Type[] a
  >       Double_Type[] b
  >       Double_Type[] c
  >       Double_Type[] x

  > `

### hyperg_2F1_conj

Synopsis

  S-Lang version of gsl_sf_hyperg_2F1_conj

Usage

  `Double_Type[] hyperg_2F1_conj (aR, aI, c, x)`

  > `

  >       Double_Type[] aR
  >       Double_Type[] aI
  >       Double_Type[] c
  >       Double_Type[] x

  > `

### hyperg_2F1_conj_renorm

Synopsis

  S-Lang version of gsl_sf_hyperg_2F1_conj_renorm

Usage

  `Double_Type[] hyperg_2F1_conj_renorm (aR, aI, c, x)`

  > `

  >       Double_Type[] aR
  >       Double_Type[] aI
  >       Double_Type[] c
  >       Double_Type[] x

  > `

### hyperg_2F1_renorm

Synopsis

  S-Lang version of gsl_sf_hyperg_2F1_renorm

Usage

  `Double_Type[] hyperg_2F1_renorm (a, b, c, x)`

  > `

  >       Double_Type[] a
  >       Double_Type[] b
  >       Double_Type[] c
  >       Double_Type[] x

  > `

### hyperg_U

Synopsis

  S-Lang version of gsl_sf_hyperg_U

Usage

  `Double_Type[] hyperg_U (Double_Type[] a, Double_Type[] b, Double_Type[] x)`

### hyperg_U_int

Synopsis

  S-Lang version of gsl_sf_hyperg_U_int

Usage

  `Double_Type[] hyperg_U_int (Int_Type[] m, Int_Type[] n, Double_Type[] x)`

## 5.17 Laguerre Functions

### laguerre_1

Synopsis

  S-Lang version of gsl_sf_laguerre_1

Usage

  `Double_Type[] laguerre_1 (Double_Type[] a, Double_Type[] x)`

### laguerre_2

Synopsis

  S-Lang version of gsl_sf_laguerre_2

Usage

  `Double_Type[] laguerre_2 (Double_Type[] a, Double_Type[] x)`

### laguerre_3

Synopsis

  S-Lang version of gsl_sf_laguerre_3

Usage

  `Double_Type[] laguerre_3 (Double_Type[] a, Double_Type[] x)`

### laguerre_n

Synopsis

  S-Lang version of gsl_sf_laguerre_n

Usage

  `Double_Type[] laguerre_n (Int_Type[] n, Double_Type[] a, Double_Type[] x)`

## 5.18 Lambert Functions

### lambert_W0

Synopsis

  S-Lang version of gsl_sf_lambert_W0

Usage

  `Double_Type[] lambert_W0 (Double_Type[] x)`

### lambert_Wm1

Synopsis

  S-Lang version of gsl_sf_lambert_Wm1

Usage

  `Double_Type[] lambert_Wm1 (Double_Type[] x)`

## 5.19 Legendre Functions and Spherical Harmonics

### legendre_H3d

Synopsis

  S-Lang version of gsl_sf_legendre_H3d

Usage

  `Double_Type[] legendre_H3d (l, lambda, eta)`

  > `

  >       Int_Type[] l
  >       Double_Type[] lambda
  >       Double_Type[] eta

  > `

### legendre_H3d_0

Synopsis

  S-Lang version of gsl_sf_legendre_H3d_0

Usage

  `Double_Type[] legendre_H3d_0 (Double_Type[] lambda, Double_Type[] eta)`

### legendre_H3d_1

Synopsis

  S-Lang version of gsl_sf_legendre_H3d_1

Usage

  `Double_Type[] legendre_H3d_1 (Double_Type[] lambda, Double_Type[] eta)`

### legendre_P1

Synopsis

  S-Lang version of gsl_sf_legendre_P1

Usage

  `Double_Type[] legendre_P1 (Double_Type[] x)`

### legendre_P2

Synopsis

  S-Lang version of gsl_sf_legendre_P2

Usage

  `Double_Type[] legendre_P2 (Double_Type[] x)`

### legendre_P3

Synopsis

  S-Lang version of gsl_sf_legendre_P3

Usage

  `Double_Type[] legendre_P3 (Double_Type[] x)`

### legendre_Pl

Synopsis

  S-Lang version of gsl_sf_legendre_Pl

Usage

  `Double_Type[] legendre_Pl (Int_Type[] l, Double_Type[] x)`

### legendre_Plm

Synopsis

  S-Lang version of gsl_sf_legendre_Plm

Usage

  `Double_Type[] legendre_Plm (Int_Type[] l, Int_Type[] m, Double_Type[] x)`

### legendre_Q0

Synopsis

  S-Lang version of gsl_sf_legendre_Q0

Usage

  `Double_Type[] legendre_Q0 (Double_Type[] x)`

### legendre_Q1

Synopsis

  S-Lang version of gsl_sf_legendre_Q1

Usage

  `Double_Type[] legendre_Q1 (Double_Type[] x)`

### legendre_Ql

Synopsis

  S-Lang version of gsl_sf_legendre_Ql

Usage

  `Double_Type[] legendre_Ql (Int_Type[] l, Double_Type[] x)`

### legendre_sphPlm

Synopsis

  S-Lang version of gsl_sf_legendre_sphPlm

Usage

  `Double_Type[] legendre_sphPlm (Int_Type[] l, Int_Type[] m, Double_Type[] x)`

## 5.20 Logarithm and Related Functions

### log_1plusx

Synopsis

  S-Lang version of gsl_sf_log_1plusx

Usage

  `Double_Type[] log_1plusx (Double_Type[] x)`

### log_1plusx_mx

Synopsis

  S-Lang version of gsl_sf_log_1plusx_mx

Usage

  `Double_Type[] log_1plusx_mx (Double_Type[] x)`

### log_abs

Synopsis

  S-Lang version of gsl_sf_log_abs

Usage

  `Double_Type[] log_abs (Double_Type[] x)`

## 5.21 Transport Functions

### transport_2

Synopsis

  S-Lang version of gsl_sf_transport_2

Usage

  `Double_Type[] transport_2 (Double_Type[] x)`

### transport_3

Synopsis

  S-Lang version of gsl_sf_transport_3

Usage

  `Double_Type[] transport_3 (Double_Type[] x)`

### transport_4

Synopsis

  S-Lang version of gsl_sf_transport_4

Usage

  `Double_Type[] transport_4 (Double_Type[] x)`

### transport_5

Synopsis

  S-Lang version of gsl_sf_transport_5

Usage

  `Double_Type[] transport_5 (Double_Type[] x)`

## 5.22 Miscellaneous Functions

### angle_restrict_pos

Synopsis

  S-Lang version of gsl_sf_angle_restrict_pos

Usage

  `Double_Type[] angle_restrict_pos (Double_Type[] theta)`

### angle_restrict_symm

Synopsis

  S-Lang version of gsl_sf_angle_restrict_symm

Usage

  `Double_Type[] angle_restrict_symm (Double_Type[] theta)`

### atanint

Synopsis

  S-Lang version of gsl_sf_atanint

Usage

  `Double_Type[] atanint (Double_Type[] x)`

### Chi

Synopsis

  S-Lang version of gsl_sf_Chi

Usage

  `Double_Type[] Chi (Double_Type[] x)`

### Ci

Synopsis

  S-Lang version of gsl_sf_Ci

Usage

  `Double_Type[] Ci (Double_Type[] x)`

### dawson

Synopsis

  S-Lang version of gsl_sf_dawson

Usage

  `Double_Type[] dawson (Double_Type[] x)`

### dilog

Synopsis

  S-Lang version of gsl_sf_dilog

Usage

  `Double_Type[] dilog (Double_Type[] x)`

### hazard

Synopsis

  S-Lang version of gsl_sf_hazard

Usage

  `Double_Type[] hazard (Double_Type[] x)`

### hypot

Synopsis

  S-Lang version of gsl_sf_hypot

Usage

  `Double_Type[] hypot (Double_Type[] x, Double_Type[] y)`

### lncosh

Synopsis

  S-Lang version of gsl_sf_lncosh

Usage

  `Double_Type[] lncosh (Double_Type[] x)`

### lnpoch

Synopsis

  S-Lang version of gsl_sf_lnpoch

Usage

  `Double_Type[] lnpoch (Double_Type[] a, Double_Type[] x)`

### lnsinh

Synopsis

  S-Lang version of gsl_sf_lnsinh

Usage

  `Double_Type[] lnsinh (Double_Type[] x)`

### poch

Synopsis

  S-Lang version of gsl_sf_poch

Usage

  `Double_Type[] poch (Double_Type[] a, Double_Type[] x)`

### pochrel

Synopsis

  S-Lang version of gsl_sf_pochrel

Usage

  `Double_Type[] pochrel (Double_Type[] a, Double_Type[] x)`

### Shi

Synopsis

  S-Lang version of gsl_sf_Shi

Usage

  `Double_Type[] Shi (Double_Type[] x)`

### Si

Synopsis

  S-Lang version of gsl_sf_Si

Usage

  `Double_Type[] Si (Double_Type[] x)`

### sinc

Synopsis

  S-Lang version of gsl_sf_sinc

Usage

  `Double_Type[] sinc (Double_Type[] x)`

### synchrotron_1

Synopsis

  S-Lang version of gsl_sf_synchrotron_1

Usage

  `Double_Type[] synchrotron_1 (Double_Type[] x)`

### synchrotron_2

Synopsis

  S-Lang version of gsl_sf_synchrotron_2

Usage

  `Double_Type[] synchrotron_2 (Double_Type[] x)`

### taylorcoeff

Synopsis

  S-Lang version of gsl_sf_taylorcoeff

Usage

  `Double_Type[] taylorcoeff (Int_Type[] n, Double_Type[] x)`

Next Previous Contents