diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-04-08 03:09:47 +0000 |
---|---|---|
committer | <> | 2015-05-05 14:37:32 +0000 |
commit | f2541bb90af059680aa7036f315f052175999355 (patch) | |
tree | a5b214744b256f07e1dc2bd7273035a7808c659f /libs/math/doc/html/math_toolkit/ellint | |
parent | ed232fdd34968697a68783b3195b1da4226915b5 (diff) | |
download | boost-tarball-master.tar.gz |
Imported from /home/lorry/working-area/delta_boost-tarball/boost_1_58_0.tar.bz2.HEADboost_1_58_0master
Diffstat (limited to 'libs/math/doc/html/math_toolkit/ellint')
8 files changed, 587 insertions, 63 deletions
diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_1.html b/libs/math/doc/html/math_toolkit/ellint/ellint_1.html index aad7b996e..a741c516d 100644 --- a/libs/math/doc/html/math_toolkit/ellint/ellint_1.html +++ b/libs/math/doc/html/math_toolkit/ellint/ellint_1.html @@ -3,8 +3,8 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Elliptic Integrals of the First Kind - Legendre Form</title> <link rel="stylesheet" href="../../math.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> -<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0"> +<meta name="generator" content="DocBook XSL Stylesheets V1.77.1"> +<link rel="home" href="../../index.html" title="Math Toolkit 2.2.0"> <link rel="up" href="../ellint.html" title="Elliptic Integrals"> <link rel="prev" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form"> <link rel="next" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form"> @@ -59,7 +59,7 @@ = F(π/2, k)</em></span>. </p> <p> - <span class="inlinemediaobject"><img src="../../../graphs/ellint_1.png" align="middle"></span> + <span class="inlinemediaobject"><img src="../../../graphs/ellint_1.svg" align="middle"></span> </p> <p> The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result @@ -77,7 +77,7 @@ k)</em></span>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint2.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint2.svg"></span> </p> <p> Requires -1 <= k <= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>. @@ -98,7 +98,7 @@ Returns the complete elliptic integral of the first kind <span class="emphasis"><em>K(k)</em></span>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint6.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint6.svg"></span> </p> <p> Requires -1 <= k <= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>. @@ -240,13 +240,13 @@ relations: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint19.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint19.svg"></span> </p> <p> and </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint20.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint20.svg"></span> </p> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_2.html b/libs/math/doc/html/math_toolkit/ellint/ellint_2.html index 80a42e359..8d43bc71d 100644 --- a/libs/math/doc/html/math_toolkit/ellint/ellint_2.html +++ b/libs/math/doc/html/math_toolkit/ellint/ellint_2.html @@ -3,8 +3,8 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Elliptic Integrals of the Second Kind - Legendre Form</title> <link rel="stylesheet" href="../../math.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> -<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0"> +<meta name="generator" content="DocBook XSL Stylesheets V1.77.1"> +<link rel="home" href="../../index.html" title="Math Toolkit 2.2.0"> <link rel="up" href="../ellint.html" title="Elliptic Integrals"> <link rel="prev" href="ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form"> <link rel="next" href="ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form"> @@ -59,7 +59,7 @@ = E(π/2, k)</em></span>. </p> <p> - <span class="inlinemediaobject"><img src="../../../graphs/ellint_2.png" align="middle"></span> + <span class="inlinemediaobject"><img src="../../../graphs/ellint_2.svg" align="middle"></span> </p> <p> The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result @@ -77,7 +77,7 @@ k)</em></span>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint3.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint3.svg"></span> </p> <p> Requires -1 <= k <= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>. @@ -98,7 +98,7 @@ Returns the complete elliptic integral of the second kind <span class="emphasis"><em>E(k)</em></span>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint7.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint7.svg"></span> </p> <p> Requires -1 <= k <= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>. @@ -240,13 +240,13 @@ relations: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint21.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint21.svg"></span> </p> <p> and </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint22.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint22.svg"></span> </p> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_3.html b/libs/math/doc/html/math_toolkit/ellint/ellint_3.html index fc706d8c6..7ba079056 100644 --- a/libs/math/doc/html/math_toolkit/ellint/ellint_3.html +++ b/libs/math/doc/html/math_toolkit/ellint/ellint_3.html @@ -3,11 +3,11 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Elliptic Integrals of the Third Kind - Legendre Form</title> <link rel="stylesheet" href="../../math.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> -<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0"> +<meta name="generator" content="DocBook XSL Stylesheets V1.77.1"> +<link rel="home" href="../../index.html" title="Math Toolkit 2.2.0"> <link rel="up" href="../ellint.html" title="Elliptic Integrals"> <link rel="prev" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form"> -<link rel="next" href="../jacobi.html" title="Jacobi Elliptic Functions"> +<link rel="next" href="ellint_d.html" title="Elliptic Integral D - Legendre Form"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> @@ -20,7 +20,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="ellint_2.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="../jacobi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="ellint_2.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_d.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> @@ -59,7 +59,7 @@ k) = E(n, π/2, k)</em></span>. </p> <p> - <span class="inlinemediaobject"><img src="../../../graphs/ellint_3.png" align="middle"></span> + <span class="inlinemediaobject"><img src="../../../graphs/ellint_3.svg" align="middle"></span> </p> <p> The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result @@ -78,7 +78,7 @@ φ, k)</em></span>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint4.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint4.svg"></span> </p> <p> Requires <span class="emphasis"><em>-1 <= k <= 1</em></span> and <span class="emphasis"><em>n < 1/sin<sup>2</sup>(φ)</em></span>, @@ -101,7 +101,7 @@ Returns the complete elliptic integral of the first kind <span class="emphasis"><em>Π(n, k)</em></span>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint8.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint8.svg"></span> </p> <p> Requires <span class="emphasis"><em>-1 <= k <= 1</em></span> and <span class="emphasis"><em>n < 1</em></span>, @@ -253,13 +253,13 @@ and </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint23.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint23.svg"></span> </p> <p> Then if n < 0 the relations (A&S 17.7.15/16): </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint24.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint24.svg"></span> </p> <p> are used to shift <span class="emphasis"><em>n</em></span> to the range [0, 1]. @@ -274,7 +274,7 @@ <span class="emphasis"><em>Π(n, φ+mπ, k) = Π(n, φ, k) + 2mΠ(n, k) ; n <= 1</em></span> </p> <p> - <span class="emphasis"><em>Π(n, φ+mπ, k) = Π(n, φ, k) ; n > 1</em></span> <a href="#ftn.math_toolkit.ellint.ellint_3.f0" class="footnote" name="math_toolkit.ellint.ellint_3.f0"><sup class="footnote">[1]</sup></a> + <span class="emphasis"><em>Π(n, φ+mπ, k) = Π(n, φ, k) ; n > 1</em></span> <a href="#ftn.math_toolkit.ellint.ellint_3.f0" class="footnote"><sup class="footnote"><a name="math_toolkit.ellint.ellint_3.f0"></a>[1]</sup></a> </p> <p> are used to move φ   to the range [0, π/2]. @@ -284,16 +284,16 @@ the relations: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint25.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint25.svg"></span> </p> <p> and </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint26.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint26.svg"></span> </p> <div class="footnotes"> -<br><hr style="width:100; text-align:left;margin-left: 0"> +<br><hr style="width:100; align:left;"> <div id="ftn.math_toolkit.ellint.ellint_3.f0" class="footnote"><p><a href="#math_toolkit.ellint.ellint_3.f0" class="para"><sup class="para">[1] </sup></a> I haven't been able to find a literature reference for this relation, but it appears to be the convention used by Mathematica. Intuitively the first @@ -315,7 +315,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="ellint_2.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="../jacobi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="ellint_2.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_d.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html> diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_carlson.html b/libs/math/doc/html/math_toolkit/ellint/ellint_carlson.html index 8b5465148..429802b76 100644 --- a/libs/math/doc/html/math_toolkit/ellint/ellint_carlson.html +++ b/libs/math/doc/html/math_toolkit/ellint/ellint_carlson.html @@ -3,8 +3,8 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Elliptic Integrals - Carlson Form</title> <link rel="stylesheet" href="../../math.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> -<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0"> +<meta name="generator" content="DocBook XSL Stylesheets V1.77.1"> +<link rel="home" href="../../index.html" title="Math Toolkit 2.2.0"> <link rel="up" href="../ellint.html" title="Elliptic Integrals"> <link rel="prev" href="ellint_intro.html" title="Elliptic Integral Overview"> <link rel="next" href="ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form"> @@ -79,6 +79,18 @@ <span class="special">}}</span> <span class="comment">// namespaces</span> </pre> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rg</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rg</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rg</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&)</span> + +<span class="special">}}</span> <span class="comment">// namespaces</span> +</pre> <h5> <a name="math_toolkit.ellint.ellint_carlson.h1"></a> <span class="phrase"><a name="math_toolkit.ellint.ellint_carlson.description"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.ellint.ellint_carlson.description">Description</a> @@ -89,7 +101,7 @@ graph gives an idea of their behavior: </p> <p> - <span class="inlinemediaobject"><img src="../../../graphs/ellint_carlson.png" align="middle"></span> + <span class="inlinemediaobject"><img src="../../../graphs/ellint_carlson.svg" align="middle"></span> </p> <p> The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result @@ -106,7 +118,7 @@ Returns Carlson's Elliptic Integral R<sub>F</sub>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint9.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint9.svg"></span> </p> <p> Requires that all of the arguments are non-negative, and at most one may @@ -128,7 +140,7 @@ Returns Carlson's elliptic integral R<sub>D</sub>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint10.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint10.svg"></span> </p> <p> Requires that x and y are non-negative, with at most one of them zero, and @@ -150,7 +162,7 @@ Returns Carlson's elliptic integral R<sub>J</sub>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint11.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint11.svg"></span> </p> <p> Requires that x, y and z are non-negative, with at most one of them zero, @@ -167,7 +179,7 @@ principal value</a> using the relation: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint17.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint17.svg"></span> </p> <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">></span> <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">)</span> @@ -179,7 +191,7 @@ Returns Carlson's elliptic integral R<sub>C</sub>: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint12.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint12.svg"></span> </p> <p> Requires that <span class="emphasis"><em>x > 0</em></span> and that <span class="emphasis"><em>y != 0</em></span>. @@ -196,7 +208,29 @@ principal value</a> using the relation: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint18.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint18.svg"></span> + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rg</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rg</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&)</span> +</pre> +<p> + Returns Carlson's elliptic integral R<sub>G</sub>: + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/ellint27.svg"></span> + </p> +<p> + Requires that x and y are non-negative, otherwise returns the result of + <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>. + </p> +<p> + The final <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can + be used to control the behaviour of the function: how it handles errors, + what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">policy + documentation for more details</a>. </p> <h5> <a name="math_toolkit.ellint.ellint_carlson.h2"></a> @@ -384,7 +418,7 @@ is the duplication theorem: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint13.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint13.svg"></span> </p> <p> By applying it repeatedly, <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, @@ -392,12 +426,13 @@ the special case equation </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint16.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint16.svg"></span> </p> <p> is used. More specifically, <span class="emphasis"><em>[R F]</em></span> is evaluated from a Taylor series expansion to the fifth order. The calculations of the other - three integrals are analogous. + three integrals are analogous, except for R<sub>C</sub> which can be computed from elementary + functions. </p> <p> For <span class="emphasis"><em>p < 0</em></span> in <span class="emphasis"><em>R<sub>J</sub>(x, y, z, p)</em></span> @@ -406,10 +441,10 @@ principal values</a> are returned via the relations: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint17.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint17.svg"></span> </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint18.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint18.svg"></span> </p> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_d.html b/libs/math/doc/html/math_toolkit/ellint/ellint_d.html new file mode 100644 index 000000000..5ded1ea3b --- /dev/null +++ b/libs/math/doc/html/math_toolkit/ellint/ellint_d.html @@ -0,0 +1,175 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Elliptic Integral D - Legendre Form</title> +<link rel="stylesheet" href="../../math.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.77.1"> +<link rel="home" href="../../index.html" title="Math Toolkit 2.2.0"> +<link rel="up" href="../ellint.html" title="Elliptic Integrals"> +<link rel="prev" href="ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form"> +<link rel="next" href="jacobi_zeta.html" title="Jacobi Zeta Function"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="ellint_3.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="jacobi_zeta.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="math_toolkit.ellint.ellint_d"></a><a class="link" href="ellint_d.html" title="Elliptic Integral D - Legendre Form">Elliptic Integral D - Legendre + Form</a> +</h3></div></div></div> +<h5> +<a name="math_toolkit.ellint.ellint_d.h0"></a> + <span class="phrase"><a name="math_toolkit.ellint.ellint_d.synopsis"></a></span><a class="link" href="ellint_d.html#math_toolkit.ellint.ellint_d.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_d</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_d</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_d</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_d</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_d</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&);</span> + +<span class="special">}}</span> <span class="comment">// namespaces</span> +</pre> +<h5> +<a name="math_toolkit.ellint.ellint_d.h1"></a> + <span class="phrase"><a name="math_toolkit.ellint.ellint_d.description"></a></span><a class="link" href="ellint_d.html#math_toolkit.ellint.ellint_d.description">Description</a> + </h5> +<p> + These two functions evaluate the incomplete elliptic integral <span class="emphasis"><em>D(φ, + k)</em></span> and its complete counterpart <span class="emphasis"><em>D(k) = D(π/2, k)</em></span>. + </p> +<p> + The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result + type calculation rules</em></span></a> when the arguments are of different + types: when they are the same type then the result is the same type as the + arguments. + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_d</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&);</span> +</pre> +<p> + Returns the incomplete elliptic integral: + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/ellint_d.svg"></span> + </p> +<p> + Requires <span class="emphasis"><em>-1 <= k <= 1</em></span>, otherwise returns the result + of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a> + (outside this range the result would be complex). + </p> +<p> + The final <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can + be used to control the behaviour of the function: how it handles errors, + what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">policy + documentation for more details</a>. + </p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_d</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_d</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&);</span> +</pre> +<p> + Returns the complete elliptic integral <span class="emphasis"><em>D(k) = D(π/2, k)</em></span> + </p> +<p> + Requires <span class="emphasis"><em>-1 <= k <= 1</em></span> otherwise returns the result + of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a> + (outside this range the result would be complex). + </p> +<p> + The final <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can + be used to control the behaviour of the function: how it handles errors, + what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">policy + documentation for more details</a>. + </p> +<h5> +<a name="math_toolkit.ellint.ellint_d.h2"></a> + <span class="phrase"><a name="math_toolkit.ellint.ellint_d.accuracy"></a></span><a class="link" href="ellint_d.html#math_toolkit.ellint.ellint_d.accuracy">Accuracy</a> + </h5> +<p> + These functions are trivially computed in terms of other elliptic integrals + and generally have very low error rates (a few epsilon) unless parameter + φ +is very large, in which case the usual trigonometric function argument-reduction + issues apply. + </p> +<h5> +<a name="math_toolkit.ellint.ellint_d.h3"></a> + <span class="phrase"><a name="math_toolkit.ellint.ellint_d.testing"></a></span><a class="link" href="ellint_d.html#math_toolkit.ellint.ellint_d.testing">Testing</a> + </h5> +<p> + The tests use a mixture of spot test values calculated using values calculated + at wolframalpha.com, and random test data generated using MPFR at 1000-bit + precision and a deliberately naive implementation in terms of the Legendre + integrals. + </p> +<h5> +<a name="math_toolkit.ellint.ellint_d.h4"></a> + <span class="phrase"><a name="math_toolkit.ellint.ellint_d.implementation"></a></span><a class="link" href="ellint_d.html#math_toolkit.ellint.ellint_d.implementation">Implementation</a> + </h5> +<p> + The implementation for D(φ, k) first performs argument reduction using the + relations: + </p> +<p> + <span class="emphasis"><em>D(-φ, k) = -D(φ, k)</em></span> + </p> +<p> + and + </p> +<p> + <span class="emphasis"><em>D(nπ+φ, k) = 2nD(k) + D(φ, k)</em></span> + </p> +<p> + to move φ   to the range [0, π/2]. + </p> +<p> + The functions are then implemented in terms of Carlson's integral R<sub>D</sub> +using + the relation: + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/ellint_d.svg"></span> + </p> +</div> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> +<td align="left"></td> +<td align="right"><div class="copyright-footer">Copyright © 2006-2010, 2012-2014 Nikhar Agrawal, + Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert + Holin, Bruno Lalande, John Maddock, Johan Råde, Gautam Sewani, Benjamin Sobotta, + Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + 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>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="ellint_3.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="jacobi_zeta.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_intro.html b/libs/math/doc/html/math_toolkit/ellint/ellint_intro.html index 61ea6f381..839f1fc0e 100644 --- a/libs/math/doc/html/math_toolkit/ellint/ellint_intro.html +++ b/libs/math/doc/html/math_toolkit/ellint/ellint_intro.html @@ -3,8 +3,8 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Elliptic Integral Overview</title> <link rel="stylesheet" href="../../math.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> -<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0"> +<meta name="generator" content="DocBook XSL Stylesheets V1.77.1"> +<link rel="home" href="../../index.html" title="Math Toolkit 2.2.0"> <link rel="up" href="../ellint.html" title="Elliptic Integrals"> <link rel="prev" href="../ellint.html" title="Elliptic Integrals"> <link rel="next" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form"> @@ -58,7 +58,7 @@ <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> </h5> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint1.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint1.svg"></span> </p> <p> is called elliptic integral if <span class="emphasis"><em>R(t, s)</em></span> is a rational @@ -74,25 +74,25 @@ Elliptic Integral of the First Kind (Legendre form) </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint2.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint2.svg"></span> </p> <p> Elliptic Integral of the Second Kind (Legendre form) </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint3.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint3.svg"></span> </p> <p> Elliptic Integral of the Third Kind (Legendre form) </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint4.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint4.svg"></span> </p> <p> where </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint5.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint5.svg"></span> </p> <div class="note"><table border="0" summary="Note"> <tr> @@ -168,21 +168,37 @@ Complete Elliptic Integral of the First Kind (Legendre form) </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint6.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint6.svg"></span> </p> <p> Complete Elliptic Integral of the Second Kind (Legendre form) </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint7.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint7.svg"></span> </p> <p> Complete Elliptic Integral of the Third Kind (Legendre form) </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint8.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint8.svg"></span> </p> <p> + Legendre also defined a forth integral D(φ,k) which is a combination of the + other three: + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/ellint_d.svg"></span> + </p> +<p> + Like the other Legendre integrals this comes in both complete and incomplete + forms. + </p> +<h5> +<a name="math_toolkit.ellint.ellint_intro.h2"></a> + <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 + Elliptic Integrals</a> + </h5> +<p> 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>] gives an alternative definition of elliptic integral's canonical forms: </p> @@ -190,7 +206,7 @@ Carlson's Elliptic Integral of the First Kind </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint9.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint9.svg"></span> </p> <p> where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, <span class="emphasis"><em>z</em></span> @@ -200,7 +216,7 @@ Carlson's Elliptic Integral of the Second Kind </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint10.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint10.svg"></span> </p> <p> where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span> are nonnegative, at @@ -210,7 +226,7 @@ Carlson's Elliptic Integral of the Third Kind </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint11.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint11.svg"></span> </p> <p> where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, <span class="emphasis"><em>z</em></span> @@ -221,7 +237,7 @@ Carlson's Degenerate Elliptic Integral </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint12.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint12.svg"></span> </p> <p> where <span class="emphasis"><em>x</em></span> is nonnegative and <span class="emphasis"><em>y</em></span> is @@ -241,8 +257,14 @@ </p> </td></tr> </table></div> +<p> + Carlson's Symmetric Integral + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/ellint27.svg"></span> + </p> <h5> -<a name="math_toolkit.ellint.ellint_intro.h2"></a> +<a name="math_toolkit.ellint.ellint_intro.h3"></a> <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 Theorem</a> </h5> @@ -251,10 +273,10 @@ that </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint13.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint13.svg"></span> </p> <h5> -<a name="math_toolkit.ellint.ellint_intro.h3"></a> +<a name="math_toolkit.ellint.ellint_intro.h4"></a> <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 Formulas</a> </h5> @@ -262,16 +284,39 @@ The Legendre form and Carlson form of elliptic integrals are related by equations: </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint14.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint14.svg"></span> </p> <p> In particular, </p> <p> - <span class="inlinemediaobject"><img src="../../../equations/ellint15.png"></span> + <span class="inlinemediaobject"><img src="../../../equations/ellint15.svg"></span> </p> <h5> -<a name="math_toolkit.ellint.ellint_intro.h4"></a> +<a name="math_toolkit.ellint.ellint_intro.h5"></a> + <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 + Elliptic Integrals</a> + </h5> +<p> + There are two functions related to the elliptic integrals which otherwise + defy categorisation, these are the Jacobi Zeta function: + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/jacobi_zeta.svg"></span> + </p> +<p> + and the Heuman Lambda function: + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/heuman_lambda.svg"></span> + </p> +<p> + Both of these functions are easily implemented in terms of Carlson's integrals, + and are provided in this library as <a class="link" href="jacobi_zeta.html" title="Jacobi Zeta Function">jacobi_zeta</a> + and <a class="link" href="heuman_lambda.html" title="Heuman Lambda Function">heuman_lambda</a>. + </p> +<h5> +<a name="math_toolkit.ellint.ellint_intro.h6"></a> <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 Algorithms</a> </h5> @@ -285,7 +330,7 @@ precisions. </p> <h5> -<a name="math_toolkit.ellint.ellint_intro.h5"></a> +<a name="math_toolkit.ellint.ellint_intro.h7"></a> <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> </h5> <p> diff --git a/libs/math/doc/html/math_toolkit/ellint/heuman_lambda.html b/libs/math/doc/html/math_toolkit/ellint/heuman_lambda.html new file mode 100644 index 000000000..96fce53b1 --- /dev/null +++ b/libs/math/doc/html/math_toolkit/ellint/heuman_lambda.html @@ -0,0 +1,130 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Heuman Lambda Function</title> +<link rel="stylesheet" href="../../math.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.77.1"> +<link rel="home" href="../../index.html" title="Math Toolkit 2.2.0"> +<link rel="up" href="../ellint.html" title="Elliptic Integrals"> +<link rel="prev" href="jacobi_zeta.html" title="Jacobi Zeta Function"> +<link rel="next" href="../jacobi.html" title="Jacobi Elliptic Functions"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="jacobi_zeta.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="../jacobi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="math_toolkit.ellint.heuman_lambda"></a><a class="link" href="heuman_lambda.html" title="Heuman Lambda Function">Heuman Lambda Function</a> +</h3></div></div></div> +<h5> +<a name="math_toolkit.ellint.heuman_lambda.h0"></a> + <span class="phrase"><a name="math_toolkit.ellint.heuman_lambda.synopsis"></a></span><a class="link" href="heuman_lambda.html#math_toolkit.ellint.heuman_lambda.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">heuman_lambda</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">heuman_lambda</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">heuman_lambda</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&);</span> + +<span class="special">}}</span> <span class="comment">// namespaces</span> +</pre> +<h5> +<a name="math_toolkit.ellint.heuman_lambda.h1"></a> + <span class="phrase"><a name="math_toolkit.ellint.heuman_lambda.description"></a></span><a class="link" href="heuman_lambda.html#math_toolkit.ellint.heuman_lambda.description">Description</a> + </h5> +<p> + This function evaluates the Heuman Lambda Function <span class="emphasis"><em>Λ<sub>0</sub>(φ, k)</em></span> + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/heuman_lambda.svg"></span> + </p> +<p> + The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result + type calculation rules</em></span></a> when the arguments are of different + types: when they are the same type then the result is the same type as the + arguments. + </p> +<p> + Requires <span class="emphasis"><em>-1 <= k <= 1</em></span>, otherwise returns the result + of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a> + (outside this range the result would be complex). + </p> +<p> + The final <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can + be used to control the behaviour of the function: how it handles errors, + what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">policy + documentation for more details</a>. + </p> +<p> + Note that there is no complete analogue of this function (where φ = π / 2) as + this takes the value 1 for all <span class="emphasis"><em>k</em></span>. + </p> +<h5> +<a name="math_toolkit.ellint.heuman_lambda.h2"></a> + <span class="phrase"><a name="math_toolkit.ellint.heuman_lambda.accuracy"></a></span><a class="link" href="heuman_lambda.html#math_toolkit.ellint.heuman_lambda.accuracy">Accuracy</a> + </h5> +<p> + These functions are trivially computed in terms of other elliptic integrals + and generally have very low error rates (a few epsilon) unless parameter + φ +is very large, in which case the usual trigonometric function argument-reduction + issues apply. + </p> +<h5> +<a name="math_toolkit.ellint.heuman_lambda.h3"></a> + <span class="phrase"><a name="math_toolkit.ellint.heuman_lambda.testing"></a></span><a class="link" href="heuman_lambda.html#math_toolkit.ellint.heuman_lambda.testing">Testing</a> + </h5> +<p> + The tests use a mixture of spot test values calculated using values calculated + at wolframalpha.com, and random test data generated using MPFR at 1000-bit + precision and a deliberately naive implementation in terms of the Legendre + integrals. + </p> +<h5> +<a name="math_toolkit.ellint.heuman_lambda.h4"></a> + <span class="phrase"><a name="math_toolkit.ellint.heuman_lambda.implementation"></a></span><a class="link" href="heuman_lambda.html#math_toolkit.ellint.heuman_lambda.implementation">Implementation</a> + </h5> +<p> + The function is then implemented in terms of Carlson's integrals R<sub>J</sub> and R<sub>F</sub> +using + the relation: + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/heuman_lambda.svg"></span> + </p> +<p> + This relation fails for <span class="emphasis"><em>|φ| >= π/2</em></span> in which case the + definition in terms of the Jacobi Zeta is used. + </p> +</div> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> +<td align="left"></td> +<td align="right"><div class="copyright-footer">Copyright © 2006-2010, 2012-2014 Nikhar Agrawal, + Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert + Holin, Bruno Lalande, John Maddock, Johan Råde, Gautam Sewani, Benjamin Sobotta, + Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + 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>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="jacobi_zeta.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="../jacobi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/math/doc/html/math_toolkit/ellint/jacobi_zeta.html b/libs/math/doc/html/math_toolkit/ellint/jacobi_zeta.html new file mode 100644 index 000000000..945ace297 --- /dev/null +++ b/libs/math/doc/html/math_toolkit/ellint/jacobi_zeta.html @@ -0,0 +1,139 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Jacobi Zeta Function</title> +<link rel="stylesheet" href="../../math.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.77.1"> +<link rel="home" href="../../index.html" title="Math Toolkit 2.2.0"> +<link rel="up" href="../ellint.html" title="Elliptic Integrals"> +<link rel="prev" href="ellint_d.html" title="Elliptic Integral D - Legendre Form"> +<link rel="next" href="heuman_lambda.html" title="Heuman Lambda Function"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="ellint_d.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="heuman_lambda.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="math_toolkit.ellint.jacobi_zeta"></a><a class="link" href="jacobi_zeta.html" title="Jacobi Zeta Function">Jacobi Zeta Function</a> +</h3></div></div></div> +<h5> +<a name="math_toolkit.ellint.jacobi_zeta.h0"></a> + <span class="phrase"><a name="math_toolkit.ellint.jacobi_zeta.synopsis"></a></span><a class="link" href="jacobi_zeta.html#math_toolkit.ellint.jacobi_zeta.synopsis">Synopsis</a> + </h5> +<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_zeta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> +</pre> +<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_zeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span> + +<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span> +<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_zeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&);</span> + +<span class="special">}}</span> <span class="comment">// namespaces</span> +</pre> +<h5> +<a name="math_toolkit.ellint.jacobi_zeta.h1"></a> + <span class="phrase"><a name="math_toolkit.ellint.jacobi_zeta.description"></a></span><a class="link" href="jacobi_zeta.html#math_toolkit.ellint.jacobi_zeta.description">Description</a> + </h5> +<p> + This function evaluates the Jacobi Zeta Function <span class="emphasis"><em>Z(φ, k)</em></span> + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/jacobi_zeta.svg"></span> + </p> +<p> + The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result + type calculation rules</em></span></a> when the arguments are of different + types: when they are the same type then the result is the same type as the + arguments. + </p> +<p> + Requires <span class="emphasis"><em>-1 <= k <= 1</em></span>, otherwise returns the result + of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a> + (outside this range the result would be complex). + </p> +<p> + The final <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can + be used to control the behaviour of the function: how it handles errors, + what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 14. Policies: Controlling Precision, Error Handling etc">policy + documentation for more details</a>. + </p> +<p> + Note that there is no complete analogue of this function (where φ = π / 2) as + this takes the value 0 for all <span class="emphasis"><em>k</em></span>. + </p> +<h5> +<a name="math_toolkit.ellint.jacobi_zeta.h2"></a> + <span class="phrase"><a name="math_toolkit.ellint.jacobi_zeta.accuracy"></a></span><a class="link" href="jacobi_zeta.html#math_toolkit.ellint.jacobi_zeta.accuracy">Accuracy</a> + </h5> +<p> + These functions are trivially computed in terms of other elliptic integrals + and generally have very low error rates (a few epsilon) unless parameter + φ +is very large, in which case the usual trigonometric function argument-reduction + issues apply. + </p> +<h5> +<a name="math_toolkit.ellint.jacobi_zeta.h3"></a> + <span class="phrase"><a name="math_toolkit.ellint.jacobi_zeta.testing"></a></span><a class="link" href="jacobi_zeta.html#math_toolkit.ellint.jacobi_zeta.testing">Testing</a> + </h5> +<p> + The tests use a mixture of spot test values calculated using values calculated + at wolframalpha.com, and random test data generated using MPFR at 1000-bit + precision and a deliberately naive implementation in terms of the Legendre + integrals. + </p> +<h5> +<a name="math_toolkit.ellint.jacobi_zeta.h4"></a> + <span class="phrase"><a name="math_toolkit.ellint.jacobi_zeta.implementation"></a></span><a class="link" href="jacobi_zeta.html#math_toolkit.ellint.jacobi_zeta.implementation">Implementation</a> + </h5> +<p> + The implementation for Z(φ, k) first makes the argument φ positive using: + </p> +<p> + <span class="emphasis"><em>Z(-φ, k) = -Z(φ, k)</em></span> + </p> +<p> + The function is then implemented in terms of Carlson's integral R<sub>J</sub> +using the + relation: + </p> +<p> + <span class="inlinemediaobject"><img src="../../../equations/jacobi_zeta.svg"></span> + </p> +<p> + There is one special case where the above relation fails: when <span class="emphasis"><em>k + = 1</em></span>, in that case the function simplifies to + </p> +<p> + <span class="emphasis"><em>Z(φ, 1) = sign(cos(φ)) sin(φ)</em></span> + </p> +</div> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> +<td align="left"></td> +<td align="right"><div class="copyright-footer">Copyright © 2006-2010, 2012-2014 Nikhar Agrawal, + Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert + Holin, Bruno Lalande, John Maddock, Johan Råde, Gautam Sewani, Benjamin Sobotta, + Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + 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>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="ellint_d.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="heuman_lambda.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> |