scipy.special.elliprc#

scipy.special.elliprc(x, y, выход=None) = 'elliprc'>#

Вырожденный симметричный эллиптический интеграл.

Функция RC определяется как [1]

\[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)\]
Параметры:
x, yarray_like

Вещественные или комплексные входные параметры. x может быть любым числом в комплексной плоскости с разрезом вдоль отрицательной вещественной оси. y должен быть ненулевым.

выходndarray, необязательно

Необязательный выходной массив для значений функции

Возвращает:
Rскаляр или ndarray

Значение интеграла. Если y является действительным и отрицательным, возвращается главное значение Коши. Если оба x и y являются вещественными, возвращаемое значение вещественное. В противном случае возвращаемое значение комплексное.

Смотрите также

elliprf

Полностью-симметричный эллиптический интеграл первого рода.

elliprd

Симметричный эллиптический интеграл второго рода.

elliprg

Полностью-симметричный эллиптический интеграл второго рода.

elliprj

Симметричный эллиптический интеграл третьего рода.

Примечания

RC — вырожденный случай симметричного интеграла RF: elliprc(x, y) == elliprf(x, y, y). Это элементарная функция, а не эллиптический интеграл.

Код реализует алгоритм Карлсона на основе теорем дублирования и разложения в ряд до 7-го порядка. [2]

Добавлено в версии 1.8.0.

Ссылки

[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

Примеры

Основное свойство однородности:

>>> 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)

Когда два аргумента совпадают, интеграл принимает особенно простой вид:

>>> x = 1.2 + 3.4j
>>> elliprc(x, x)
(0.4299173120614631-0.3041729818745595j)
>>> 1/np.sqrt(x)
(0.4299173120614631-0.30417298187455954j)

Другой простой случай: первый аргумент обращается в нуль:

>>> y = 1.2 + 3.4j
>>> elliprc(0, y)
(0.6753125346116815-0.47779380263880866j)
>>> np.pi/2/np.sqrt(y)
(0.6753125346116815-0.4777938026388088j)

Когда x и y оба положительны, мы можем выразить \(R_C(x,y)\) в терминах более элементарных функций. Для случая \(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

И для случая \(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