mmetric 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 Ú