2 Copyright (c) 2006 Xiaogang Zhang
3 Use, modification and distribution are subject to the
4 Boost Software License, Version 1.0. (See accompanying file
5 LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 [section:ellint_intro Elliptic Integral Overview]
10 The main reference for the elliptic integrals is:
12 [:M. Abramowitz and I. A. Stegun (Eds.) (1964)
13 Handbook of Mathematical Functions with Formulas, Graphs, and
15 National Bureau of Standards Applied Mathematics Series, U.S. Government Printing Office, Washington, D.C.]
17 Mathworld also contain a lot of useful background information:
19 [:[@http://mathworld.wolfram.com/EllipticIntegral.html Weisstein, Eric W.
20 "Elliptic Integral." From MathWorld--A Wolfram Web Resource.]]
22 As does [@http://en.wikipedia.org/wiki/Elliptic_integral Wikipedia Elliptic integral].
26 All variables are real numbers unless otherwise noted.
32 is called elliptic integral if ['R(t, s)] is a rational function
33 of ['t] and ['s], and ['s[super 2]] is a cubic or quartic polynomial
36 Elliptic integrals generally can not be expressed in terms of
37 elementary functions. However, Legendre showed that all elliptic
38 integrals can be reduced to the following three canonical forms:
40 Elliptic Integral of the First Kind (Legendre form)
44 Elliptic Integral of the Second Kind (Legendre form)
48 Elliptic Integral of the Third Kind (Legendre form)
56 [note ['[phi]] is called the amplitude.
58 ['k] is called the modulus.
60 ['[alpha]] is called the modular angle.
62 ['n] is called the characteristic.]
64 [caution Perhaps more than any other special functions the elliptic
65 integrals are expressed in a variety of different ways. In particular,
66 the final parameter /k/ (the modulus) may be expressed using a modular
67 angle [alpha], or a parameter /m/. These are related by:
71 m = k[super 2] = sin[super 2][alpha]
73 So that the integral of the third kind (for example) may be expressed as
78 [Pi](n, [phi] \\ [alpha])
82 To further complicate matters, some texts refer to the ['complement
83 of the parameter m], or 1 - m, where:
85 1 - m = 1 - k[super 2] = cos[super 2][alpha]
87 This implementation uses /k/ throughout: this matches the requirements
88 of the [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
89 Technical Report on C++ Library Extensions]. However, you should
90 be extra careful when using these functions!]
92 When ['[phi]] = ['[pi]] / 2, the elliptic integrals are called ['complete].
94 Complete Elliptic Integral of the First Kind (Legendre form)
98 Complete Elliptic Integral of the Second Kind (Legendre form)
102 Complete Elliptic Integral of the Third Kind (Legendre form)
106 Legendre also defined a forth integral D([phi],k) which is a combination of the other three:
110 Like the other Legendre integrals this comes in both complete and incomplete forms.
112 [h4 Carlson Elliptic Integrals]
114 Carlson [[link ellint_ref_carlson77 Carlson77]] [[link ellint_ref_carlson78 Carlson78]] gives an alternative definition of
115 elliptic integral's canonical forms:
117 Carlson's Elliptic Integral of the First Kind
121 where ['x], ['y], ['z] are nonnegative and at most one of them
124 Carlson's Elliptic Integral of the Second Kind
128 where ['x], ['y] are nonnegative, at most one of them may be zero,
129 and ['z] must be positive.
131 Carlson's Elliptic Integral of the Third Kind
135 where ['x], ['y], ['z] are nonnegative, at most one of them may be
136 zero, and ['p] must be nonzero.
138 Carlson's Degenerate Elliptic Integral
142 where ['x] is nonnegative and ['y] is nonzero.
144 [note ['R[sub C](x, y) = R[sub F](x, y, y)]
146 ['R[sub D](x, y, z) = R[sub J](x, y, z, z)]]
148 Carlson's Symmetric Integral
152 [h4 Duplication Theorem]
154 Carlson proved in [[link ellint_ref_carlson78 Carlson78]] that
158 [h4 Carlson's Formulas]
160 The Legendre form and Carlson form of elliptic integrals are related
169 [h4 Miscellaneous Elliptic Integrals]
171 There are two functions related to the elliptic integrals which otherwise
172 defy categorisation, these are the Jacobi Zeta function:
174 [equation jacobi_zeta]
176 and the Heuman Lambda function:
178 [equation heuman_lambda]
180 Both of these functions are easily implemented in terms of Carlson's integrals, and are
181 provided in this library as __jacobi_zeta and __heuman_lambda.
183 [h4 Numerical Algorithms]
185 The conventional methods for computing elliptic integrals are Gauss
186 and Landen transformations, which converge quadratically and work
187 well for elliptic integrals of the first and second kinds.
188 Unfortunately they suffer from loss of significant digits for the
189 third kind. Carlson's algorithm [[link ellint_ref_carlson79 Carlson79]] [[link ellint_ref_carlson78 Carlson78]], by contrast,
190 provides a unified method for all three kinds of elliptic integrals
191 with satisfactory precisions.
195 Special mention goes to:
197 [:A. M. Legendre, ['Traitd des Fonctions Elliptiques et des Integrales
198 Euleriennes], Vol. 1. Paris (1825).]
200 However the main references are:
202 # [#ellint_ref_AS]M. Abramowitz and I. A. Stegun (Eds.) (1964)
203 Handbook of Mathematical Functions with Formulas, Graphs, and
205 National Bureau of Standards Applied Mathematics Series, U.S. Government Printing Office, Washington, D.C.
206 # [#ellint_ref_carlson79]B.C. Carlson, ['Computing elliptic integrals by duplication],
207 Numerische Mathematik, vol 33, 1 (1979).
208 # [#ellint_ref_carlson77]B.C. Carlson, ['Elliptic Integrals of the First Kind],
209 SIAM Journal on Mathematical Analysis, vol 8, 231 (1977).
210 # [#ellint_ref_carlson78]B.C. Carlson, ['Short Proofs of Three Theorems on Elliptic Integrals],
211 SIAM Journal on Mathematical Analysis, vol 9, 524 (1978).
212 # [#ellint_ref_carlson81]B.C. Carlson and E.M. Notis, ['ALGORITHM 577: Algorithms for Incomplete
213 Elliptic Integrals], ACM Transactions on Mathematmal Software,
215 # B. C. Carlson, ['On computing elliptic integrals and functions]. J. Math. and
216 Phys., 44 (1965), pp. 36-51.
217 # B. C. Carlson, ['A table of elliptic integrals of the second kind]. Math. Comp., 49
218 (1987), pp. 595-606. (Supplement, ibid., pp. S13-S17.)
219 # B. C. Carlson, ['A table of elliptic integrals of the third kind]. Math. Comp., 51 (1988),
220 pp. 267-280. (Supplement, ibid., pp. S1-S5.)
221 # B. C. Carlson, ['A table of elliptic integrals: cubic cases]. Math. Comp., 53 (1989), pp.
223 # B. C. Carlson, ['A table of elliptic integrals: one quadratic factor]. Math. Comp., 56 (1991),
225 # B. C. Carlson, ['A table of elliptic integrals: two quadratic factors]. Math. Comp., 59
227 # B. C. Carlson, ['[@http://arxiv.org/abs/math.CA/9409227
228 Numerical computation of real or complex elliptic integrals]]. Numerical Algorithms,
229 Volume 10, Number 1 / March, 1995, p13-26.
230 # B. C. Carlson and John L. Gustafson, ['[@http://arxiv.org/abs/math.CA/9310223
231 Asymptotic Approximations for Symmetric Elliptic Integrals]],
232 SIAM Journal on Mathematical Analysis, Volume 25, Issue 2 (March 1994), 288-303.
235 The following references, while not directly relevent to our implementation,
236 may also be of interest:
238 # R. Burlisch, ['Numerical Compuation of Elliptic Integrals and Elliptic Functions.]
239 Numerical Mathematik 7, 78-90.
240 # R. Burlisch, ['An extension of the Bartky Transformation to Incomplete
241 Elliptic Integrals of the Third Kind]. Numerical Mathematik 13, 266-284.
242 # R. Burlisch, ['Numerical Compuation of Elliptic Integrals and Elliptic Functions. III].
243 Numerical Mathematik 13, 305-315.
244 # T. Fukushima and H. Ishizaki, ['[@http://adsabs.harvard.edu/abs/1994CeMDA..59..237F
245 Numerical Computation of Incomplete Elliptic Integrals of a General Form.]]
246 Celestial Mechanics and Dynamical Astronomy, Volume 59, Number 3 / July, 1994,