# Carlson’s elliptic integrals

Although its a little fuzzy to say exactly which functions are “special” functions, these are generally functions that come up frequently in applications, that have numerous symmetries, and that satisfy many useful identities. The copious interconnections between special functions that are part of what makes them special also makes these functions hard to organize: everything is connected to everything else.

Bille Carlson did a great deal to simplify the study of special functions. With the benefit of decades of hindsight, Carlson discovered how several special functions should have been defined. I wrote a few weeks ago about how Carlson’s approach to Bessel functions eliminates unnecessary branch cuts. This post will look at how he simplified elliptic integrals.

The previous post looked at Legendre’s theorem showing that all elliptic integrals can be expressed in terms of three special functions—F, E, and Π— along with elementary functions. Carlson showed that Legendre’s three functions could be expressed in terms of two new functions. The advantage to Carlson’s approach is not that he reduced three functions down to two, but that his functions are symmetric. Hidden symmetries of elliptic integrals become obvious by definition.

## Carlson’s elliptic functions

Carlson’s two basic functions are RF and RJ defined below.

These functions are obviously symmetric in x, y, and z.

In addition, Carlson defined three more functions for convenience. The functions RC and RD are simple variations on RF and RJ.

Finally, his function RG is defined by

The function RG can be expressed in terms of RF and RD as follows, but the form above makes its symmetry obvious.

See [1].

## Legendre to Carlson

Legendre’s elliptic integrals of the first, second, and third kinds can be related to Carlson’s symmetric functions as follows.

The correspondence between Legendre’s functions and Carlson’s functions is fairly complex. You could think of Carlson’s functions as a change of coordinates that makes things simpler, like describing the motion of planets from the perspective of the sun rather than the perspective of the earth.

The elliptic integrals discussed in this post have been the “incomplete” elliptic integrals. The identities for the corresponding complete elliptic integrals follow by setting φ = π/2.

## Software support

In Python, scipy.special has functions ellipr* to implement each of Carlson’s R* functions. That is, elliprc, elliprd, elliprf, elliprg, and elliprj implement RC, RD, RF, RG, and RJ respectively.

Similarly, Mathematica has functions CarlsonR*. That is, CarlsonRC, CarlsonRD, CarlsonRF, CarlsonRG, and CarlsonRJ implement RC, RD, RF, RG, and RJ respectively.

## Related posts

[1] B. C. Carlson. Numerical Computation of Real or Complex Elliptic Integrals. Available on arXiv.