Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Machine Learning
avec Scikit-Learn
Voir le programme détaillé
Module « scipy.special »

Fonction elliprg - module scipy.special

Signature de la fonction elliprg

def elliprg(*args, **kwargs) 

Description

help(scipy.special.elliprg)

elliprg(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])

elliprg(x, y, z, out=None)

Completely-symmetric elliptic integral of the second kind.

The function RG is defined as [1]_

.. math::

    R_{\mathrm{G}}(x, y, z) =
       \frac{1}{4} \int_0^{+\infty} [(t + x) (t + y) (t + z)]^{-1/2}
       \left(\frac{x}{t + x} + \frac{y}{t + y} + \frac{z}{t + z}\right) t
       dt

Parameters
----------
x, y, z : array_like
    Real or complex input parameters. `x`, `y`, or `z` can be any number in
    the complex plane cut along the negative real axis.
out : ndarray, optional
    Optional output array for the function values

Returns
-------
R : scalar or ndarray
    Value of the integral. If all of `x`, `y`, and `z` are real, the return
    value is real. Otherwise, the return value is complex.

See Also
--------
elliprc : Degenerate symmetric integral.
elliprd : Symmetric elliptic integral of the second kind.
elliprf : Completely-symmetric elliptic integral of the first kind.
elliprj : Symmetric elliptic integral of the third kind.

Notes
-----
The implementation uses the relation [1]_

.. math::

    2 R_{\mathrm{G}}(x, y, z) =
       z R_{\mathrm{F}}(x, y, z) -
       \frac{1}{3} (x - z) (y - z) R_{\mathrm{D}}(x, y, z) +
       \sqrt{\frac{x y}{z}}

and the symmetry of `x`, `y`, `z` when at least one non-zero parameter can
be chosen as the pivot. When one of the arguments is close to zero, the AGM
method is applied instead. Other special cases are computed following Ref.
[2]_

.. versionadded:: 1.8.0

References
----------
.. [1] B. C. Carlson, "Numerical computation of real or complex elliptic
       integrals," Numer. Algorithm, vol. 10, no. 1, pp. 13-26, 1995.
       https://arxiv.org/abs/math/9409227
       https://doi.org/10.1007/BF02198293
.. [2] B. C. Carlson, ed., Chapter 19 in "Digital Library of Mathematical
       Functions," NIST, US Dept. of Commerce.
       https://dlmf.nist.gov/19.16.E1
       https://dlmf.nist.gov/19.20.ii

Examples
--------
Basic homogeneity property:

>>> import numpy as np
>>> from scipy.special import elliprg

>>> x = 1.2 + 3.4j
>>> y = 5.
>>> z = 6.
>>> scale = 0.3 + 0.4j
>>> elliprg(scale*x, scale*y, scale*z)
(1.195936862005246+0.8470988320464167j)

>>> elliprg(x, y, z)*np.sqrt(scale)
(1.195936862005246+0.8470988320464165j)

Simplifications:

>>> elliprg(0, y, y)
1.756203682760182

>>> 0.25*np.pi*np.sqrt(y)
1.7562036827601817

>>> elliprg(0, 0, z)
1.224744871391589

>>> 0.5*np.sqrt(z)
1.224744871391589

The surface area of a triaxial ellipsoid with semiaxes ``a``, ``b``, and
``c`` is given by

.. math::

    S = 4 \pi a b c R_{\mathrm{G}}(1 / a^2, 1 / b^2, 1 / c^2).

>>> def ellipsoid_area(a, b, c):
...     r = 4.0 * np.pi * a * b * c
...     return r * elliprg(1.0 / (a * a), 1.0 / (b * b), 1.0 / (c * c))
>>> print(ellipsoid_area(1, 3, 5))
108.62688289491807


Vous êtes un professionnel et vous avez besoin d'une formation ? Calcul scientifique
avec Python
Voir le programme détaillé