scipy.special.elliprd — SciPy v1.15.2 Manual (original) (raw)

scipy.special.elliprd(x, y, z, out=None) = <ufunc 'elliprd'>#

Symmetric elliptic integral of the second kind.

The function RD is defined as [1]

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

Parameters:

x, y, zarray_like

Real or complex input parameters. x or y can be any number in the complex plane cut along the negative real axis, but at most one of them can be zero, while z must be non-zero.

outndarray, optional

Optional output array for the function values

Returns:

Rscalar 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 elliptic integral.

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.

Notes

RD is a degenerate case of the elliptic integral RJ: elliprd(x, y, z) == elliprj(x, y, z, z).

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

Added in version 1.8.0.

References

Examples

Basic homogeneity property:

import numpy as np from scipy.special import elliprd

x = 1.2 + 3.4j y = 5. z = 6. scale = 0.3 + 0.4j elliprd(scalex, scaley, scale*z) (-0.03703043835680379-0.24500934665683802j)

elliprd(x, y, z)*np.power(scale, -1.5) (-0.0370304383568038-0.24500934665683805j)

All three arguments coincide:

x = 1.2 + 3.4j elliprd(x, x, x) (-0.03986825876151896-0.14051741840449586j)

np.power(x, -1.5) (-0.03986825876151894-0.14051741840449583j)

The so-called “second lemniscate constant”:

elliprd(0, 2, 1)/3 0.5990701173677961

from scipy.special import gamma gamma(0.75)*2/np.sqrt(2np.pi) 0.5990701173677959