3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Elliptic Integral Overview</title>
5 <link rel="stylesheet" href="../../math.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../index.html" title="Math Toolkit 2.11.0">
8 <link rel="up" href="../ellint.html" title="Elliptic Integrals">
9 <link rel="prev" href="../ellint.html" title="Elliptic Integrals">
10 <link rel="next" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="../ellint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_carlson.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="math_toolkit.ellint.ellint_intro"></a><a class="link" href="ellint_intro.html" title="Elliptic Integral Overview">Elliptic Integral Overview</a>
28 </h3></div></div></div>
30 The main reference for the elliptic integrals is:
32 <div class="blockquote"><blockquote class="blockquote"><p>
33 M. Abramowitz and I. A. Stegun (Eds.) (1964) Handbook of Mathematical Functions
34 with Formulas, Graphs, and Mathematical Tables, National Bureau of Standards
35 Applied Mathematics Series, U.S. Government Printing Office, Washington,
37 </p></blockquote></div>
39 and its recently revised version <a href="http://dlmf.nist.gov/" target="_top">NIST
40 Digital Library of Mathematical Functions (DMLF)</a>, in particular
42 <div class="blockquote"><blockquote class="blockquote"><p>
43 <a href="https://dlmf.nist.gov/19" target="_top">Elliptic Integrals, B. C. Carlson</a>
44 </p></blockquote></div>
46 Mathworld also contain a lot of useful background information:
48 <div class="blockquote"><blockquote class="blockquote"><p>
49 <a href="http://mathworld.wolfram.com/EllipticIntegral.html" target="_top">Weisstein,
50 Eric W. "Elliptic Integral." From MathWorld--A Wolfram Web Resource.</a>
51 </p></blockquote></div>
53 As does <a href="http://en.wikipedia.org/wiki/Elliptic_integral" target="_top">Wikipedia
54 Elliptic integral</a>.
57 <a name="math_toolkit.ellint.ellint_intro.h0"></a>
58 <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.notation"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.notation">Notation</a>
61 All variables are real numbers unless otherwise noted.
64 <a name="math_toolkit.ellint.ellint_intro.h1"></a>
65 <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.definition"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.definition">Definition</a>
67 <div class="blockquote"><blockquote class="blockquote"><p>
68 <span class="inlinemediaobject"><img src="../../../equations/ellint1.svg"></span>
70 </p></blockquote></div>
72 is called elliptic integral if <span class="emphasis"><em>R(t, s)</em></span> is a rational
73 function of <span class="emphasis"><em>t</em></span> and <span class="emphasis"><em>s</em></span>, and <span class="emphasis"><em>s<sup>2</sup></em></span>
74 is a cubic or quartic polynomial in <span class="emphasis"><em>t</em></span>.
77 Elliptic integrals generally cannot be expressed in terms of elementary functions.
78 However, Legendre showed that all elliptic integrals can be reduced to the
79 following three canonical forms:
82 Elliptic Integral of the First Kind (Legendre form)
84 <div class="blockquote"><blockquote class="blockquote"><p>
85 <span class="inlinemediaobject"><img src="../../../equations/ellint2.svg"></span>
87 </p></blockquote></div>
89 Elliptic Integral of the Second Kind (Legendre form)
91 <div class="blockquote"><blockquote class="blockquote"><p>
92 <span class="inlinemediaobject"><img src="../../../equations/ellint3.svg"></span>
94 </p></blockquote></div>
96 Elliptic Integral of the Third Kind (Legendre form)
98 <div class="blockquote"><blockquote class="blockquote"><p>
99 <span class="inlinemediaobject"><img src="../../../equations/ellint4.svg"></span>
101 </p></blockquote></div>
105 <div class="blockquote"><blockquote class="blockquote"><p>
106 <span class="inlinemediaobject"><img src="../../../equations/ellint5.svg"></span>
108 </p></blockquote></div>
109 <div class="note"><table border="0" summary="Note">
111 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
112 <th align="left">Note</th>
114 <tr><td align="left" valign="top">
116 <span class="emphasis"><em>φ</em></span> is called the amplitude.
119 <span class="emphasis"><em>k</em></span> is called the elliptic modulus or eccentricity.
122 <span class="emphasis"><em>α</em></span> is called the modular angle.
125 <span class="emphasis"><em>n</em></span> is called the characteristic.
129 <div class="caution"><table border="0" summary="Caution">
131 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
132 <th align="left">Caution</th>
134 <tr><td align="left" valign="top">
136 Perhaps more than any other special functions the elliptic integrals are
137 expressed in a variety of different ways. In particular, the final parameter
138 <span class="emphasis"><em>k</em></span> (the modulus) may be expressed using a modular angle
139 α, or a parameter <span class="emphasis"><em>m</em></span>. These are related by:
141 <div class="blockquote"><blockquote class="blockquote"><p>
142 <span class="serif_italic">k = sin  α</span>
143 </p></blockquote></div>
144 <div class="blockquote"><blockquote class="blockquote"><p>
145 <span class="serif_italic">m = k<sup>2</sup> = sin<sup>2</sup>α</span>
146 </p></blockquote></div>
148 So that the integral of the third kind (for example) may be expressed as
151 <div class="blockquote"><blockquote class="blockquote"><p>
152 <span class="serif_italic">Π(n, φ, k)</span>
153 </p></blockquote></div>
154 <div class="blockquote"><blockquote class="blockquote"><p>
155 <span class="serif_italic">Π(n, φ \ α)</span>
156 </p></blockquote></div>
157 <div class="blockquote"><blockquote class="blockquote"><p>
158 <span class="serif_italic">Π(n, φ | m)</span>
159 </p></blockquote></div>
161 To further complicate matters, some texts refer to the <span class="emphasis"><em>complement
162 of the parameter m</em></span>, or 1 - m, where:
164 <div class="blockquote"><blockquote class="blockquote"><p>
165 <span class="serif_italic">1 - m = 1 - k<sup>2</sup> = cos<sup>2</sup>α</span>
166 </p></blockquote></div>
168 This implementation uses <span class="emphasis"><em>k</em></span> throughout: this matches
169 the requirements of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
170 Report on C++ Library Extensions</a>.<br>
173 So you should be extra careful when using these functions!
177 <div class="warning"><table border="0" summary="Warning">
179 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../doc/src/images/warning.png"></td>
180 <th align="left">Warning</th>
182 <tr><td align="left" valign="top"><p>
183 Boost.Math order of arguments differs from other implementations: <span class="emphasis"><em>k</em></span>
184 is always the <span class="bold"><strong>first</strong></span> argument.
188 A simple example comparing use of <a href="http://www.wolframalpha.com/" target="_top">Wolfram
189 Alpha</a> with Boost.Math (including much higher precision using <a href="../../../../../../libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>)
190 is <a href="../../../../example/jacobi_zeta_example.cpp" target="_top">jacobi_zeta_example.cpp</a>.
193 When <span class="emphasis"><em>φ</em></span> = <span class="emphasis"><em>π</em></span> / 2, the elliptic integrals
194 are called <span class="emphasis"><em>complete</em></span>.
197 Complete Elliptic Integral of the First Kind (Legendre form)
199 <div class="blockquote"><blockquote class="blockquote"><p>
200 <span class="inlinemediaobject"><img src="../../../equations/ellint6.svg"></span>
202 </p></blockquote></div>
204 Complete Elliptic Integral of the Second Kind (Legendre form)
206 <div class="blockquote"><blockquote class="blockquote"><p>
207 <span class="inlinemediaobject"><img src="../../../equations/ellint7.svg"></span>
209 </p></blockquote></div>
211 Complete Elliptic Integral of the Third Kind (Legendre form)
213 <div class="blockquote"><blockquote class="blockquote"><p>
214 <span class="inlinemediaobject"><img src="../../../equations/ellint8.svg"></span>
216 </p></blockquote></div>
218 Legendre also defined a fourth integral /D(φ,k)/ which is a combination of
221 <div class="blockquote"><blockquote class="blockquote"><p>
222 <span class="inlinemediaobject"><img src="../../../equations/ellint_d.svg"></span>
224 </p></blockquote></div>
226 Like the other Legendre integrals this comes in both complete and incomplete
230 <a name="math_toolkit.ellint.ellint_intro.h2"></a>
231 <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.carlson_elliptic_integrals"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.carlson_elliptic_integrals">Carlson
232 Elliptic Integrals</a>
235 Carlson [<a class="link" href="ellint_intro.html#ellint_ref_carlson77">Carlson77</a>] [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>]
236 gives an alternative definition of elliptic integral's canonical forms:
239 Carlson's Elliptic Integral of the First Kind
241 <div class="blockquote"><blockquote class="blockquote"><p>
242 <span class="inlinemediaobject"><img src="../../../equations/ellint9.svg"></span>
244 </p></blockquote></div>
246 where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, <span class="emphasis"><em>z</em></span>
247 are nonnegative and at most one of them may be zero.
250 Carlson's Elliptic Integral of the Second Kind
252 <div class="blockquote"><blockquote class="blockquote"><p>
253 <span class="inlinemediaobject"><img src="../../../equations/ellint10.svg"></span>
255 </p></blockquote></div>
257 where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span> are nonnegative, at
258 most one of them may be zero, and <span class="emphasis"><em>z</em></span> must be positive.
261 Carlson's Elliptic Integral of the Third Kind
263 <div class="blockquote"><blockquote class="blockquote"><p>
264 <span class="inlinemediaobject"><img src="../../../equations/ellint11.svg"></span>
266 </p></blockquote></div>
268 where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, <span class="emphasis"><em>z</em></span>
269 are nonnegative, at most one of them may be zero, and <span class="emphasis"><em>p</em></span>
273 Carlson's Degenerate Elliptic Integral
275 <div class="blockquote"><blockquote class="blockquote"><p>
276 <span class="inlinemediaobject"><img src="../../../equations/ellint12.svg"></span>
278 </p></blockquote></div>
280 where <span class="emphasis"><em>x</em></span> is nonnegative and <span class="emphasis"><em>y</em></span> is
283 <div class="note"><table border="0" summary="Note">
285 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
286 <th align="left">Note</th>
288 <tr><td align="left" valign="top">
290 <span class="emphasis"><em>R<sub>C</sub>(x, y) = R<sub>F</sub>(x, y, y)</em></span>
293 <span class="emphasis"><em>R<sub>D</sub>(x, y, z) = R<sub>J</sub>(x, y, z, z)</em></span>
298 Carlson's Symmetric Integral
300 <div class="blockquote"><blockquote class="blockquote"><p>
301 <span class="inlinemediaobject"><img src="../../../equations/ellint27.svg"></span>
303 </p></blockquote></div>
305 <a name="math_toolkit.ellint.ellint_intro.h3"></a>
306 <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.duplication_theorem"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.duplication_theorem">Duplication
310 Carlson proved in [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>]
313 <div class="blockquote"><blockquote class="blockquote"><p>
314 <span class="inlinemediaobject"><img src="../../../equations/ellint13.svg"></span>
316 </p></blockquote></div>
318 <a name="math_toolkit.ellint.ellint_intro.h4"></a>
319 <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.carlson_s_formulas"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.carlson_s_formulas">Carlson's
323 The Legendre form and Carlson form of elliptic integrals are related by equations:
325 <div class="blockquote"><blockquote class="blockquote"><p>
326 <span class="inlinemediaobject"><img src="../../../equations/ellint14.svg"></span>
328 </p></blockquote></div>
332 <div class="blockquote"><blockquote class="blockquote"><p>
333 <span class="inlinemediaobject"><img src="../../../equations/ellint15.svg"></span>
335 </p></blockquote></div>
337 <a name="math_toolkit.ellint.ellint_intro.h5"></a>
338 <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.miscellaneous_elliptic_integrals"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.miscellaneous_elliptic_integrals">Miscellaneous
339 Elliptic Integrals</a>
342 There are two functions related to the elliptic integrals which otherwise
343 defy categorisation, these are the Jacobi Zeta function:
345 <div class="blockquote"><blockquote class="blockquote"><p>
346 <span class="inlinemediaobject"><img src="../../../equations/jacobi_zeta.svg"></span>
348 </p></blockquote></div>
350 and the Heuman Lambda function:
352 <div class="blockquote"><blockquote class="blockquote"><p>
353 <span class="inlinemediaobject"><img src="../../../equations/heuman_lambda.svg"></span>
355 </p></blockquote></div>
357 Both of these functions are easily implemented in terms of Carlson's integrals,
358 and are provided in this library as <a class="link" href="jacobi_zeta.html" title="Jacobi Zeta Function">jacobi_zeta</a>
359 and <a class="link" href="heuman_lambda.html" title="Heuman Lambda Function">heuman_lambda</a>.
362 <a name="math_toolkit.ellint.ellint_intro.h6"></a>
363 <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.numerical_algorithms"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.numerical_algorithms">Numerical
367 The conventional methods for computing elliptic integrals are Gauss and Landen
368 transformations, which converge quadratically and work well for elliptic
369 integrals of the first and second kinds. Unfortunately they suffer from loss
370 of significant digits for the third kind.
373 Carlson's algorithm [<a class="link" href="ellint_intro.html#ellint_ref_carlson79">Carlson79</a>]
374 [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>], by contrast, provides
375 a unified method for all three kinds of elliptic integrals with satisfactory
379 <a name="math_toolkit.ellint.ellint_intro.h7"></a>
380 <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.references"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.references">References</a>
383 Special mention goes to:
385 <div class="blockquote"><blockquote class="blockquote"><p>
386 A. M. Legendre, <span class="emphasis"><em>Traité des Fonctions Elliptiques et des Integrales
387 Euleriennes</em></span>, Vol. 1. Paris (1825).
388 </p></blockquote></div>
390 However the main references are:
392 <div class="orderedlist"><ol class="orderedlist" type="1">
393 <li class="listitem">
394 <a name="ellint_ref_AS"></a>M. Abramowitz and I. A. Stegun (Eds.) (1964)
395 Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical
396 Tables, National Bureau of Standards Applied Mathematics Series, U.S.
397 Government Printing Office, Washington, D.C.
399 <li class="listitem">
400 <a href="https://dlmf.nist.gov/19" target="_top">NIST Digital Library of Mathematical
401 Functions, Elliptic Integrals, B. C. Carlson</a>
403 <li class="listitem">
404 <a name="ellint_ref_carlson79"></a>B.C. Carlson, <span class="emphasis"><em>Computing
405 elliptic integrals by duplication</em></span>, Numerische Mathematik,
408 <li class="listitem">
409 <a name="ellint_ref_carlson77"></a>B.C. Carlson, <span class="emphasis"><em>Elliptic Integrals
410 of the First Kind</em></span>, SIAM Journal on Mathematical Analysis,
413 <li class="listitem">
414 <a name="ellint_ref_carlson78"></a>B.C. Carlson, <span class="emphasis"><em>Short Proofs
415 of Three Theorems on Elliptic Integrals</em></span>, SIAM Journal on Mathematical
416 Analysis, vol 9, 524 (1978).
418 <li class="listitem">
419 <a name="ellint_ref_carlson81"></a>B.C. Carlson and E.M. Notis, <span class="emphasis"><em>ALGORITHM
420 577: Algorithms for Incomplete Elliptic Integrals</em></span>, ACM Transactions
421 on Mathematmal Software, vol 7, 398 (1981).
423 <li class="listitem">
424 B. C. Carlson, <span class="emphasis"><em>On computing elliptic integrals and functions</em></span>.
425 J. Math. and Phys., 44 (1965), pp. 36-51.
427 <li class="listitem">
428 B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals of the second
429 kind</em></span>. Math. Comp., 49 (1987), pp. 595-606. (Supplement, ibid.,
432 <li class="listitem">
433 B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals of the third kind</em></span>.
434 Math. Comp., 51 (1988), pp. 267-280. (Supplement, ibid., pp. S1-S5.)
436 <li class="listitem">
437 B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: cubic cases</em></span>.
438 Math. Comp., 53 (1989), pp. 327-333.
440 <li class="listitem">
441 B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: one quadratic
442 factor</em></span>. Math. Comp., 56 (1991), pp. 267-280.
444 <li class="listitem">
445 B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: two quadratic
446 factors</em></span>. Math. Comp., 59 (1992), pp. 165-180.
448 <li class="listitem">
449 B. C. Carlson, <span class="emphasis"><em><a href="http://arxiv.org/abs/math.CA/9409227" target="_top">Numerical
450 computation of real or complex elliptic integrals</a></em></span>.
451 Numerical Algorithms, Volume 10, Number 1 / March, 1995, p13-26.
453 <li class="listitem">
454 B. C. Carlson and John L. Gustafson, <span class="emphasis"><em><a href="http://arxiv.org/abs/math.CA/9310223" target="_top">Asymptotic
455 Approximations for Symmetric Elliptic Integrals</a></em></span>, SIAM
456 Journal on Mathematical Analysis, Volume 25, Issue 2 (March 1994), 288-303.
460 The following references, while not directly relevent to our implementation,
461 may also be of interest:
463 <div class="orderedlist"><ol class="orderedlist" type="1">
464 <li class="listitem">
465 R. Burlisch, <span class="emphasis"><em>Numerical Compuation of Elliptic Integrals and
466 Elliptic Functions.</em></span> Numerical Mathematik 7, 78-90.
468 <li class="listitem">
469 R. Burlisch, <span class="emphasis"><em>An extension of the Bartky Transformation to Incomplete
470 Elliptic Integrals of the Third Kind</em></span>. Numerical Mathematik
473 <li class="listitem">
474 R. Burlisch, <span class="emphasis"><em>Numerical Compuation of Elliptic Integrals and
475 Elliptic Functions. III</em></span>. Numerical Mathematik 13, 305-315.
477 <li class="listitem">
478 T. Fukushima and H. Ishizaki, <span class="emphasis"><em><a href="http://adsabs.harvard.edu/abs/1994CeMDA..59..237F" target="_top">Numerical
479 Computation of Incomplete Elliptic Integrals of a General Form.</a></em></span>
480 Celestial Mechanics and Dynamical Astronomy, Volume 59, Number 3 / July,
485 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
486 <td align="left"></td>
487 <td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar
488 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
489 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
490 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
491 Daryle Walker and Xiaogang Zhang<p>
492 Distributed under the Boost Software License, Version 1.0. (See accompanying
493 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
498 <div class="spirit-nav">
499 <a accesskey="p" href="../ellint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_carlson.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>