scipy.special.ellipkinc#

scipy.special.ellipkinc(phi, m, out=None) = <ufunc 'ellipkinc'>#

Incomplete elliptic integral of the first kind.

This function is defined as

\[K(\phi, m) = \int_0^{\phi} [1 - m \sin(t)^2]^{-1/2} dt\]

This function is also called \(F(\phi, m)\).

Parameters:
phiarray_like

amplitude of the elliptic integral

marray_like

parameter of the elliptic integral

outndarray, optional

Optional output array for the function values

Returns:
Kscalar or ndarray

Value of the elliptic integral

See also

ellipkm1

Complete elliptic integral of the first kind, near m = 1

ellipk

Complete elliptic integral of the first kind

ellipe

Complete elliptic integral of the second kind

ellipeinc

Incomplete elliptic integral of the second kind

elliprf

Completely-symmetric elliptic integral of the first kind.

Notes

Wrapper for the Cephes [1] routine ellik. The computation is carried out using the arithmetic-geometric mean algorithm.

The parameterization in terms of \(m\) follows that of section 17.2 in [2]. Other parameterizations in terms of the complementary parameter \(1 - m\), modular angle \(\sin^2(\alpha) = m\), or modulus \(k^2 = m\) are also used, so be careful that you choose the correct parameter.

The Legendre K incomplete integral (or F integral) is related to Carlson’s symmetric R_F function [3]. Setting \(c = \csc^2\phi\),

\[F(\phi, m) = R_F(c-1, c-k^2, c) .\]

References

[1]

Cephes Mathematical Functions Library, http://www.netlib.org/cephes/

[2]

Milton Abramowitz and Irene A. Stegun, eds. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972.

[3]

NIST Digital Library of Mathematical Functions. http://dlmf.nist.gov/, Release 1.0.28 of 2020-09-15. See Sec. 19.25(i) https://dlmf.nist.gov/19.25#i

Examples

>>> from scipy.special import ellipkinc
>>> phi = 0.3
>>> m = 0.8
>>> u = ellipkinc(phi, m)
>>> u
np.float64(0.30365239221539364)

The result should be consistent with the known relations for the Jacobi elliptic functions: sn(u|m) = sin(phi) and cn(u|m) = cos(phi).

>>> from math import cos, pi, sin
>>> from scipy.special import ellipj
>>> sn, cn, _, _ = ellipj(u, m)
>>> sn, sin(phi)
(np.float64(0.2955202066613395), 0.29552020666133955)
>>> cn, cos(phi)
(np.float64(0.9553364891256061), 0.955336489125606)

For \(\phi=\pi/2\), the incomplete elliptic integral should equal the complete elliptic integral.

>>> from scipy.special import ellipk
>>> ellipkinc(pi/2, m), ellipk(m)
(np.float64(2.257205326820854), np.float64(2.257205326820854))