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 ? Coder avec une
Intelligence Artificielle
Voir le programme détaillé
Module « scipy.special »

Fonction elliprc - module scipy.special

Signature de la fonction elliprc

def elliprc(*args, **kwargs) 

Description

help(scipy.special.elliprc)

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

elliprc(x, y, out=None)

Degenerate symmetric elliptic integral.

The function RC is defined as [1]_

.. math::

    R_{\mathrm{C}}(x, y) =
       \frac{1}{2} \int_0^{+\infty} (t + x)^{-1/2} (t + y)^{-1} dt
       = R_{\mathrm{F}}(x, y, y)

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

Returns
-------
R : scalar or ndarray
    Value of the integral. If `y` is real and negative, the Cauchy
    principal value is returned. If both of `x` and `y` are real, the
    return value is real. Otherwise, the return value is complex.

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

Notes
-----
RC is a degenerate case of the symmetric integral RF: ``elliprc(x, y) ==
elliprf(x, y, y)``. It is an elementary function rather than an elliptic
integral.

The code implements Carlson's algorithm based on the duplication theorems
and series expansion up to the 7th order. [2]_

.. versionadded:: 1.8.0

References
----------
.. [1] B. C. Carlson, ed., Chapter 19 in "Digital Library of Mathematical
       Functions," NIST, US Dept. of Commerce.
       https://dlmf.nist.gov/19.16.E6
.. [2] 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

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

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

>>> x = 1.2 + 3.4j
>>> y = 5.
>>> scale = 0.3 + 0.4j
>>> elliprc(scale*x, scale*y)
(0.5484493976710874-0.4169557678995833j)

>>> elliprc(x, y)/np.sqrt(scale)
(0.5484493976710874-0.41695576789958333j)

When the two arguments coincide, the integral is particularly
simple:

>>> x = 1.2 + 3.4j
>>> elliprc(x, x)
(0.4299173120614631-0.3041729818745595j)

>>> 1/np.sqrt(x)
(0.4299173120614631-0.30417298187455954j)

Another simple case: the first argument vanishes:

>>> y = 1.2 + 3.4j
>>> elliprc(0, y)
(0.6753125346116815-0.47779380263880866j)

>>> np.pi/2/np.sqrt(y)
(0.6753125346116815-0.4777938026388088j)

When `x` and `y` are both positive, we can express
:math:`R_C(x,y)` in terms of more elementary functions.  For the
case :math:`0 \le x < y`,

>>> x = 3.2
>>> y = 6.
>>> elliprc(x, y)
0.44942991498453444

>>> np.arctan(np.sqrt((y-x)/x))/np.sqrt(y-x)
0.44942991498453433

And for the case :math:`0 \le y < x`,

>>> x = 6.
>>> y = 3.2
>>> elliprc(x,y)
0.4989837501576147

>>> np.log((np.sqrt(x)+np.sqrt(x-y))/np.sqrt(y))/np.sqrt(x-y)
0.49898375015761476


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation Python
Les compléments
Voir le programme détaillé