scipy.special.elliprf#
- scipy.special.elliprf(x, y, z, out=None) = <ufunc 'elliprf'>#
- Completely-symmetric elliptic integral of the first kind. - The function RF is defined as [1] \[R_{\mathrm{F}}(x, y, z) = \frac{1}{2} \int_0^{+\infty} [(t + x) (t + y) (t + z)]^{-1/2} dt\]- Parameters:
- x, y, zarray_like
- Real or complex input parameters. x, y, or z can be any number in the complex plane cut along the negative real axis, but at most one of them can be 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 - Notes - The code implements Carlson’s algorithm based on the duplication theorems and series expansion up to the 7th order (cf.: https://dlmf.nist.gov/19.36.i) and the AGM algorithm for the complete integral. [2] - Added in version 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.E1 [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 elliprf - >>> x = 1.2 + 3.4j >>> y = 5. >>> z = 6. >>> scale = 0.3 + 0.4j >>> elliprf(scale*x, scale*y, scale*z) (0.5328051227278146-0.4008623567957094j) - >>> elliprf(x, y, z)/np.sqrt(scale) (0.5328051227278147-0.4008623567957095j) - All three arguments coincide: - >>> x = 1.2 + 3.4j >>> elliprf(x, x, x) (0.42991731206146316-0.30417298187455954j) - >>> 1/np.sqrt(x) (0.4299173120614631-0.30417298187455954j) - The so-called “first lemniscate constant”: - >>> elliprf(0, 1, 2) 1.3110287771460598 - >>> from scipy.special import gamma >>> gamma(0.25)**2/(4*np.sqrt(2*np.pi)) 1.3110287771460598