SciPy

This is documentation for an old release of SciPy (version 0.19.0). Read this page in the documentation of the latest stable release (version 1.15.1).

Cython API for Special Functions

Scalar, typed versions of many of the functions in scipy.special can be accessed directly from Cython; the complete list is given below. Functions are overloaded using Cython fused types so their names match their ufunc counterpart. The module follows the following conventions:

  • If a function’s ufunc counterpart returns multiple values, then the function returns its outputs via pointers in the final arguments
  • If a function’s ufunc counterpart returns a single value, then the function’s output is returned directly.

The module is usable from Cython via:

cimport scipy.special.cython_special

Error Handling

Functions can indicate an error by returning nan; however they cannot emit warnings like their counterparts in scipy.special.

Available Functions

  • airy:

    void airy(double, double *, double *, double *, double *)
    void airy(double complex, double complex *, double complex *, double complex *, double complex *)
    
  • airye:

    void airye(double, double *, double *, double *, double *)
    void airye(double complex, double complex *, double complex *, double complex *, double complex *)
    
  • bdtr:

    double bdtr(long, long, double)
    double bdtr(double, double, double)
    
  • bdtrc:

    double bdtrc(long, long, double)
    double bdtrc(double, double, double)
    
  • bdtri:

    double bdtri(long, long, double)
    double bdtri(double, double, double)
    
  • bdtrik:

    double bdtrik(double, double, double)
    
  • bdtrin:

    double bdtrin(double, double, double)
    
  • bei:

    double bei(double)
    
  • beip:

    double beip(double)
    
  • ber:

    double ber(double)
    
  • berp:

    double berp(double)
    
  • besselpoly:

    double besselpoly(double, double, double)
    
  • beta:

    double beta(double, double)
    
  • betainc:

    double betainc(double, double, double)
    
  • betaincinv:

    double betaincinv(double, double, double)
    
  • betaln:

    double betaln(double, double)
    
  • binom:

    double binom(double, double)
    
  • boxcox:

    double boxcox(double, double)
    
  • boxcox1p:

    double boxcox1p(double, double)
    
  • btdtr:

    double btdtr(double, double, double)
    
  • btdtri:

    double btdtri(double, double, double)
    
  • btdtria:

    double btdtria(double, double, double)
    
  • btdtrib:

    double btdtrib(double, double, double)
    
  • cbrt:

    double cbrt(double)
    
  • chdtr:

    double chdtr(double, double)
    
  • chdtrc:

    double chdtrc(double, double)
    
  • chdtri:

    double chdtri(double, double)
    
  • chdtriv:

    double chdtriv(double, double)
    
  • chndtr:

    double chndtr(double, double, double)
    
  • chndtridf:

    double chndtridf(double, double, double)
    
  • chndtrinc:

    double chndtrinc(double, double, double)
    
  • chndtrix:

    double chndtrix(double, double, double)
    
  • cosdg:

    double cosdg(double)
    
  • cosm1:

    double cosm1(double)
    
  • cotdg:

    double cotdg(double)
    
  • dawsn:

    double dawsn(double)
    double complex dawsn(double complex)
    
  • ellipe:

    double ellipe(double)
    
  • ellipeinc:

    double ellipeinc(double, double)
    
  • ellipj:

    void ellipj(double, double, double *, double *, double *, double *)
    
  • ellipkinc:

    double ellipkinc(double, double)
    
  • ellipkm1:

    double ellipkm1(double)
    
  • entr:

    double entr(double)
    
  • erf:

    double erf(double)
    double complex erf(double complex)
    
  • erfc:

    double erfc(double)
    double complex erfc(double complex)
    
  • erfcx:

    double erfcx(double)
    double complex erfcx(double complex)
    
  • erfi:

    double erfi(double)
    double complex erfi(double complex)
    
  • eval_chebyc:

    double eval_chebyc(double, double)
    double complex eval_chebyc(double, double complex)
    double eval_chebyc(long, double)
    
  • eval_chebys:

    double eval_chebys(double, double)
    double complex eval_chebys(double, double complex)
    double eval_chebys(long, double)
    
  • eval_chebyt:

    double eval_chebyt(double, double)
    double complex eval_chebyt(double, double complex)
    double eval_chebyt(long, double)
    
  • eval_chebyu:

    double eval_chebyu(double, double)
    double complex eval_chebyu(double, double complex)
    double eval_chebyu(long, double)
    
  • eval_gegenbauer:

    double eval_gegenbauer(double, double, double)
    double complex eval_gegenbauer(double, double, double complex)
    double eval_gegenbauer(long, double, double)
    
  • eval_genlaguerre:

    double eval_genlaguerre(double, double, double)
    double complex eval_genlaguerre(double, double, double complex)
    double eval_genlaguerre(long, double, double)
    
  • eval_hermite:

    double eval_hermite(long, double)
    
  • eval_hermitenorm:

    double eval_hermitenorm(long, double)
    
  • eval_jacobi:

    double eval_jacobi(double, double, double, double)
    double complex eval_jacobi(double, double, double, double complex)
    double eval_jacobi(long, double, double, double)
    
  • eval_laguerre:

    double eval_laguerre(double, double)
    double complex eval_laguerre(double, double complex)
    double eval_laguerre(long, double)
    
  • eval_legendre:

    double eval_legendre(double, double)
    double complex eval_legendre(double, double complex)
    double eval_legendre(long, double)
    
  • eval_sh_chebyt:

    double eval_sh_chebyt(double, double)
    double complex eval_sh_chebyt(double, double complex)
    double eval_sh_chebyt(long, double)
    
  • eval_sh_chebyu:

    double eval_sh_chebyu(double, double)
    double complex eval_sh_chebyu(double, double complex)
    double eval_sh_chebyu(long, double)
    
  • eval_sh_jacobi:

    double eval_sh_jacobi(double, double, double, double)
    double complex eval_sh_jacobi(double, double, double, double complex)
    double eval_sh_jacobi(long, double, double, double)
    
  • eval_sh_legendre:

    double eval_sh_legendre(double, double)
    double complex eval_sh_legendre(double, double complex)
    double eval_sh_legendre(long, double)
    
  • exp1:

    double exp1(double)
    double complex exp1(double complex)
    
  • exp10:

    double exp10(double)
    
  • exp2:

    double exp2(double)
    
  • expi:

    double expi(double)
    double complex expi(double complex)
    
  • expit:

    float expit(float)
    double expit(double)
    long double expit(long double)
    
  • expm1:

    double expm1(double)
    double complex expm1(double complex)
    
  • expn:

    double expn(long, double)
    double expn(double, double)
    
  • exprel:

    double exprel(double)
    
  • fdtr:

    double fdtr(double, double, double)
    
  • fdtrc:

    double fdtrc(double, double, double)
    
  • fdtri:

    double fdtri(double, double, double)
    
  • fdtridfd:

    double fdtridfd(double, double, double)
    
  • fresnel:

    void fresnel(double, double *, double *)
    void fresnel(double complex, double complex *, double complex *)
    
  • gamma:

    double gamma(double)
    double complex gamma(double complex)
    
  • gammainc:

    double gammainc(double, double)
    
  • gammaincc:

    double gammaincc(double, double)
    
  • gammainccinv:

    double gammainccinv(double, double)
    
  • gammaincinv:

    double gammaincinv(double, double)
    
  • gammasgn:

    double gammasgn(double)
    
  • gdtr:

    double gdtr(double, double, double)
    
  • gdtrc:

    double gdtrc(double, double, double)
    
  • gdtria:

    double gdtria(double, double, double)
    
  • gdtrib:

    double gdtrib(double, double, double)
    
  • gdtrix:

    double gdtrix(double, double, double)
    
  • hankel1:

    double complex hankel1(double, double complex)
    
  • hankel1e:

    double complex hankel1e(double, double complex)
    
  • hankel2:

    double complex hankel2(double, double complex)
    
  • hankel2e:

    double complex hankel2e(double, double complex)
    
  • huber:

    double huber(double, double)
    
  • hyp0f1:

    double hyp0f1(double, double)
    double complex hyp0f1(double, double complex)
    
  • hyp1f1:

    double hyp1f1(double, double, double)
    double complex hyp1f1(double, double, double complex)
    
  • hyp1f2:

    void hyp1f2(double, double, double, double, double *, double *)
    
  • hyp2f0:

    void hyp2f0(double, double, double, long, double *, double *)
    void hyp2f0(double, double, double, double, double *, double *)
    
  • hyp2f1:

    double hyp2f1(double, double, double, double)
    double complex hyp2f1(double, double, double, double complex)
    
  • hyp3f0:

    void hyp3f0(double, double, double, double, double *, double *)
    
  • hyperu:

    double hyperu(double, double, double)
    
  • i0:

    double i0(double)
    
  • i0e:

    double i0e(double)
    
  • i1:

    double i1(double)
    
  • i1e:

    double i1e(double)
    
  • inv_boxcox:

    double inv_boxcox(double, double)
    
  • inv_boxcox1p:

    double inv_boxcox1p(double, double)
    
  • it2i0k0:

    void it2i0k0(double, double *, double *)
    
  • it2j0y0:

    void it2j0y0(double, double *, double *)
    
  • it2struve0:

    double it2struve0(double)
    
  • itairy:

    void itairy(double, double *, double *, double *, double *)
    
  • iti0k0:

    void iti0k0(double, double *, double *)
    
  • itj0y0:

    void itj0y0(double, double *, double *)
    
  • itmodstruve0:

    double itmodstruve0(double)
    
  • itstruve0:

    double itstruve0(double)
    
  • iv:

    double iv(double, double)
    double complex iv(double, double complex)
    
  • ive:

    double ive(double, double)
    double complex ive(double, double complex)
    
  • j0:

    double j0(double)
    
  • j1:

    double j1(double)
    
  • jv:

    double jv(double, double)
    double complex jv(double, double complex)
    
  • jve:

    double jve(double, double)
    double complex jve(double, double complex)
    
  • k0:

    double k0(double)
    
  • k0e:

    double k0e(double)
    
  • k1:

    double k1(double)
    
  • k1e:

    double k1e(double)
    
  • kei:

    double kei(double)
    
  • keip:

    double keip(double)
    
  • kelvin:

    void kelvin(double, double complex *, double complex *, double complex *, double complex *)
    
  • ker:

    double ker(double)
    
  • kerp:

    double kerp(double)
    
  • kl_div:

    double kl_div(double, double)
    
  • kn:

    double kn(long, double)
    double kn(double, double)
    
  • kolmogi:

    double kolmogi(double)
    
  • kolmogorov:

    double kolmogorov(double)
    
  • kv:

    double kv(double, double)
    double complex kv(double, double complex)
    
  • kve:

    double kve(double, double)
    double complex kve(double, double complex)
    
  • log1p:

    double log1p(double)
    double complex log1p(double complex)
    
  • log_ndtr:

    double log_ndtr(double)
    double complex log_ndtr(double complex)
    
  • loggamma:

    double complex loggamma(double complex)
    
  • logit:

    float logit(float)
    double logit(double)
    long double logit(long double)
    
  • lpmv:

    double lpmv(double, double, double)
    
  • mathieu_a:

    double mathieu_a(double, double)
    
  • mathieu_b:

    double mathieu_b(double, double)
    
  • mathieu_cem:

    void mathieu_cem(double, double, double, double *, double *)
    
  • mathieu_modcem1:

    void mathieu_modcem1(double, double, double, double *, double *)
    
  • mathieu_modcem2:

    void mathieu_modcem2(double, double, double, double *, double *)
    
  • mathieu_modsem1:

    void mathieu_modsem1(double, double, double, double *, double *)
    
  • mathieu_modsem2:

    void mathieu_modsem2(double, double, double, double *, double *)
    
  • mathieu_sem:

    void mathieu_sem(double, double, double, double *, double *)
    
  • modfresnelm:

    void modfresnelm(double, double complex *, double complex *)
    
  • modfresnelp:

    void modfresnelp(double, double complex *, double complex *)
    
  • modstruve:

    double modstruve(double, double)
    
  • nbdtr:

    double nbdtr(long, long, double)
    double nbdtr(double, double, double)
    
  • nbdtrc:

    double nbdtrc(long, long, double)
    double nbdtrc(double, double, double)
    
  • nbdtri:

    double nbdtri(long, long, double)
    double nbdtri(double, double, double)
    
  • nbdtrik:

    double nbdtrik(double, double, double)
    
  • nbdtrin:

    double nbdtrin(double, double, double)
    
  • ncfdtr:

    double ncfdtr(double, double, double, double)
    
  • ncfdtri:

    double ncfdtri(double, double, double, double)
    
  • ncfdtridfd:

    double ncfdtridfd(double, double, double, double)
    
  • ncfdtridfn:

    double ncfdtridfn(double, double, double, double)
    
  • ncfdtrinc:

    double ncfdtrinc(double, double, double, double)
    
  • nctdtr:

    double nctdtr(double, double, double)
    
  • nctdtridf:

    double nctdtridf(double, double, double)
    
  • nctdtrinc:

    double nctdtrinc(double, double, double)
    
  • nctdtrit:

    double nctdtrit(double, double, double)
    
  • ndtr:

    double ndtr(double)
    double complex ndtr(double complex)
    
  • ndtri:

    double ndtri(double)
    
  • nrdtrimn:

    double nrdtrimn(double, double, double)
    
  • nrdtrisd:

    double nrdtrisd(double, double, double)
    
  • obl_ang1:

    void obl_ang1(double, double, double, double, double *, double *)
    
  • obl_ang1_cv:

    void obl_ang1_cv(double, double, double, double, double, double *, double *)
    
  • obl_cv:

    double obl_cv(double, double, double)
    
  • obl_rad1:

    void obl_rad1(double, double, double, double, double *, double *)
    
  • obl_rad1_cv:

    void obl_rad1_cv(double, double, double, double, double, double *, double *)
    
  • obl_rad2:

    void obl_rad2(double, double, double, double, double *, double *)
    
  • obl_rad2_cv:

    void obl_rad2_cv(double, double, double, double, double, double *, double *)
    
  • pbdv:

    void pbdv(double, double, double *, double *)
    
  • pbvv:

    void pbvv(double, double, double *, double *)
    
  • pbwa:

    void pbwa(double, double, double *, double *)
    
  • pdtr:

    double pdtr(long, double)
    double pdtr(double, double)
    
  • pdtrc:

    double pdtrc(long, double)
    double pdtrc(double, double)
    
  • pdtri:

    double pdtri(long, double)
    double pdtri(double, double)
    
  • pdtrik:

    double pdtrik(double, double)
    
  • poch:

    double poch(double, double)
    
  • pro_ang1:

    void pro_ang1(double, double, double, double, double *, double *)
    
  • pro_ang1_cv:

    void pro_ang1_cv(double, double, double, double, double, double *, double *)
    
  • pro_cv:

    double pro_cv(double, double, double)
    
  • pro_rad1:

    void pro_rad1(double, double, double, double, double *, double *)
    
  • pro_rad1_cv:

    void pro_rad1_cv(double, double, double, double, double, double *, double *)
    
  • pro_rad2:

    void pro_rad2(double, double, double, double, double *, double *)
    
  • pro_rad2_cv:

    void pro_rad2_cv(double, double, double, double, double, double *, double *)
    
  • pseudo_huber:

    double pseudo_huber(double, double)
    
  • psi:

    double psi(double)
    double complex psi(double complex)
    
  • radian:

    double radian(double, double, double)
    
  • rel_entr:

    double rel_entr(double, double)
    
  • rgamma:

    double rgamma(double)
    double complex rgamma(double complex)
    
  • round:

    double round(double)
    
  • shichi:

    void shichi(double, double *, double *)
    void shichi(double complex, double complex *, double complex *)
    
  • sici:

    void sici(double, double *, double *)
    void sici(double complex, double complex *, double complex *)
    
  • sindg:

    double sindg(double)
    
  • smirnov:

    double smirnov(long, double)
    double smirnov(double, double)
    
  • smirnovi:

    double smirnovi(long, double)
    double smirnovi(double, double)
    
  • spence:

    double spence(double)
    double complex spence(double complex)
    
  • sph_harm:

    double complex sph_harm(long, long, double, double)
    double complex sph_harm(double, double, double, double)
    
  • stdtr:

    double stdtr(double, double)
    
  • stdtridf:

    double stdtridf(double, double)
    
  • stdtrit:

    double stdtrit(double, double)
    
  • struve:

    double struve(double, double)
    
  • tandg:

    double tandg(double)
    
  • tklmbda:

    double tklmbda(double, double)
    
  • wofz:

    double complex wofz(double complex)
    
  • wrightomega:

    double complex wrightomega(double complex)
    
  • xlog1py:

    double xlog1py(double, double)
    double complex xlog1py(double complex, double complex)
    
  • xlogy:

    double xlogy(double, double)
    double complex xlogy(double complex, double complex)
    
  • y0:

    double y0(double)
    
  • y1:

    double y1(double)
    
  • yn:

    double yn(long, double)
    double yn(double, double)
    
  • yv:

    double yv(double, double)
    double complex yv(double, double complex)
    
  • yve:

    double yve(double, double)
    double complex yve(double, double complex)
    
  • zetac:

    double zetac(double)