用于特殊功能的Cython API¶
中许多函数的标量、类型化版本 scipy.special
可以直接从Cython访问;完整列表如下所示。函数使用Cython融合类型进行重载,因此它们的名称与Python对应物相匹配。本模块遵循以下约定:
如果函数的Python对等项返回多个值,则该函数通过最终参数中的指针返回其输出。
如果函数的Python对等项返回单个值,则直接返回函数的输出。
该模块可通过以下方式从Cython使用:
cimport scipy.special.cython_special
错误处理¶
函数可以通过返回 nan
;但是,它们不能像 scipy.special
。
可用功能¶
-
double voigt_profile(double, double, double)
agm
::double agm(double, double)
airy
::void airy(double, double *, double *, double *, double *) void airy(double complex, double complex *, double complex *, double complex *, double complex *)
airye
::void airye(double complex, double complex *, double complex *, double complex *, double complex *) void airye(double, double *, double *, double *, double *)
bdtr
::double bdtr(double, double, double) double bdtr(double, long, double)
bdtrc
::double bdtrc(double, double, double) double bdtrc(double, long, double)
bdtri
::double bdtri(double, double, double) double bdtri(double, long, 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)
ellipk
::double ellipk(double)
entr
::double entr(double)
erf
::double complex erf(double complex) double erf(double)
erfc
::double complex erfc(double complex) double erfc(double)
erfcx
::double erfcx(double) double complex erfcx(double complex)
erfi
::double erfi(double) double complex erfi(double complex)
erfinv
::double erfinv(double)
erfcinv
::double erfcinv(double)
eval_chebyc
::double complex eval_chebyc(double, double complex) double eval_chebyc(double, double) double eval_chebyc(long, double)
eval_chebys
::double complex eval_chebys(double, double complex) double eval_chebys(double, double) double eval_chebys(long, double)
eval_chebyt
::double complex eval_chebyt(double, double complex) double eval_chebyt(double, double) double eval_chebyt(long, double)
eval_chebyu
::double complex eval_chebyu(double, double complex) double eval_chebyu(double, double) double eval_chebyu(long, double)
-
double complex eval_gegenbauer(double, double, double complex) double eval_gegenbauer(double, double, double) double eval_gegenbauer(long, double, double)
-
double complex eval_genlaguerre(double, double, double complex) double eval_genlaguerre(double, double, double) double eval_genlaguerre(long, double, double)
eval_hermite
::double eval_hermite(long, double)
-
double eval_hermitenorm(long, double)
eval_jacobi
::double complex eval_jacobi(double, double, double, double complex) double eval_jacobi(double, double, double, double) double eval_jacobi(long, double, double, double)
-
double complex eval_laguerre(double, double complex) double eval_laguerre(double, double) double eval_laguerre(long, double)
-
double complex eval_legendre(double, double complex) double eval_legendre(double, double) double eval_legendre(long, double)
-
double complex eval_sh_chebyt(double, double complex) double eval_sh_chebyt(double, double) double eval_sh_chebyt(long, double)
-
double complex eval_sh_chebyu(double, double complex) double eval_sh_chebyu(double, double) double eval_sh_chebyu(long, double)
-
double complex eval_sh_jacobi(double, double, double, double complex) double eval_sh_jacobi(double, double, double, double) double eval_sh_jacobi(long, double, double, double)
-
double complex eval_sh_legendre(double, double complex) double eval_sh_legendre(double, double) double eval_sh_legendre(long, double)
exp1
::double complex exp1(double complex) double exp1(double)
exp10
::double exp10(double)
exp2
::double exp2(double)
expi
::double complex expi(double complex) double expi(double)
expit
::double expit(double) float expit(float) long double expit(long double)
expm1
::double complex expm1(double complex) double expm1(double)
expn
::double expn(double, double) double expn(long, 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 complex gamma(double complex) double gamma(double)
gammainc
::double gammainc(double, double)
gammaincc
::double gammaincc(double, double)
gammainccinv
::double gammainccinv(double, double)
gammaincinv
::double gammaincinv(double, double)
gammaln
::double gammaln(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 complex hyp0f1(double, double complex) double hyp0f1(double, double)
hyp1f1
::double hyp1f1(double, double, double) double complex hyp1f1(double, double, double complex)
hyp2f1
::double hyp2f1(double, double, double, double) double complex hyp2f1(double, double, double, double complex)
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 complex iv(double, double complex) double iv(double, double)
ive
::double complex ive(double, double complex) double ive(double, double)
j0
::double j0(double)
j1
::double j1(double)
jv
::double complex jv(double, double complex) double jv(double, double)
jve
::double complex jve(double, double complex) double jve(double, double)
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(double, double) double kn(long, double)
kolmogi
::double kolmogi(double)
kolmogorov
::double kolmogorov(double)
kv
::double complex kv(double, double complex) double kv(double, double)
kve
::double complex kve(double, double complex) double kve(double, double)
log1p
::double complex log1p(double complex) double log1p(double)
log_ndtr
::double complex log_ndtr(double complex) double log_ndtr(double)
loggamma
::double loggamma(double) double complex loggamma(double complex)
logit
::double logit(double) float logit(float) 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 *)
-
void mathieu_modcem1(double, double, double, double *, double *)
-
void mathieu_modcem2(double, double, double, double *, double *)
-
void mathieu_modsem1(double, double, double, double *, double *)
-
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(double, double, double) double nbdtr(long, long, double)
nbdtrc
::double nbdtrc(double, double, double) double nbdtrc(long, long, double)
nbdtri
::double nbdtri(double, double, double) double nbdtri(long, long, 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 complex ndtr(double complex) double ndtr(double)
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 *)
owens_t
::double owens_t(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(double, double)
pdtrc
::double pdtrc(double, double)
pdtri
::double pdtri(double, double) double pdtri(long, 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 complex psi(double complex) double psi(double)
radian
::double radian(double, double, double)
rel_entr
::double rel_entr(double, double)
rgamma
::double complex rgamma(double complex) double rgamma(double)
round
::double round(double)
shichi
::void shichi(double complex, double complex *, double complex *) void shichi(double, double *, double *)
sici
::void sici(double complex, double complex *, double complex *) void sici(double, double *, double *)
sindg
::double sindg(double)
smirnov
::double smirnov(double, double) double smirnov(long, double)
smirnovi
::double smirnovi(double, double) double smirnovi(long, double)
spence
::double complex spence(double complex) double spence(double)
sph_harm
::double complex sph_harm(double, double, double, double) double complex sph_harm(long, long, 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) double wrightomega(double)
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(double, double) double yn(long, double)
yv
::double complex yv(double, double complex) double yv(double, double)
yve
::double complex yve(double, double complex) double yve(double, double)
zetac
::double zetac(double)
-
double wright_bessel(double, double, double)
ndtri_exp
::double ndtri_exp(double)
自定义函数¶
中的一些函数 scipy.special
它们不是具有自定义Cython包装器的ufuncs。
球面贝塞尔函数¶
可选的 derivative
布尔参数替换为可选的Cython bint
,导致以下签名。
spherical_jn
::double complex spherical_jn(long, double complex) double complex spherical_jn(long, double complex, bint) double spherical_jn(long, double) double spherical_jn(long, double, bint)
spherical_yn
::double complex spherical_yn(long, double complex) double complex spherical_yn(long, double complex, bint) double spherical_yn(long, double) double spherical_yn(long, double, bint)
spherical_in
::double complex spherical_in(long, double complex) double complex spherical_in(long, double complex, bint) double spherical_in(long, double) double spherical_in(long, double, bint)
spherical_kn
::double complex spherical_kn(long, double complex) double complex spherical_kn(long, double complex, bint) double spherical_kn(long, double) double spherical_kn(long, double, bint)