| """ |
| ======================================== |
| Special functions (:mod:`scipy.special`) |
| ======================================== |
| |
| .. currentmodule:: scipy.special |
| |
| Almost all of the functions below accept NumPy arrays as input |
| arguments as well as single numbers. This means they follow |
| broadcasting and automatic array-looping rules. Technically, |
| they are `NumPy universal functions |
| <https://numpy.org/doc/stable/user/basics.ufuncs.html#ufuncs-basics>`_. |
| Functions which do not accept NumPy arrays are marked by a warning |
| in the section description. |
| |
| .. seealso:: |
| |
| `scipy.special.cython_special` -- Typed Cython versions of special functions |
| |
| |
| Error handling |
| ============== |
| |
| Errors are handled by returning NaNs or other appropriate values. |
| Some of the special function routines can emit warnings or raise |
| exceptions when an error occurs. By default this is disabled, except |
| for memory allocation errors, which result in an exception being raised. |
| To query and control the current error handling state the following |
| functions are provided. |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| geterr -- Get the current way of handling special-function errors. |
| seterr -- Set how special-function errors are handled. |
| errstate -- Context manager for special-function error handling. |
| SpecialFunctionWarning -- Warning that can be emitted by special functions. |
| SpecialFunctionError -- Exception that can be raised by special functions. |
| |
| Available functions |
| =================== |
| |
| Airy functions |
| -------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| airy -- Airy functions and their derivatives. |
| airye -- Exponentially scaled Airy functions and their derivatives. |
| ai_zeros -- Compute `nt` zeros and values of the Airy function Ai and its derivative. |
| bi_zeros -- Compute `nt` zeros and values of the Airy function Bi and its derivative. |
| itairy -- Integrals of Airy functions |
| |
| |
| Elliptic functions and integrals |
| -------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| ellipj -- Jacobian elliptic functions. |
| ellipk -- Complete elliptic integral of the first kind. |
| ellipkm1 -- Complete elliptic integral of the first kind around `m` = 1. |
| ellipkinc -- Incomplete elliptic integral of the first kind. |
| ellipe -- Complete elliptic integral of the second kind. |
| ellipeinc -- Incomplete elliptic integral of the second kind. |
| elliprc -- Degenerate symmetric integral RC. |
| elliprd -- Symmetric elliptic integral of the second kind. |
| elliprf -- Completely-symmetric elliptic integral of the first kind. |
| elliprg -- Completely-symmetric elliptic integral of the second kind. |
| elliprj -- Symmetric elliptic integral of the third kind. |
| |
| Bessel functions |
| ---------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| jv -- Bessel function of the first kind of real order and \ |
| complex argument. |
| jve -- Exponentially scaled Bessel function of order `v`. |
| yn -- Bessel function of the second kind of integer order and \ |
| real argument. |
| yv -- Bessel function of the second kind of real order and \ |
| complex argument. |
| yve -- Exponentially scaled Bessel function of the second kind \ |
| of real order. |
| kn -- Modified Bessel function of the second kind of integer \ |
| order `n` |
| kv -- Modified Bessel function of the second kind of real order \ |
| `v` |
| kve -- Exponentially scaled modified Bessel function of the \ |
| second kind. |
| iv -- Modified Bessel function of the first kind of real order. |
| ive -- Exponentially scaled modified Bessel function of the \ |
| first kind. |
| hankel1 -- Hankel function of the first kind. |
| hankel1e -- Exponentially scaled Hankel function of the first kind. |
| hankel2 -- Hankel function of the second kind. |
| hankel2e -- Exponentially scaled Hankel function of the second kind. |
| wright_bessel -- Wright's generalized Bessel function. |
| log_wright_bessel -- Logarithm of Wright's generalized Bessel function. |
| |
| The following function does not accept NumPy arrays (it is not a |
| universal function): |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| lmbda -- Jahnke-Emden Lambda function, Lambdav(x). |
| |
| Zeros of Bessel functions |
| ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| The following functions do not accept NumPy arrays (they are not |
| universal functions): |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| jnjnp_zeros -- Compute zeros of integer-order Bessel functions Jn and Jn'. |
| jnyn_zeros -- Compute nt zeros of Bessel functions Jn(x), Jn'(x), Yn(x), and Yn'(x). |
| jn_zeros -- Compute zeros of integer-order Bessel function Jn(x). |
| jnp_zeros -- Compute zeros of integer-order Bessel function derivative Jn'(x). |
| yn_zeros -- Compute zeros of integer-order Bessel function Yn(x). |
| ynp_zeros -- Compute zeros of integer-order Bessel function derivative Yn'(x). |
| y0_zeros -- Compute nt zeros of Bessel function Y0(z), and derivative at each zero. |
| y1_zeros -- Compute nt zeros of Bessel function Y1(z), and derivative at each zero. |
| y1p_zeros -- Compute nt zeros of Bessel derivative Y1'(z), and value at each zero. |
| |
| Faster versions of common Bessel functions |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| j0 -- Bessel function of the first kind of order 0. |
| j1 -- Bessel function of the first kind of order 1. |
| y0 -- Bessel function of the second kind of order 0. |
| y1 -- Bessel function of the second kind of order 1. |
| i0 -- Modified Bessel function of order 0. |
| i0e -- Exponentially scaled modified Bessel function of order 0. |
| i1 -- Modified Bessel function of order 1. |
| i1e -- Exponentially scaled modified Bessel function of order 1. |
| k0 -- Modified Bessel function of the second kind of order 0, :math:`K_0`. |
| k0e -- Exponentially scaled modified Bessel function K of order 0 |
| k1 -- Modified Bessel function of the second kind of order 1, :math:`K_1(x)`. |
| k1e -- Exponentially scaled modified Bessel function K of order 1. |
| |
| Integrals of Bessel functions |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| itj0y0 -- Integrals of Bessel functions of order 0. |
| it2j0y0 -- Integrals related to Bessel functions of order 0. |
| iti0k0 -- Integrals of modified Bessel functions of order 0. |
| it2i0k0 -- Integrals related to modified Bessel functions of order 0. |
| besselpoly -- Weighted integral of a Bessel function. |
| |
| Derivatives of Bessel functions |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| jvp -- Compute nth derivative of Bessel function Jv(z) with respect to `z`. |
| yvp -- Compute nth derivative of Bessel function Yv(z) with respect to `z`. |
| kvp -- Compute nth derivative of real-order modified Bessel function Kv(z) |
| ivp -- Compute nth derivative of modified Bessel function Iv(z) with respect to `z`. |
| h1vp -- Compute nth derivative of Hankel function H1v(z) with respect to `z`. |
| h2vp -- Compute nth derivative of Hankel function H2v(z) with respect to `z`. |
| |
| Spherical Bessel functions |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| spherical_jn -- Spherical Bessel function of the first kind or its derivative. |
| spherical_yn -- Spherical Bessel function of the second kind or its derivative. |
| spherical_in -- Modified spherical Bessel function of the first kind or its derivative. |
| spherical_kn -- Modified spherical Bessel function of the second kind or its derivative. |
| |
| Riccati-Bessel functions |
| ^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| The following functions do not accept NumPy arrays (they are not |
| universal functions): |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| riccati_jn -- Compute Ricatti-Bessel function of the first kind and its derivative. |
| riccati_yn -- Compute Ricatti-Bessel function of the second kind and its derivative. |
| |
| Struve functions |
| ---------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| struve -- Struve function. |
| modstruve -- Modified Struve function. |
| itstruve0 -- Integral of the Struve function of order 0. |
| it2struve0 -- Integral related to the Struve function of order 0. |
| itmodstruve0 -- Integral of the modified Struve function of order 0. |
| |
| |
| Raw statistical functions |
| ------------------------- |
| |
| .. seealso:: :mod:`scipy.stats`: Friendly versions of these functions. |
| |
| Binomial distribution |
| ^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| bdtr -- Binomial distribution cumulative distribution function. |
| bdtrc -- Binomial distribution survival function. |
| bdtri -- Inverse function to `bdtr` with respect to `p`. |
| bdtrik -- Inverse function to `bdtr` with respect to `k`. |
| bdtrin -- Inverse function to `bdtr` with respect to `n`. |
| |
| Beta distribution |
| ^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| btdtria -- Inverse of `betainc` with respect to `a`. |
| btdtrib -- Inverse of `betainc` with respect to `b`. |
| |
| F distribution |
| ^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| fdtr -- F cumulative distribution function. |
| fdtrc -- F survival function. |
| fdtri -- The `p`-th quantile of the F-distribution. |
| fdtridfd -- Inverse to `fdtr` vs dfd. |
| |
| Gamma distribution |
| ^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| gdtr -- Gamma distribution cumulative distribution function. |
| gdtrc -- Gamma distribution survival function. |
| gdtria -- Inverse of `gdtr` vs a. |
| gdtrib -- Inverse of `gdtr` vs b. |
| gdtrix -- Inverse of `gdtr` vs x. |
| |
| Negative binomial distribution |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| nbdtr -- Negative binomial cumulative distribution function. |
| nbdtrc -- Negative binomial survival function. |
| nbdtri -- Inverse of `nbdtr` vs `p`. |
| nbdtrik -- Inverse of `nbdtr` vs `k`. |
| nbdtrin -- Inverse of `nbdtr` vs `n`. |
| |
| Noncentral F distribution |
| ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| ncfdtr -- Cumulative distribution function of the non-central F distribution. |
| ncfdtridfd -- Calculate degrees of freedom (denominator) for the noncentral F-distribution. |
| ncfdtridfn -- Calculate degrees of freedom (numerator) for the noncentral F-distribution. |
| ncfdtri -- Inverse cumulative distribution function of the non-central F distribution. |
| ncfdtrinc -- Calculate non-centrality parameter for non-central F distribution. |
| |
| Noncentral t distribution |
| ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| nctdtr -- Cumulative distribution function of the non-central `t` distribution. |
| nctdtridf -- Calculate degrees of freedom for non-central t distribution. |
| nctdtrit -- Inverse cumulative distribution function of the non-central t distribution. |
| nctdtrinc -- Calculate non-centrality parameter for non-central t distribution. |
| |
| Normal distribution |
| ^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| nrdtrimn -- Calculate mean of normal distribution given other params. |
| nrdtrisd -- Calculate standard deviation of normal distribution given other params. |
| ndtr -- Normal cumulative distribution function. |
| log_ndtr -- Logarithm of normal cumulative distribution function. |
| ndtri -- Inverse of `ndtr` vs x. |
| ndtri_exp -- Inverse of `log_ndtr` vs x. |
| |
| Poisson distribution |
| ^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| pdtr -- Poisson cumulative distribution function. |
| pdtrc -- Poisson survival function. |
| pdtri -- Inverse to `pdtr` vs m. |
| pdtrik -- Inverse to `pdtr` vs k. |
| |
| Student t distribution |
| ^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| stdtr -- Student t distribution cumulative distribution function. |
| stdtridf -- Inverse of `stdtr` vs df. |
| stdtrit -- Inverse of `stdtr` vs `t`. |
| |
| Chi square distribution |
| ^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| chdtr -- Chi square cumulative distribution function. |
| chdtrc -- Chi square survival function. |
| chdtri -- Inverse to `chdtrc`. |
| chdtriv -- Inverse to `chdtr` vs `v`. |
| |
| Non-central chi square distribution |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| chndtr -- Non-central chi square cumulative distribution function. |
| chndtridf -- Inverse to `chndtr` vs `df`. |
| chndtrinc -- Inverse to `chndtr` vs `nc`. |
| chndtrix -- Inverse to `chndtr` vs `x`. |
| |
| Kolmogorov distribution |
| ^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| smirnov -- Kolmogorov-Smirnov complementary cumulative distribution function. |
| smirnovi -- Inverse to `smirnov`. |
| kolmogorov -- Complementary cumulative distribution function of Kolmogorov distribution. |
| kolmogi -- Inverse function to `kolmogorov`. |
| |
| Box-Cox transformation |
| ^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| boxcox -- Compute the Box-Cox transformation. |
| boxcox1p -- Compute the Box-Cox transformation of 1 + `x`. |
| inv_boxcox -- Compute the inverse of the Box-Cox transformation. |
| inv_boxcox1p -- Compute the inverse of the Box-Cox transformation. |
| |
| |
| Sigmoidal functions |
| ^^^^^^^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| logit -- Logit ufunc for ndarrays. |
| expit -- Logistic sigmoid function. |
| log_expit -- Logarithm of the logistic sigmoid function. |
| |
| Miscellaneous |
| ^^^^^^^^^^^^^ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| tklmbda -- Tukey-Lambda cumulative distribution function. |
| owens_t -- Owen's T Function. |
| |
| |
| Information Theory functions |
| ---------------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| entr -- Elementwise function for computing entropy. |
| rel_entr -- Elementwise function for computing relative entropy. |
| kl_div -- Elementwise function for computing Kullback-Leibler divergence. |
| huber -- Huber loss function. |
| pseudo_huber -- Pseudo-Huber loss function. |
| |
| |
| Gamma and related functions |
| --------------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| gamma -- Gamma function. |
| gammaln -- Logarithm of the absolute value of the Gamma function for real inputs. |
| loggamma -- Principal branch of the logarithm of the Gamma function. |
| gammasgn -- Sign of the gamma function. |
| gammainc -- Regularized lower incomplete gamma function. |
| gammaincinv -- Inverse to `gammainc`. |
| gammaincc -- Regularized upper incomplete gamma function. |
| gammainccinv -- Inverse to `gammaincc`. |
| beta -- Beta function. |
| betaln -- Natural logarithm of absolute value of beta function. |
| betainc -- Incomplete beta integral. |
| betaincc -- Complemented incomplete beta integral. |
| betaincinv -- Inverse function to beta integral. |
| betainccinv -- Inverse of the complemented incomplete beta integral. |
| psi -- The digamma function. |
| rgamma -- Gamma function inverted. |
| polygamma -- Polygamma function n. |
| multigammaln -- Returns the log of multivariate gamma, also sometimes called the generalized gamma. |
| digamma -- psi(x[, out]). |
| poch -- Rising factorial (z)_m. |
| |
| Error function and Fresnel integrals |
| ------------------------------------ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| erf -- Returns the error function of complex argument. |
| erfc -- Complementary error function, ``1 - erf(x)``. |
| erfcx -- Scaled complementary error function, ``exp(x**2) * erfc(x)``. |
| erfi -- Imaginary error function, ``-i erf(i z)``. |
| erfinv -- Inverse function for erf. |
| erfcinv -- Inverse function for erfc. |
| wofz -- Faddeeva function. |
| dawsn -- Dawson's integral. |
| fresnel -- Fresnel sin and cos integrals. |
| fresnel_zeros -- Compute nt complex zeros of sine and cosine Fresnel integrals S(z) and C(z). |
| modfresnelp -- Modified Fresnel positive integrals. |
| modfresnelm -- Modified Fresnel negative integrals. |
| voigt_profile -- Voigt profile. |
| |
| The following functions do not accept NumPy arrays (they are not |
| universal functions): |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| erf_zeros -- Compute nt complex zeros of error function erf(z). |
| fresnelc_zeros -- Compute nt complex zeros of cosine Fresnel integral C(z). |
| fresnels_zeros -- Compute nt complex zeros of sine Fresnel integral S(z). |
| |
| Legendre functions |
| ------------------ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| legendre_p -- Legendre polynomials of the first kind. |
| legendre_p_all -- All Legendre polynomials of the first kind up to a specified order. |
| assoc_legendre_p -- Associated Legendre polynomials of the first kind. |
| assoc_legendre_p_all -- All associated Legendre polynomials of the first kind up to a specified order and degree. |
| sph_legendre_p -- Spherical Legendre polynomials of the first kind. |
| sph_legendre_p_all -- All spherical Legendre polynomials of the first kind up to a specified order and degree. |
| sph_harm_y -- Spherical harmonics. |
| sph_harm_y_all -- All spherical harmonics up to a specified order and degree. |
| |
| The following functions are in the process of being deprecated in favor of the above, |
| which provide a more flexible and consistent interface. |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| lpmv -- Associated Legendre function of integer order and real degree. |
| sph_harm -- Compute spherical harmonics. |
| clpmn -- Associated Legendre function of the first kind for complex arguments. |
| lpn -- Legendre function of the first kind. |
| lqn -- Legendre function of the second kind. |
| lpmn -- Sequence of associated Legendre functions of the first kind. |
| lqmn -- Sequence of associated Legendre functions of the second kind. |
| |
| Ellipsoidal harmonics |
| --------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| ellip_harm -- Ellipsoidal harmonic functions E^p_n(l). |
| ellip_harm_2 -- Ellipsoidal harmonic functions F^p_n(l). |
| ellip_normal -- Ellipsoidal harmonic normalization constants gamma^p_n. |
| |
| Orthogonal polynomials |
| ---------------------- |
| |
| The following functions evaluate values of orthogonal polynomials: |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| assoc_laguerre -- Compute the generalized (associated) Laguerre polynomial of degree n and order k. |
| eval_legendre -- Evaluate Legendre polynomial at a point. |
| eval_chebyt -- Evaluate Chebyshev polynomial of the first kind at a point. |
| eval_chebyu -- Evaluate Chebyshev polynomial of the second kind at a point. |
| eval_chebyc -- Evaluate Chebyshev polynomial of the first kind on [-2, 2] at a point. |
| eval_chebys -- Evaluate Chebyshev polynomial of the second kind on [-2, 2] at a point. |
| eval_jacobi -- Evaluate Jacobi polynomial at a point. |
| eval_laguerre -- Evaluate Laguerre polynomial at a point. |
| eval_genlaguerre -- Evaluate generalized Laguerre polynomial at a point. |
| eval_hermite -- Evaluate physicist's Hermite polynomial at a point. |
| eval_hermitenorm -- Evaluate probabilist's (normalized) Hermite polynomial at a point. |
| eval_gegenbauer -- Evaluate Gegenbauer polynomial at a point. |
| eval_sh_legendre -- Evaluate shifted Legendre polynomial at a point. |
| eval_sh_chebyt -- Evaluate shifted Chebyshev polynomial of the first kind at a point. |
| eval_sh_chebyu -- Evaluate shifted Chebyshev polynomial of the second kind at a point. |
| eval_sh_jacobi -- Evaluate shifted Jacobi polynomial at a point. |
| |
| The following functions compute roots and quadrature weights for |
| orthogonal polynomials: |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| roots_legendre -- Gauss-Legendre quadrature. |
| roots_chebyt -- Gauss-Chebyshev (first kind) quadrature. |
| roots_chebyu -- Gauss-Chebyshev (second kind) quadrature. |
| roots_chebyc -- Gauss-Chebyshev (first kind) quadrature. |
| roots_chebys -- Gauss-Chebyshev (second kind) quadrature. |
| roots_jacobi -- Gauss-Jacobi quadrature. |
| roots_laguerre -- Gauss-Laguerre quadrature. |
| roots_genlaguerre -- Gauss-generalized Laguerre quadrature. |
| roots_hermite -- Gauss-Hermite (physicist's) quadrature. |
| roots_hermitenorm -- Gauss-Hermite (statistician's) quadrature. |
| roots_gegenbauer -- Gauss-Gegenbauer quadrature. |
| roots_sh_legendre -- Gauss-Legendre (shifted) quadrature. |
| roots_sh_chebyt -- Gauss-Chebyshev (first kind, shifted) quadrature. |
| roots_sh_chebyu -- Gauss-Chebyshev (second kind, shifted) quadrature. |
| roots_sh_jacobi -- Gauss-Jacobi (shifted) quadrature. |
| |
| The functions below, in turn, return the polynomial coefficients in |
| ``orthopoly1d`` objects, which function similarly as `numpy.poly1d`. |
| The ``orthopoly1d`` class also has an attribute ``weights``, which returns |
| the roots, weights, and total weights for the appropriate form of Gaussian |
| quadrature. These are returned in an ``n x 3`` array with roots in the first |
| column, weights in the second column, and total weights in the final column. |
| Note that ``orthopoly1d`` objects are converted to `~numpy.poly1d` when doing |
| arithmetic, and lose information of the original orthogonal polynomial. |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| legendre -- Legendre polynomial. |
| chebyt -- Chebyshev polynomial of the first kind. |
| chebyu -- Chebyshev polynomial of the second kind. |
| chebyc -- Chebyshev polynomial of the first kind on :math:`[-2, 2]`. |
| chebys -- Chebyshev polynomial of the second kind on :math:`[-2, 2]`. |
| jacobi -- Jacobi polynomial. |
| laguerre -- Laguerre polynomial. |
| genlaguerre -- Generalized (associated) Laguerre polynomial. |
| hermite -- Physicist's Hermite polynomial. |
| hermitenorm -- Normalized (probabilist's) Hermite polynomial. |
| gegenbauer -- Gegenbauer (ultraspherical) polynomial. |
| sh_legendre -- Shifted Legendre polynomial. |
| sh_chebyt -- Shifted Chebyshev polynomial of the first kind. |
| sh_chebyu -- Shifted Chebyshev polynomial of the second kind. |
| sh_jacobi -- Shifted Jacobi polynomial. |
| |
| .. warning:: |
| |
| Computing values of high-order polynomials (around ``order > 20``) using |
| polynomial coefficients is numerically unstable. To evaluate polynomial |
| values, the ``eval_*`` functions should be used instead. |
| |
| |
| Hypergeometric functions |
| ------------------------ |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| hyp2f1 -- Gauss hypergeometric function 2F1(a, b; c; z). |
| hyp1f1 -- Confluent hypergeometric function 1F1(a, b; x). |
| hyperu -- Confluent hypergeometric function U(a, b, x) of the second kind. |
| hyp0f1 -- Confluent hypergeometric limit function 0F1. |
| |
| |
| Parabolic cylinder functions |
| ---------------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| pbdv -- Parabolic cylinder function D. |
| pbvv -- Parabolic cylinder function V. |
| pbwa -- Parabolic cylinder function W. |
| |
| The following functions do not accept NumPy arrays (they are not |
| universal functions): |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| pbdv_seq -- Parabolic cylinder functions Dv(x) and derivatives. |
| pbvv_seq -- Parabolic cylinder functions Vv(x) and derivatives. |
| pbdn_seq -- Parabolic cylinder functions Dn(z) and derivatives. |
| |
| Mathieu and related functions |
| ----------------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| mathieu_a -- Characteristic value of even Mathieu functions. |
| mathieu_b -- Characteristic value of odd Mathieu functions. |
| |
| The following functions do not accept NumPy arrays (they are not |
| universal functions): |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| mathieu_even_coef -- Fourier coefficients for even Mathieu and modified Mathieu functions. |
| mathieu_odd_coef -- Fourier coefficients for even Mathieu and modified Mathieu functions. |
| |
| The following return both function and first derivative: |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| mathieu_cem -- Even Mathieu function and its derivative. |
| mathieu_sem -- Odd Mathieu function and its derivative. |
| mathieu_modcem1 -- Even modified Mathieu function of the first kind and its derivative. |
| mathieu_modcem2 -- Even modified Mathieu function of the second kind and its derivative. |
| mathieu_modsem1 -- Odd modified Mathieu function of the first kind and its derivative. |
| mathieu_modsem2 -- Odd modified Mathieu function of the second kind and its derivative. |
| |
| Spheroidal wave functions |
| ------------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| pro_ang1 -- Prolate spheroidal angular function of the first kind and its derivative. |
| pro_rad1 -- Prolate spheroidal radial function of the first kind and its derivative. |
| pro_rad2 -- Prolate spheroidal radial function of the second kind and its derivative. |
| obl_ang1 -- Oblate spheroidal angular function of the first kind and its derivative. |
| obl_rad1 -- Oblate spheroidal radial function of the first kind and its derivative. |
| obl_rad2 -- Oblate spheroidal radial function of the second kind and its derivative. |
| pro_cv -- Characteristic value of prolate spheroidal function. |
| obl_cv -- Characteristic value of oblate spheroidal function. |
| pro_cv_seq -- Characteristic values for prolate spheroidal wave functions. |
| obl_cv_seq -- Characteristic values for oblate spheroidal wave functions. |
| |
| The following functions require pre-computed characteristic value: |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| pro_ang1_cv -- Prolate spheroidal angular function pro_ang1 for precomputed characteristic value. |
| pro_rad1_cv -- Prolate spheroidal radial function pro_rad1 for precomputed characteristic value. |
| pro_rad2_cv -- Prolate spheroidal radial function pro_rad2 for precomputed characteristic value. |
| obl_ang1_cv -- Oblate spheroidal angular function obl_ang1 for precomputed characteristic value. |
| obl_rad1_cv -- Oblate spheroidal radial function obl_rad1 for precomputed characteristic value. |
| obl_rad2_cv -- Oblate spheroidal radial function obl_rad2 for precomputed characteristic value. |
| |
| Kelvin functions |
| ---------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| kelvin -- Kelvin functions as complex numbers. |
| kelvin_zeros -- Compute nt zeros of all Kelvin functions. |
| ber -- Kelvin function ber. |
| bei -- Kelvin function bei |
| berp -- Derivative of the Kelvin function `ber`. |
| beip -- Derivative of the Kelvin function `bei`. |
| ker -- Kelvin function ker. |
| kei -- Kelvin function ker. |
| kerp -- Derivative of the Kelvin function ker. |
| keip -- Derivative of the Kelvin function kei. |
| |
| The following functions do not accept NumPy arrays (they are not |
| universal functions): |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| ber_zeros -- Compute nt zeros of the Kelvin function ber(x). |
| bei_zeros -- Compute nt zeros of the Kelvin function bei(x). |
| berp_zeros -- Compute nt zeros of the Kelvin function ber'(x). |
| beip_zeros -- Compute nt zeros of the Kelvin function bei'(x). |
| ker_zeros -- Compute nt zeros of the Kelvin function ker(x). |
| kei_zeros -- Compute nt zeros of the Kelvin function kei(x). |
| kerp_zeros -- Compute nt zeros of the Kelvin function ker'(x). |
| keip_zeros -- Compute nt zeros of the Kelvin function kei'(x). |
| |
| Combinatorics |
| ------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| comb -- The number of combinations of N things taken k at a time. |
| perm -- Permutations of N things taken k at a time, i.e., k-permutations of N. |
| stirling2 -- Stirling numbers of the second kind. |
| |
| Lambert W and related functions |
| ------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| lambertw -- Lambert W function. |
| wrightomega -- Wright Omega function. |
| |
| Other special functions |
| ----------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| agm -- Arithmetic, Geometric Mean. |
| bernoulli -- Bernoulli numbers B0..Bn (inclusive). |
| binom -- Binomial coefficient |
| diric -- Periodic sinc function, also called the Dirichlet function. |
| euler -- Euler numbers E0..En (inclusive). |
| expn -- Exponential integral E_n. |
| exp1 -- Exponential integral E_1 of complex argument z. |
| expi -- Exponential integral Ei. |
| factorial -- The factorial of a number or array of numbers. |
| factorial2 -- Double factorial. |
| factorialk -- Multifactorial of n of order k, n(!!...!). |
| shichi -- Hyperbolic sine and cosine integrals. |
| sici -- Sine and cosine integrals. |
| softmax -- Softmax function. |
| log_softmax -- Logarithm of softmax function. |
| spence -- Spence's function, also known as the dilogarithm. |
| zeta -- Riemann zeta function. |
| zetac -- Riemann zeta function minus 1. |
| softplus -- Softplus function. |
| |
| Convenience functions |
| --------------------- |
| |
| .. autosummary:: |
| :toctree: generated/ |
| |
| cbrt -- Cube root of `x`. |
| exp10 -- 10**x. |
| exp2 -- 2**x. |
| radian -- Convert from degrees to radians. |
| cosdg -- Cosine of the angle `x` given in degrees. |
| sindg -- Sine of angle given in degrees. |
| tandg -- Tangent of angle x given in degrees. |
| cotdg -- Cotangent of the angle `x` given in degrees. |
| log1p -- Calculates log(1+x) for use when `x` is near zero. |
| expm1 -- ``exp(x) - 1`` for use when `x` is near zero. |
| cosm1 -- ``cos(x) - 1`` for use when `x` is near zero. |
| powm1 -- ``x**y - 1`` for use when `y` is near zero or `x` is near 1. |
| round -- Round to nearest integer. |
| xlogy -- Compute ``x*log(y)`` so that the result is 0 if ``x = 0``. |
| xlog1py -- Compute ``x*log1p(y)`` so that the result is 0 if ``x = 0``. |
| logsumexp -- Compute the log of the sum of exponentials of input elements. |
| exprel -- Relative error exponential, (exp(x)-1)/x, for use when `x` is near zero. |
| sinc -- Return the sinc function. |
| |
| """ |
|
|
| import os |
| import warnings |
|
|
|
|
| def _load_libsf_error_state(): |
| """Load libsf_error_state.dll shared library on Windows |
| |
| libsf_error_state manages shared state used by |
| ``scipy.special.seterr`` and ``scipy.special.geterr`` so that these |
| can work consistently between special functions provided by different |
| extension modules. This shared library is installed in scipy/special |
| alongside this __init__.py file. Due to lack of rpath support, Windows |
| cannot find shared libraries installed within wheels. To circumvent this, |
| we pre-load ``lib_sf_error_state.dll`` when on Windows. |
| |
| The logic for this function was borrowed from the function ``make_init`` |
| in `scipy/tools/openblas_support.py`: |
| https://github.com/scipy/scipy/blob/bb92c8014e21052e7dde67a76b28214dd1dcb94a/tools/openblas_support.py#L239-L274 |
| """ |
| if os.name == "nt": |
| try: |
| from ctypes import WinDLL |
| basedir = os.path.dirname(__file__) |
| except: |
| pass |
| else: |
| dll_path = os.path.join(basedir, "libsf_error_state.dll") |
| if os.path.exists(dll_path): |
| WinDLL(dll_path) |
|
|
|
|
| _load_libsf_error_state() |
|
|
|
|
| from ._sf_error import SpecialFunctionWarning, SpecialFunctionError |
|
|
| from . import _ufuncs |
| from ._ufuncs import * |
|
|
| |
| from ._support_alternative_backends import ( |
| log_ndtr, ndtr, ndtri, erf, erfc, i0, i0e, i1, i1e, gammaln, |
| gammainc, gammaincc, logit, expit, entr, rel_entr, xlogy, |
| chdtr, chdtrc, betainc, betaincc, stdtr) |
|
|
| from . import _basic |
| from ._basic import * |
|
|
| from ._logsumexp import logsumexp, softmax, log_softmax |
|
|
| from . import _multiufuncs |
| from ._multiufuncs import * |
|
|
| from . import _orthogonal |
| from ._orthogonal import * |
|
|
| from ._spfun_stats import multigammaln |
| from ._ellip_harm import ( |
| ellip_harm, |
| ellip_harm_2, |
| ellip_normal |
| ) |
| from ._lambertw import lambertw |
| from ._spherical_bessel import ( |
| spherical_jn, |
| spherical_yn, |
| spherical_in, |
| spherical_kn |
| ) |
|
|
| |
| from . import add_newdocs, basic, orthogonal, specfun, sf_error, spfun_stats |
|
|
| |
| |
| |
| __all__ = _ufuncs.__all__ + _basic.__all__ + _orthogonal.__all__ + _multiufuncs.__all__ |
| __all__ += [ |
| 'SpecialFunctionWarning', |
| 'SpecialFunctionError', |
| 'logsumexp', |
| 'softmax', |
| 'log_softmax', |
| 'multigammaln', |
| 'ellip_harm', |
| 'ellip_harm_2', |
| 'ellip_normal', |
| 'lambertw', |
| 'spherical_jn', |
| 'spherical_yn', |
| 'spherical_in', |
| 'spherical_kn', |
| ] |
|
|
| from scipy._lib._testutils import PytestTester |
| test = PytestTester(__name__) |
| del PytestTester |
|
|
|
|
| def _get_include(): |
| """This function is for development purposes only. |
| |
| This function could disappear or its behavior could change at any time. |
| """ |
| import os |
| return os.path.dirname(__file__) |
|
|
|
|