Jacobi Theta functions (#394)
* Jacobi Theta functions Implementations, tests, and ULP plotting programs are provided for the four Jacobi Theta functions per #373. Twenty-four public C++ functions are provided in all, covering various precision-preserving scenarios. Documentation for collaborators is provided in the code comments. Proper documentation for end users will be provided when the implementation and APIs are finalized. Some tests are failing; this implementation is meant to start a conversation. The core dilemma faced by the author was that large values of |q| resulted in slow convergence, and sometimes wildly inaccurate results. Following the implementation note in DLMF 20.14, I added code to switch over to the imaginary versions of the theta functions when |q| > 0.85. This restored accuracy such that all of the identity tests passed for a loose-enough epsilon, but then lost precision to the point that the Wolfram Alpha spot checks failed. It is the author's hope that someone with floating-point experience can tame the exponential dragons and squeeze the ULPs back down to a reasonable range when |q| is large. When #392 is merged I will add more thorough value tests, although I fully expect them to fail until the underlying precision issues are resolved. As a final note, the precision issues do not affect the z=0 case - the ULP plots indicate these return values within 2 ULP across all valid |q|. So that's a start. * [CI SKIP] Jacobi theta: Add special-value tests and more * Add tests covering z=0 special values from MathWorld * Add missing real_concept header * Replace M_PI and friends with constants::pi etc * Use BOOST_MATH_STD_USING in more places * Jacobi theta: Test two more of Watson's identities [CI SKIP] See https://mathworld.wolfram.com/JacobiThetaFunctions.html (Equations 48 and 49) * Improve precision of Jacobi theta functions [CI SKIP] Rewrite the private imaginary versions to use double-sided summations following DLMF 20.13.4 and 20.13.5. This cuts down the worst of the precision issues by a factor of 10, and gets more of the tests to pass. I am confident enough in the code path to eliminate the compile-time __JACOBI_THETA_USE_IMAGINARY flag. In fact the imaginary-z code paths are now enabled for all |q| > 0.04, i.e. most legal values of q. More extensive tests will be needed to illuminate any remaining precision issues. * Jacobi theta: Make changes suggested in #394 [CI SKIP] * Add LICENSE notice to main file * Document convergence criteria * Eliminate eps*eps = 0 logic. This causes some disagreement with the zero returned by Wolfram Alpha for z=0, q > 0.99 in the fourth function. Mathematically, the fourth function is never exactly zero, so I don't trust Wolfram here. * Per code-review comments, remove multiplications by floating-point 2. * Tweak the plotting programs to display their titles, and to uniformly use `float` as their CoarseType and `long double` as their `PreciseType`. * Add quadrature tests to Jacobi theta functions [CI SKIP] The quadrature tests revealed a problem in the m1 functions: they too should switch to the _IMAGINARY logic for q > exp(-pi), or will suffer from slow convergence. Fix them. Also tighten tolerances for many tests from sqrt(eps) to 100 * eps. * Test Jacobi thetas against elliptic functions and elliptic integrals [CI SKIP] See: * https://dlmf.nist.gov/22.2 * https://dlmf.nist.gov/20.9#i * Test Jacobi Thetas against their Laplace transforms [CI SKIP] See: * https://dlmf.nist.gov/20.10#ii I did find some disagreement, and dropped the negative sign from the theta1 equation. DLMF's theta2 and theta3 Laplace transform equations do not agree at all with the computed values - will need to investigate. In the meantime, the two implemented equations agree to 4 EPS so I am keeping them. * Add a note on using log1p with Jacobi theta functions [CI SKIP] See discussion: * https://github.com/boostorg/math/pull/394#issuecomment-655871762 * Add random data tests to Jacobi Theta functions [CI SKIP] Add a test data generator program for the Jacobi theta functions. This program will produce data for the tau parameterization, so that precision isn't lost during the log-transformation. This distinguishes it from the Wolfram Alpha data, which is parameterized by q. A few of these new random-data tests are failing, but not by obscene margins (< 100 EPS). These failures will be addressed when the test tolerances are finalized. * Add small-tau tests and simplify Jacobi Theta code [CI SKIP] Add tests for small tau (i.e. large q). The tests are failing with mean ~ 200 EPS and max ~ 800 EPS. These look like worst-case input, and should be the focus of future accuracy improvements. This commit also simplifies the _IMAGINARY code by abstracting all of the loops into a single svelte function. * Add user documentation for Jacobi Theta functions [CI SKIP] * Add function graphs to Jacobi Theta docs [CI SKIP] * Define Jacobi Theta test tolerances [CI SKIP] * Add implementation note on Jacobi theta functions [CI SKIP] * Consolidate Jacobi Theta ULPs plotting programs [CI SKIP] * Fix q domain checking of jacobi_theta4 [CI SKIP] * Add ULPs plots to Jacobi Theta docs [CI SKIP] Also add the built HTML files for easy evaluation. A full rebuild is needed for the new docs to appear in the indexes. * Add missing Jacobi Theta ULPs plots [CI SKIP] * Add LaTeX source for Jacobi Theta equations [CI SKIP] * Remove unused Jacobi Theta PNG equations [CI SKIP] * Add Jacobi Theta performance script [CI SKIP] Provided by @NAThompson. * Remove vestigial eps*eps check from jacobi_theta3 [CI SKIP] * Update Jacobi Theta docs per code review comments [CI SKIP] * Enable arg promotion for Jacobi Theta functions [CI SKIP] Add Jacobi theta functions to the instantiation tests and fix up everything needed to make them pass. This changes the function signatures to use promote_args. * Fix Jacobi Theta plotting script [CI SKIP] This script broke when the promote_args API was added. * Change Jacobi Theta convergence criterion [CI SKIP] Compare the non-oscillating part of the delta to the previous one. This avoids some headaches comparing the delta to the partial sum, because the partial sum can be a small number due to the oscillating component alternating signs. Because successive terms involve either q^n^2 or exp(-(pi*n)^2), convergence should still happen pretty quickly. Graphs have been updated and tests still passs with no noticeable difference.
1
doc/equations/jacobi_theta1.svg
Normal file
|
After Width: | Height: | Size: 23 KiB |
1
doc/equations/jacobi_theta1_imaginary.svg
Normal file
|
After Width: | Height: | Size: 16 KiB |
1
doc/equations/jacobi_theta1tau.svg
Normal file
|
After Width: | Height: | Size: 24 KiB |
1
doc/equations/jacobi_theta2.svg
Normal file
|
After Width: | Height: | Size: 12 KiB |
1
doc/equations/jacobi_theta2_imaginary.svg
Normal file
|
After Width: | Height: | Size: 16 KiB |
1
doc/equations/jacobi_theta2tau.svg
Normal file
|
After Width: | Height: | Size: 25 KiB |
1
doc/equations/jacobi_theta3.svg
Normal file
|
After Width: | Height: | Size: 21 KiB |
1
doc/equations/jacobi_theta3_imaginary.svg
Normal file
|
After Width: | Height: | Size: 17 KiB |
1
doc/equations/jacobi_theta3tau.svg
Normal file
|
After Width: | Height: | Size: 24 KiB |
1
doc/equations/jacobi_theta4.svg
Normal file
|
After Width: | Height: | Size: 22 KiB |
1
doc/equations/jacobi_theta4_imaginary.svg
Normal file
|
After Width: | Height: | Size: 17 KiB |
1
doc/equations/jacobi_theta4tau.svg
Normal file
|
After Width: | Height: | Size: 24 KiB |
1
doc/equations/jacobi_theta_nome.svg
Normal file
|
After Width: | Height: | Size: 19 KiB |
76
doc/graphs/jacobi_theta.svg
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="600" height ="400" version="1.1"
|
||||
xmlns:svg ="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns ="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
|
||||
<!-- Use, modification and distribution of Boost.Plot subject to the -->
|
||||
<!-- Boost Software License, Version 1.0.-->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt -->
|
||||
<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<!-- SVG Plot Copyright John Maddock 2008 -->
|
||||
<meta name="copyright" content="John Maddock" />
|
||||
<meta name="date" content="2008" />
|
||||
<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
|
||||
<!-- are subject to the Boost Software License, Version 1.0. -->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<clipPath id="plot_window"><rect x="70.1" y="53.5" width="413.2" height="292"/></clipPath>
|
||||
<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
|
||||
<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="69.1" y="52.5" width="415.2" height="294"/></g>
|
||||
<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="69.1" y1="52.5" x2="69.1" y2="351.5"/><line x1="69.1" y1="52.5" x2="69.1" y2="346.5"/></g>
|
||||
<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="64.1" y1="204" x2="484.3" y2="204"/><line x1="64.1" y1="346.5" x2="484.3" y2="346.5"/></g>
|
||||
<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M67.1,190 L69.1,190 M67.1,176 L69.1,176 M67.1,162 L69.1,162 M67.1,134 L69.1,134 M67.1,120 L69.1,120 M67.1,106 L69.1,106 M67.1,77.98 L69.1,77.98 M67.1,63.98 L69.1,63.98 M67.1,204 L69.1,204 M67.1,218 L69.1,218 M67.1,232 L69.1,232 M67.1,246 L69.1,246 M67.1,260 L69.1,260 M67.1,274 L69.1,274 M67.1,288 L69.1,288 M67.1,302 L69.1,302 M67.1,316 L69.1,316 M67.1,330 L69.1,330 M67.1,344 L69.1,344 " fill="none"/></g>
|
||||
<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M85.3,346.5 L85.3,348.5 M101.5,346.5 L101.5,348.5 M117.7,346.5 L117.7,348.5 M150.1,346.5 L150.1,348.5 M166.3,346.5 L166.3,348.5 M182.5,346.5 L182.5,348.5 M214.9,346.5 L214.9,348.5 M231.1,346.5 L231.1,348.5 M247.3,346.5 L247.3,348.5 M279.7,346.5 L279.7,348.5 M295.8,346.5 L295.8,348.5 M312,346.5 L312,348.5 M344.4,346.5 L344.4,348.5 M360.6,346.5 L360.6,348.5 M376.8,346.5 L376.8,348.5 M409.2,346.5 L409.2,348.5 M425.4,346.5 L425.4,348.5 M441.6,346.5 L441.6,348.5 M474,346.5 L474,348.5 " fill="none"/></g>
|
||||
<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M64.1,204 L69.1,204 M64.1,148 L69.1,148 M64.1,91.98 L69.1,91.98 M64.1,204 L69.1,204 M64.1,260 L69.1,260 M64.1,316 L69.1,316 " fill="none"/></g>
|
||||
<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M69.1,346.5 L69.1,351.5 M133.9,346.5 L133.9,351.5 M198.7,346.5 L198.7,351.5 M263.5,346.5 L263.5,351.5 M328.2,346.5 L328.2,351.5 M393,346.5 L393,351.5 M457.8,346.5 L457.8,351.5 M69.1,346.5 L69.1,351.5 " fill="none"/></g>
|
||||
<g id="xTicksValues">
|
||||
<text x="69.1" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="133.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">1</text>
|
||||
<text x="198.7" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">2</text>
|
||||
<text x="263.5" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">3</text>
|
||||
<text x="328.2" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">4</text>
|
||||
<text x="393" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">5</text>
|
||||
<text x="457.8" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">6</text>
|
||||
<text x="69.1" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text></g>
|
||||
<g id="yTicksValues">
|
||||
<text x="58.1" y="206.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="58.1" y="150.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.5</text>
|
||||
<text x="58.1" y="94.38" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">1</text>
|
||||
<text x="58.1" y="206.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="58.1" y="262.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">-0.5</text>
|
||||
<text x="58.1" y="318.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">-1</text></g>
|
||||
<g id="yLabel">
|
||||
<text x="19.4" y="199.5" text-anchor="middle" transform = "rotate(-90 19.4 199.5 )" font-size="14" font-family="Lucida Sans Unicode">jacobi_theta(x, q=0.15)</text></g>
|
||||
<g id="xLabel">
|
||||
<text x="276.7" y="382.2" text-anchor="middle" font-size="14" font-family="Lucida Sans Unicode">x</text></g>
|
||||
<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M69.1,204 L69.1,204 L71.14,199.9 L73.17,195.8 L75.21,191.7 L77.24,187.7 L79.28,183.6 L81.31,179.5 L83.35,175.5 L85.38,171.4 L87.42,167.4 L89.45,163.4 L91.49,159.4 L93.52,155.5 L95.56,151.6 L97.59,147.7 L99.63,143.8 L101.7,139.9 L103.7,136.1 L105.7,132.4 L107.8,128.7 L109.8,125 L111.8,121.4 L113.9,117.9 L115.9,114.4 L117.9,111 L120,107.6 L122,104.4 L124.1,101.2 L126.1,98.08 L128.1,95.07 L130.2,92.17 L132.2,89.36 L134.2,86.67 L136.3,84.09 L138.3,81.62 L140.3,79.28 L142.4,77.06 L144.4,74.98 L146.4,73.03 L148.5,71.22 L150.5,69.55 L152.5,68.04 L154.6,66.67 L156.6,65.45 L158.7,64.4 L160.7,63.5 L162.7,62.76 L164.8,62.18 L166.8,61.77 L168.8,61.52 L170.9,61.44 L172.9,61.52 L174.9,61.77 L177,62.18 L179,62.76 L181,63.5 L183.1,64.4 L185.1,65.45 L187.1,66.67 L189.2,68.04 L191.2,69.55 L193.3,71.22 L195.3,73.03 L197.3,74.98 L199.4,77.06 L201.4,79.28 L203.4,81.62 L205.5,84.09 L207.5,86.67 L209.5,89.36 L211.6,92.17 L213.6,95.07 L215.6,98.08 L217.7,101.2 L219.7,104.4 L221.7,107.6 L223.8,111 L225.8,114.4 L227.9,117.9 L229.9,121.4 L231.9,125 L234,128.7 L236,132.4 L238,136.1 L240.1,139.9 L242.1,143.8 L244.1,147.7 L246.2,151.6 L248.2,155.5 L250.2,159.4 L252.3,163.4 L254.3,167.4 L256.3,171.4 L258.4,175.5 L260.4,179.5 L262.5,183.6 L264.5,187.7 L266.5,191.7 L268.6,195.8 L270.6,199.9 L272.6,204 L274.7,208.1 L276.7,212.1 L278.7,216.2 L280.8,220.3 L282.8,224.4 L284.8,228.4 L286.9,232.5 L288.9,236.5 L290.9,240.5 L293,244.5 L295,248.5 L297.1,252.4 L299.1,256.4 L301.1,260.3 L303.2,264.2 L305.2,268 L307.2,271.8 L309.3,275.5 L311.3,279.3 L313.3,282.9 L315.4,286.5 L317.4,290.1 L319.4,293.6 L321.5,297 L323.5,300.3 L325.5,303.6 L327.6,306.8 L329.6,309.9 L331.7,312.9 L333.7,315.8 L335.7,318.6 L337.8,321.3 L339.8,323.9 L341.8,326.3 L343.9,328.7 L345.9,330.9 L347.9,333 L350,334.9 L352,336.7 L354,338.4 L356.1,339.9 L358.1,341.3 L360.1,342.5 L362.2,343.5 L364.2,344.4 L366.3,345.2 L368.3,345.8 L370.3,346.2 L372.4,346.4 L374.4,346.5 L376.4,346.4 L378.5,346.2 L380.5,345.8 L382.5,345.2 L384.6,344.4 L386.6,343.5 L388.6,342.5 L390.7,341.3 L392.7,339.9 L394.7,338.4 L396.8,336.7 L398.8,334.9 L400.9,333 L402.9,330.9 L404.9,328.7 L407,326.3 L409,323.9 L411,321.3 L413.1,318.6 L415.1,315.8 L417.1,312.9 L419.2,309.9 L421.2,306.8 L423.2,303.6 L425.3,300.3 L427.3,297 L429.3,293.6 L431.4,290.1 L433.4,286.5 L435.5,282.9 L437.5,279.3 L439.5,275.5 L441.6,271.8 L443.6,268 L445.6,264.2 L447.7,260.3 L449.7,256.4 L451.7,252.4 L453.8,248.5 L455.8,244.5 L457.8,240.5 L459.9,236.5 L461.9,232.5 L463.9,228.4 L466,224.4 L468,220.3 L470.1,216.2 L472.1,212.1 L474.1,208.1 L476.2,204 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M69.1,61.44 L69.1,61.44 L71.14,61.52 L73.17,61.77 L75.21,62.18 L77.24,62.76 L79.28,63.5 L81.31,64.4 L83.35,65.45 L85.38,66.67 L87.42,68.04 L89.45,69.55 L91.49,71.22 L93.52,73.03 L95.56,74.98 L97.59,77.06 L99.63,79.28 L101.7,81.62 L103.7,84.09 L105.7,86.67 L107.8,89.36 L109.8,92.17 L111.8,95.07 L113.9,98.08 L115.9,101.2 L117.9,104.4 L120,107.6 L122,111 L124.1,114.4 L126.1,117.9 L128.1,121.4 L130.2,125 L132.2,128.7 L134.2,132.4 L136.3,136.1 L138.3,139.9 L140.3,143.8 L142.4,147.7 L144.4,151.6 L146.4,155.5 L148.5,159.4 L150.5,163.4 L152.5,167.4 L154.6,171.4 L156.6,175.5 L158.7,179.5 L160.7,183.6 L162.7,187.7 L164.8,191.7 L166.8,195.8 L168.8,199.9 L170.9,204 L172.9,208.1 L174.9,212.1 L177,216.2 L179,220.3 L181,224.4 L183.1,228.4 L185.1,232.5 L187.1,236.5 L189.2,240.5 L191.2,244.5 L193.3,248.5 L195.3,252.4 L197.3,256.4 L199.4,260.3 L201.4,264.2 L203.4,268 L205.5,271.8 L207.5,275.5 L209.5,279.3 L211.6,282.9 L213.6,286.5 L215.6,290.1 L217.7,293.6 L219.7,297 L221.7,300.3 L223.8,303.6 L225.8,306.8 L227.9,309.9 L229.9,312.9 L231.9,315.8 L234,318.6 L236,321.3 L238,323.9 L240.1,326.3 L242.1,328.7 L244.1,330.9 L246.2,333 L248.2,334.9 L250.2,336.7 L252.3,338.4 L254.3,339.9 L256.3,341.3 L258.4,342.5 L260.4,343.5 L262.5,344.4 L264.5,345.2 L266.5,345.8 L268.6,346.2 L270.6,346.4 L272.6,346.5 L274.7,346.4 L276.7,346.2 L278.7,345.8 L280.8,345.2 L282.8,344.4 L284.8,343.5 L286.9,342.5 L288.9,341.3 L290.9,339.9 L293,338.4 L295,336.7 L297.1,334.9 L299.1,333 L301.1,330.9 L303.2,328.7 L305.2,326.3 L307.2,323.9 L309.3,321.3 L311.3,318.6 L313.3,315.8 L315.4,312.9 L317.4,309.9 L319.4,306.8 L321.5,303.6 L323.5,300.3 L325.5,297 L327.6,293.6 L329.6,290.1 L331.7,286.5 L333.7,282.9 L335.7,279.3 L337.8,275.5 L339.8,271.8 L341.8,268 L343.9,264.2 L345.9,260.3 L347.9,256.4 L350,252.4 L352,248.5 L354,244.5 L356.1,240.5 L358.1,236.5 L360.1,232.5 L362.2,228.4 L364.2,224.4 L366.3,220.3 L368.3,216.2 L370.3,212.1 L372.4,208.1 L374.4,204 L376.4,199.9 L378.5,195.8 L380.5,191.7 L382.5,187.7 L384.6,183.6 L386.6,179.5 L388.6,175.5 L390.7,171.4 L392.7,167.4 L394.7,163.4 L396.8,159.4 L398.8,155.5 L400.9,151.6 L402.9,147.7 L404.9,143.8 L407,139.9 L409,136.1 L411,132.4 L413.1,128.7 L415.1,125 L417.1,121.4 L419.2,117.9 L421.2,114.4 L423.2,111 L425.3,107.6 L427.3,104.4 L429.3,101.2 L431.4,98.08 L433.4,95.07 L435.5,92.17 L437.5,89.36 L439.5,86.67 L441.6,84.09 L443.6,81.62 L445.6,79.28 L447.7,77.06 L449.7,74.98 L451.7,73.03 L453.8,71.22 L455.8,69.55 L457.8,68.04 L459.9,66.67 L461.9,65.45 L463.9,64.4 L466,63.5 L468,62.76 L470.1,62.18 L472.1,61.77 L474.1,61.52 L476.2,61.44 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M69.1,58.26 L69.1,58.26 L71.14,58.33 L73.17,58.53 L75.21,58.87 L77.24,59.33 L79.28,59.93 L81.31,60.65 L83.35,61.5 L85.38,62.47 L87.42,63.56 L89.45,64.76 L91.49,66.07 L93.52,67.48 L95.56,68.98 L97.59,70.58 L99.63,72.26 L101.7,74.02 L103.7,75.85 L105.7,77.74 L107.8,79.69 L109.8,81.69 L111.8,83.72 L113.9,85.79 L115.9,87.87 L117.9,89.98 L120,92.09 L122,94.2 L124.1,96.3 L126.1,98.38 L128.1,100.4 L130.2,102.4 L132.2,104.4 L134.2,106.4 L136.3,108.2 L138.3,110 L140.3,111.8 L142.4,113.4 L144.4,115 L146.4,116.5 L148.5,117.8 L150.5,119.1 L152.5,120.3 L154.6,121.4 L156.6,122.3 L158.7,123.1 L160.7,123.8 L162.7,124.4 L164.8,124.9 L166.8,125.2 L168.8,125.4 L170.9,125.5 L172.9,125.4 L174.9,125.2 L177,124.9 L179,124.4 L181,123.8 L183.1,123.1 L185.1,122.3 L187.1,121.4 L189.2,120.3 L191.2,119.1 L193.3,117.8 L195.3,116.5 L197.3,115 L199.4,113.4 L201.4,111.8 L203.4,110 L205.5,108.2 L207.5,106.4 L209.5,104.4 L211.6,102.4 L213.6,100.4 L215.6,98.38 L217.7,96.3 L219.7,94.2 L221.7,92.09 L223.8,89.98 L225.8,87.87 L227.9,85.79 L229.9,83.72 L231.9,81.69 L234,79.69 L236,77.74 L238,75.85 L240.1,74.02 L242.1,72.26 L244.1,70.58 L246.2,68.98 L248.2,67.48 L250.2,66.07 L252.3,64.76 L254.3,63.56 L256.3,62.47 L258.4,61.5 L260.4,60.65 L262.5,59.93 L264.5,59.33 L266.5,58.87 L268.6,58.53 L270.6,58.33 L272.6,58.26 L274.7,58.33 L276.7,58.53 L278.7,58.87 L280.8,59.33 L282.8,59.93 L284.8,60.65 L286.9,61.5 L288.9,62.47 L290.9,63.56 L293,64.76 L295,66.07 L297.1,67.48 L299.1,68.98 L301.1,70.58 L303.2,72.26 L305.2,74.02 L307.2,75.85 L309.3,77.74 L311.3,79.69 L313.3,81.69 L315.4,83.72 L317.4,85.79 L319.4,87.87 L321.5,89.98 L323.5,92.09 L325.5,94.2 L327.6,96.3 L329.6,98.38 L331.7,100.4 L333.7,102.4 L335.7,104.4 L337.8,106.4 L339.8,108.2 L341.8,110 L343.9,111.8 L345.9,113.4 L347.9,115 L350,116.5 L352,117.8 L354,119.1 L356.1,120.3 L358.1,121.4 L360.1,122.3 L362.2,123.1 L364.2,123.8 L366.3,124.4 L368.3,124.9 L370.3,125.2 L372.4,125.4 L374.4,125.5 L376.4,125.4 L378.5,125.2 L380.5,124.9 L382.5,124.4 L384.6,123.8 L386.6,123.1 L388.6,122.3 L390.7,121.4 L392.7,120.3 L394.7,119.1 L396.8,117.8 L398.8,116.5 L400.9,115 L402.9,113.4 L404.9,111.8 L407,110 L409,108.2 L411,106.4 L413.1,104.4 L415.1,102.4 L417.1,100.4 L419.2,98.38 L421.2,96.3 L423.2,94.2 L425.3,92.09 L427.3,89.98 L429.3,87.87 L431.4,85.79 L433.4,83.72 L435.5,81.69 L437.5,79.69 L439.5,77.74 L441.6,75.85 L443.6,74.02 L445.6,72.26 L447.7,70.58 L449.7,68.98 L451.7,67.48 L453.8,66.07 L455.8,64.76 L457.8,63.56 L459.9,62.47 L461.9,61.5 L463.9,60.65 L466,59.93 L468,59.33 L470.1,58.87 L472.1,58.53 L474.1,58.33 L476.2,58.26 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M69.1,125.5 L69.1,125.5 L71.14,125.4 L73.17,125.2 L75.21,124.9 L77.24,124.4 L79.28,123.8 L81.31,123.1 L83.35,122.3 L85.38,121.4 L87.42,120.3 L89.45,119.1 L91.49,117.8 L93.52,116.5 L95.56,115 L97.59,113.4 L99.63,111.8 L101.7,110 L103.7,108.2 L105.7,106.4 L107.8,104.4 L109.8,102.4 L111.8,100.4 L113.9,98.38 L115.9,96.3 L117.9,94.2 L120,92.09 L122,89.98 L124.1,87.87 L126.1,85.79 L128.1,83.72 L130.2,81.69 L132.2,79.69 L134.2,77.74 L136.3,75.85 L138.3,74.02 L140.3,72.26 L142.4,70.58 L144.4,68.98 L146.4,67.48 L148.5,66.07 L150.5,64.76 L152.5,63.56 L154.6,62.47 L156.6,61.5 L158.7,60.65 L160.7,59.93 L162.7,59.33 L164.8,58.87 L166.8,58.53 L168.8,58.33 L170.9,58.26 L172.9,58.33 L174.9,58.53 L177,58.87 L179,59.33 L181,59.93 L183.1,60.65 L185.1,61.5 L187.1,62.47 L189.2,63.56 L191.2,64.76 L193.3,66.07 L195.3,67.48 L197.3,68.98 L199.4,70.58 L201.4,72.26 L203.4,74.02 L205.5,75.85 L207.5,77.74 L209.5,79.69 L211.6,81.69 L213.6,83.72 L215.6,85.79 L217.7,87.87 L219.7,89.98 L221.7,92.09 L223.8,94.2 L225.8,96.3 L227.9,98.38 L229.9,100.4 L231.9,102.4 L234,104.4 L236,106.4 L238,108.2 L240.1,110 L242.1,111.8 L244.1,113.4 L246.2,115 L248.2,116.5 L250.2,117.8 L252.3,119.1 L254.3,120.3 L256.3,121.4 L258.4,122.3 L260.4,123.1 L262.5,123.8 L264.5,124.4 L266.5,124.9 L268.6,125.2 L270.6,125.4 L272.6,125.5 L274.7,125.4 L276.7,125.2 L278.7,124.9 L280.8,124.4 L282.8,123.8 L284.8,123.1 L286.9,122.3 L288.9,121.4 L290.9,120.3 L293,119.1 L295,117.8 L297.1,116.5 L299.1,115 L301.1,113.4 L303.2,111.8 L305.2,110 L307.2,108.2 L309.3,106.4 L311.3,104.4 L313.3,102.4 L315.4,100.4 L317.4,98.38 L319.4,96.3 L321.5,94.2 L323.5,92.09 L325.5,89.98 L327.6,87.87 L329.6,85.79 L331.7,83.72 L333.7,81.69 L335.7,79.69 L337.8,77.74 L339.8,75.85 L341.8,74.02 L343.9,72.26 L345.9,70.58 L347.9,68.98 L350,67.48 L352,66.07 L354,64.76 L356.1,63.56 L358.1,62.47 L360.1,61.5 L362.2,60.65 L364.2,59.93 L366.3,59.33 L368.3,58.87 L370.3,58.53 L372.4,58.33 L374.4,58.26 L376.4,58.33 L378.5,58.53 L380.5,58.87 L382.5,59.33 L384.6,59.93 L386.6,60.65 L388.6,61.5 L390.7,62.47 L392.7,63.56 L394.7,64.76 L396.8,66.07 L398.8,67.48 L400.9,68.98 L402.9,70.58 L404.9,72.26 L407,74.02 L409,75.85 L411,77.74 L413.1,79.69 L415.1,81.69 L417.1,83.72 L419.2,85.79 L421.2,87.87 L423.2,89.98 L425.3,92.09 L427.3,94.2 L429.3,96.3 L431.4,98.38 L433.4,100.4 L435.5,102.4 L437.5,104.4 L439.5,106.4 L441.6,108.2 L443.6,110 L445.6,111.8 L447.7,113.4 L449.7,115 L451.7,116.5 L453.8,117.8 L455.8,119.1 L457.8,120.3 L459.9,121.4 L461.9,122.3 L463.9,123.1 L466,123.8 L468,124.4 L470.1,124.9 L472.1,125.2 L474.1,125.4 L476.2,125.5 " fill="none"/></g>
|
||||
</g>
|
||||
<g id="plotPoints" clip-path="url(#plot_window)"></g>
|
||||
<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="498.3" y="52.5" width="99.2" height="126"/><rect x="498.3" y="52.5" width="99.2" height="126"/></g>
|
||||
<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="512.3" y1="80.5" x2="526.3" y2="80.5"/></g>
|
||||
<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="512.3" y1="108.5" x2="526.3" y2="108.5"/></g>
|
||||
<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="512.3" y1="136.5" x2="526.3" y2="136.5"/></g>
|
||||
<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="512.3" y1="164.5" x2="526.3" y2="164.5"/></g>
|
||||
</g>
|
||||
<g id="legendText">
|
||||
<text x="533.3" y="80.5" font-size="14" font-family="Lucida Sans Unicode">θ₁</text>
|
||||
<text x="533.3" y="108.5" font-size="14" font-family="Lucida Sans Unicode">θ₂</text>
|
||||
<text x="533.3" y="136.5" font-size="14" font-family="Lucida Sans Unicode">θ₃</text>
|
||||
<text x="533.3" y="164.5" font-size="14" font-family="Lucida Sans Unicode">θ₄</text></g>
|
||||
<g id="title">
|
||||
<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Lucida Sans Unicode">Jacobi Theta Functions</text></g>
|
||||
<g id="plotXValues"></g>
|
||||
<g id="plotYValues"></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
74
doc/graphs/jacobi_theta1.svg
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="600" height ="400" version="1.1"
|
||||
xmlns:svg ="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns ="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
|
||||
<!-- Use, modification and distribution of Boost.Plot subject to the -->
|
||||
<!-- Boost Software License, Version 1.0.-->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt -->
|
||||
<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<!-- SVG Plot Copyright John Maddock 2008 -->
|
||||
<meta name="copyright" content="John Maddock" />
|
||||
<meta name="date" content="2008" />
|
||||
<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
|
||||
<!-- are subject to the Boost Software License, Version 1.0. -->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<clipPath id="plot_window"><rect x="53.3" y="53.5" width="422.2" height="292"/></clipPath>
|
||||
<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
|
||||
<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="52.3" y="52.5" width="424.2" height="294"/></g>
|
||||
<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="52.3" y1="52.5" x2="52.3" y2="351.5"/><line x1="52.3" y1="52.5" x2="52.3" y2="346.5"/></g>
|
||||
<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="47.3" y1="202.4" x2="476.5" y2="202.4"/><line x1="47.3" y1="346.5" x2="476.5" y2="346.5"/></g>
|
||||
<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M50.3,169.4 L52.3,169.4 M50.3,136.4 L52.3,136.4 M50.3,103.4 L52.3,103.4 M50.3,202.4 L52.3,202.4 M50.3,235.4 L52.3,235.4 M50.3,268.4 L52.3,268.4 M50.3,301.4 L52.3,301.4 M50.3,334.3 L52.3,334.3 " fill="none"/></g>
|
||||
<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M68.85,346.5 L68.85,348.5 M85.39,346.5 L85.39,348.5 M101.9,346.5 L101.9,348.5 M135,346.5 L135,348.5 M151.6,346.5 L151.6,348.5 M168.1,346.5 L168.1,348.5 M201.2,346.5 L201.2,348.5 M217.8,346.5 L217.8,348.5 M234.3,346.5 L234.3,348.5 M267.4,346.5 L267.4,348.5 M283.9,346.5 L283.9,348.5 M300.5,346.5 L300.5,348.5 M333.6,346.5 L333.6,348.5 M350.1,346.5 L350.1,348.5 M366.7,346.5 L366.7,348.5 M399.8,346.5 L399.8,348.5 M416.3,346.5 L416.3,348.5 M432.9,346.5 L432.9,348.5 M465.9,346.5 L465.9,348.5 " fill="none"/></g>
|
||||
<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M47.3,202.4 L52.3,202.4 M47.3,70.42 L52.3,70.42 M47.3,202.4 L52.3,202.4 M47.3,334.3 L52.3,334.3 " fill="none"/></g>
|
||||
<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M52.3,346.5 L52.3,351.5 M118.5,346.5 L118.5,351.5 M184.7,346.5 L184.7,351.5 M250.9,346.5 L250.9,351.5 M317,346.5 L317,351.5 M383.2,346.5 L383.2,351.5 M449.4,346.5 L449.4,351.5 M52.3,346.5 L52.3,351.5 " fill="none"/></g>
|
||||
<g id="xTicksValues">
|
||||
<text x="52.3" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="118.5" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">1</text>
|
||||
<text x="184.7" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">2</text>
|
||||
<text x="250.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">3</text>
|
||||
<text x="317" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">4</text>
|
||||
<text x="383.2" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">5</text>
|
||||
<text x="449.4" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">6</text>
|
||||
<text x="52.3" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text></g>
|
||||
<g id="yTicksValues">
|
||||
<text x="41.3" y="204.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="41.3" y="72.82" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">5</text>
|
||||
<text x="41.3" y="204.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="41.3" y="336.7" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">-5</text></g>
|
||||
<g id="yLabel">
|
||||
<text x="19.4" y="199.5" text-anchor="middle" transform = "rotate(-90 19.4 199.5 )" font-size="14" font-family="Lucida Sans Unicode">jacobi_theta1(x, q)</text></g>
|
||||
<g id="xLabel">
|
||||
<text x="264.4" y="382.2" text-anchor="middle" font-size="14" font-family="Lucida Sans Unicode">x</text></g>
|
||||
<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M52.3,202.4 L52.3,202.4 L54.38,201.6 L56.46,200.8 L58.54,200.1 L60.62,199.3 L62.7,198.5 L64.78,197.7 L66.85,197 L68.93,196.2 L71.01,195.5 L73.09,194.7 L75.17,194 L77.25,193.3 L79.33,192.5 L81.41,191.8 L83.49,191.1 L85.57,190.4 L87.65,189.7 L89.73,189.1 L91.81,188.4 L93.88,187.8 L95.96,187.1 L98.04,186.5 L100.1,185.9 L102.2,185.3 L104.3,184.8 L106.4,184.2 L108.4,183.7 L110.5,183.2 L112.6,182.7 L114.7,182.2 L116.8,181.8 L118.8,181.3 L120.9,180.9 L123,180.5 L125.1,180.1 L127.2,179.8 L129.2,179.5 L131.3,179.1 L133.4,178.9 L135.5,178.6 L137.5,178.4 L139.6,178.2 L141.7,178 L143.8,177.8 L145.9,177.7 L147.9,177.6 L150,177.5 L152.1,177.4 L154.2,177.4 L156.3,177.4 L158.3,177.4 L160.4,177.4 L162.5,177.5 L164.6,177.6 L166.7,177.7 L168.7,177.8 L170.8,178 L172.9,178.2 L175,178.4 L177.1,178.6 L179.1,178.9 L181.2,179.1 L183.3,179.5 L185.4,179.8 L187.4,180.1 L189.5,180.5 L191.6,180.9 L193.7,181.3 L195.8,181.8 L197.8,182.2 L199.9,182.7 L202,183.2 L204.1,183.7 L206.2,184.2 L208.2,184.8 L210.3,185.3 L212.4,185.9 L214.5,186.5 L216.6,187.1 L218.6,187.8 L220.7,188.4 L222.8,189.1 L224.9,189.7 L227,190.4 L229,191.1 L231.1,191.8 L233.2,192.5 L235.3,193.3 L237.4,194 L239.4,194.7 L241.5,195.5 L243.6,196.2 L245.7,197 L247.7,197.7 L249.8,198.5 L251.9,199.3 L254,200.1 L256.1,200.8 L258.1,201.6 L260.2,202.4 L262.3,203.2 L264.4,203.9 L266.5,204.7 L268.5,205.5 L270.6,206.3 L272.7,207 L274.8,207.8 L276.9,208.5 L278.9,209.3 L281,210 L283.1,210.8 L285.2,211.5 L287.3,212.2 L289.3,212.9 L291.4,213.7 L293.5,214.3 L295.6,215 L297.6,215.7 L299.7,216.4 L301.8,217 L303.9,217.6 L306,218.2 L308,218.8 L310.1,219.4 L312.2,220 L314.3,220.5 L316.4,221.1 L318.4,221.6 L320.5,222.1 L322.6,222.6 L324.7,223 L326.8,223.4 L328.8,223.9 L330.9,224.3 L333,224.6 L335.1,225 L337.2,225.3 L339.2,225.6 L341.3,225.9 L343.4,226.2 L345.5,226.4 L347.5,226.6 L349.6,226.8 L351.7,227 L353.8,227.1 L355.9,227.2 L357.9,227.3 L360,227.4 L362.1,227.4 L364.2,227.4 L366.3,227.4 L368.3,227.4 L370.4,227.3 L372.5,227.2 L374.6,227.1 L376.7,227 L378.7,226.8 L380.8,226.6 L382.9,226.4 L385,226.2 L387.1,225.9 L389.1,225.6 L391.2,225.3 L393.3,225 L395.4,224.6 L397.4,224.3 L399.5,223.9 L401.6,223.4 L403.7,223 L405.8,222.6 L407.8,222.1 L409.9,221.6 L412,221.1 L414.1,220.5 L416.2,220 L418.2,219.4 L420.3,218.8 L422.4,218.2 L424.5,217.6 L426.6,217 L428.6,216.4 L430.7,215.7 L432.8,215 L434.9,214.3 L437,213.7 L439,212.9 L441.1,212.2 L443.2,211.5 L445.3,210.8 L447.4,210 L449.4,209.3 L451.5,208.5 L453.6,207.8 L455.7,207 L457.7,206.3 L459.8,205.5 L461.9,204.7 L464,203.9 L466.1,203.2 L468.1,202.4 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M52.3,202.4 L52.3,202.4 L54.38,201.9 L56.46,201.5 L58.54,201 L60.62,200.5 L62.7,200 L64.78,199.5 L66.85,198.9 L68.93,198.3 L71.01,197.6 L73.09,197 L75.17,196.2 L77.25,195.4 L79.33,194.6 L81.41,193.7 L83.49,192.7 L85.57,191.7 L87.65,190.6 L89.73,189.4 L91.81,188.1 L93.88,186.8 L95.96,185.5 L98.04,184 L100.1,182.5 L102.2,180.9 L104.3,179.3 L106.4,177.7 L108.4,175.9 L110.5,174.2 L112.6,172.4 L114.7,170.6 L116.8,168.8 L118.8,167 L120.9,165.2 L123,163.4 L125.1,161.6 L127.2,159.9 L129.2,158.2 L131.3,156.6 L133.4,155.1 L135.5,153.7 L137.5,152.3 L139.6,151.1 L141.7,150 L143.8,149 L145.9,148.2 L147.9,147.5 L150,146.9 L152.1,146.5 L154.2,146.3 L156.3,146.2 L158.3,146.3 L160.4,146.5 L162.5,146.9 L164.6,147.5 L166.7,148.2 L168.7,149 L170.8,150 L172.9,151.1 L175,152.3 L177.1,153.7 L179.1,155.1 L181.2,156.6 L183.3,158.2 L185.4,159.9 L187.4,161.6 L189.5,163.4 L191.6,165.2 L193.7,167 L195.8,168.8 L197.8,170.6 L199.9,172.4 L202,174.2 L204.1,175.9 L206.2,177.7 L208.2,179.3 L210.3,180.9 L212.4,182.5 L214.5,184 L216.6,185.5 L218.6,186.8 L220.7,188.1 L222.8,189.4 L224.9,190.6 L227,191.7 L229,192.7 L231.1,193.7 L233.2,194.6 L235.3,195.4 L237.4,196.2 L239.4,197 L241.5,197.6 L243.6,198.3 L245.7,198.9 L247.7,199.5 L249.8,200 L251.9,200.5 L254,201 L256.1,201.5 L258.1,201.9 L260.2,202.4 L262.3,202.8 L264.4,203.3 L266.5,203.8 L268.5,204.3 L270.6,204.8 L272.7,205.3 L274.8,205.9 L276.9,206.5 L278.9,207.1 L281,207.8 L283.1,208.5 L285.2,209.3 L287.3,210.2 L289.3,211.1 L291.4,212.1 L293.5,213.1 L295.6,214.2 L297.6,215.4 L299.7,216.6 L301.8,217.9 L303.9,219.3 L306,220.7 L308,222.3 L310.1,223.8 L312.2,225.4 L314.3,227.1 L316.4,228.8 L318.4,230.6 L320.5,232.4 L322.6,234.2 L324.7,236 L326.8,237.8 L328.8,239.6 L330.9,241.4 L333,243.2 L335.1,244.9 L337.2,246.6 L339.2,248.2 L341.3,249.7 L343.4,251.1 L345.5,252.4 L347.5,253.7 L349.6,254.8 L351.7,255.8 L353.8,256.6 L355.9,257.3 L357.9,257.9 L360,258.3 L362.1,258.5 L364.2,258.6 L366.3,258.5 L368.3,258.3 L370.4,257.9 L372.5,257.3 L374.6,256.6 L376.7,255.8 L378.7,254.8 L380.8,253.7 L382.9,252.4 L385,251.1 L387.1,249.7 L389.1,248.2 L391.2,246.6 L393.3,244.9 L395.4,243.2 L397.4,241.4 L399.5,239.6 L401.6,237.8 L403.7,236 L405.8,234.2 L407.8,232.4 L409.9,230.6 L412,228.8 L414.1,227.1 L416.2,225.4 L418.2,223.8 L420.3,222.3 L422.4,220.7 L424.5,219.3 L426.6,217.9 L428.6,216.6 L430.7,215.4 L432.8,214.2 L434.9,213.1 L437,212.1 L439,211.1 L441.1,210.2 L443.2,209.3 L445.3,208.5 L447.4,207.8 L449.4,207.1 L451.5,206.5 L453.6,205.9 L455.7,205.3 L457.7,204.8 L459.8,204.3 L461.9,203.8 L464,203.3 L466.1,202.8 L468.1,202.4 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M52.3,202.4 L52.3,202.4 L54.38,202.3 L56.46,202.3 L58.54,202.2 L60.62,202.2 L62.7,202.1 L64.78,202 L66.85,201.9 L68.93,201.8 L71.01,201.6 L73.09,201.5 L75.17,201.2 L77.25,200.9 L79.33,200.6 L81.41,200.2 L83.49,199.7 L85.57,199.2 L87.65,198.5 L89.73,197.8 L91.81,196.9 L93.88,195.9 L95.96,194.7 L98.04,193.4 L100.1,192 L102.2,190.3 L104.3,188.5 L106.4,186.5 L108.4,184.3 L110.5,181.9 L112.6,179.3 L114.7,176.5 L116.8,173.5 L118.8,170.4 L120.9,167.2 L123,163.8 L125.1,160.4 L127.2,156.8 L129.2,153.3 L131.3,149.8 L133.4,146.3 L135.5,143 L137.5,139.8 L139.6,136.8 L141.7,134 L143.8,131.5 L145.9,129.3 L147.9,127.4 L150,126 L152.1,124.9 L154.2,124.3 L156.3,124.1 L158.3,124.3 L160.4,124.9 L162.5,126 L164.6,127.4 L166.7,129.3 L168.7,131.5 L170.8,134 L172.9,136.8 L175,139.8 L177.1,143 L179.1,146.3 L181.2,149.8 L183.3,153.3 L185.4,156.8 L187.4,160.4 L189.5,163.8 L191.6,167.2 L193.7,170.4 L195.8,173.5 L197.8,176.5 L199.9,179.3 L202,181.9 L204.1,184.3 L206.2,186.5 L208.2,188.5 L210.3,190.3 L212.4,192 L214.5,193.4 L216.6,194.7 L218.6,195.9 L220.7,196.9 L222.8,197.8 L224.9,198.5 L227,199.2 L229,199.7 L231.1,200.2 L233.2,200.6 L235.3,200.9 L237.4,201.2 L239.4,201.5 L241.5,201.6 L243.6,201.8 L245.7,201.9 L247.7,202 L249.8,202.1 L251.9,202.2 L254,202.2 L256.1,202.3 L258.1,202.3 L260.2,202.4 L262.3,202.4 L264.4,202.5 L266.5,202.5 L268.5,202.6 L270.6,202.7 L272.7,202.7 L274.8,202.8 L276.9,203 L278.9,203.1 L281,203.3 L283.1,203.5 L285.2,203.8 L287.3,204.2 L289.3,204.6 L291.4,205 L293.5,205.6 L295.6,206.2 L297.6,207 L299.7,207.9 L301.8,208.9 L303.9,210 L306,211.3 L308,212.8 L310.1,214.4 L312.2,216.3 L314.3,218.3 L316.4,220.5 L318.4,222.9 L320.5,225.5 L322.6,228.3 L324.7,231.2 L326.8,234.3 L328.8,237.6 L330.9,241 L333,244.4 L335.1,247.9 L337.2,251.5 L339.2,255 L341.3,258.4 L343.4,261.8 L345.5,265 L347.5,268 L349.6,270.8 L351.7,273.3 L353.8,275.5 L355.9,277.3 L357.9,278.8 L360,279.8 L362.1,280.5 L364.2,280.7 L366.3,280.5 L368.3,279.8 L370.4,278.8 L372.5,277.3 L374.6,275.5 L376.7,273.3 L378.7,270.8 L380.8,268 L382.9,265 L385,261.8 L387.1,258.4 L389.1,255 L391.2,251.5 L393.3,247.9 L395.4,244.4 L397.4,241 L399.5,237.6 L401.6,234.3 L403.7,231.2 L405.8,228.3 L407.8,225.5 L409.9,222.9 L412,220.5 L414.1,218.3 L416.2,216.3 L418.2,214.4 L420.3,212.8 L422.4,211.3 L424.5,210 L426.6,208.9 L428.6,207.9 L430.7,207 L432.8,206.2 L434.9,205.6 L437,205 L439,204.6 L441.1,204.2 L443.2,203.8 L445.3,203.5 L447.4,203.3 L449.4,203.1 L451.5,203 L453.6,202.8 L455.7,202.7 L457.7,202.7 L459.8,202.6 L461.9,202.5 L464,202.5 L466.1,202.4 L468.1,202.4 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M52.3,202.4 L52.3,202.4 L54.38,202.4 L56.46,202.4 L58.54,202.4 L60.62,202.4 L62.7,202.4 L64.78,202.4 L66.85,202.4 L68.93,202.4 L71.01,202.4 L73.09,202.4 L75.17,202.4 L77.25,202.4 L79.33,202.4 L81.41,202.4 L83.49,202.4 L85.57,202.4 L87.65,202.4 L89.73,202.4 L91.81,202.4 L93.88,202.4 L95.96,202.3 L98.04,202.3 L100.1,202.2 L102.2,202.1 L104.3,202 L106.4,201.7 L108.4,201.4 L110.5,200.8 L112.6,200.1 L114.7,199 L116.8,197.5 L118.8,195.5 L120.9,192.8 L123,189.3 L125.1,184.9 L127.2,179.4 L129.2,172.8 L131.3,165 L133.4,156 L135.5,145.9 L137.5,134.9 L139.6,123.3 L141.7,111.3 L143.8,99.52 L145.9,88.35 L147.9,78.32 L150,69.92 L152.1,63.56 L154.2,59.61 L156.3,58.26 L158.3,59.61 L160.4,63.56 L162.5,69.92 L164.6,78.32 L166.7,88.35 L168.7,99.52 L170.8,111.3 L172.9,123.3 L175,134.9 L177.1,145.9 L179.1,156 L181.2,165 L183.3,172.8 L185.4,179.4 L187.4,184.9 L189.5,189.3 L191.6,192.8 L193.7,195.5 L195.8,197.5 L197.8,199 L199.9,200.1 L202,200.8 L204.1,201.4 L206.2,201.7 L208.2,202 L210.3,202.1 L212.4,202.2 L214.5,202.3 L216.6,202.3 L218.6,202.4 L220.7,202.4 L222.8,202.4 L224.9,202.4 L227,202.4 L229,202.4 L231.1,202.4 L233.2,202.4 L235.3,202.4 L237.4,202.4 L239.4,202.4 L241.5,202.4 L243.6,202.4 L245.7,202.4 L247.7,202.4 L249.8,202.4 L251.9,202.4 L254,202.4 L256.1,202.4 L258.1,202.4 L260.2,202.4 L262.3,202.4 L264.4,202.4 L266.5,202.4 L268.5,202.4 L270.6,202.4 L272.7,202.4 L274.8,202.4 L276.9,202.4 L278.9,202.4 L281,202.4 L283.1,202.4 L285.2,202.4 L287.3,202.4 L289.3,202.4 L291.4,202.4 L293.5,202.4 L295.6,202.4 L297.6,202.4 L299.7,202.4 L301.8,202.4 L303.9,202.4 L306,202.5 L308,202.5 L310.1,202.6 L312.2,202.8 L314.3,203 L316.4,203.4 L318.4,203.9 L320.5,204.7 L322.6,205.8 L324.7,207.3 L326.8,209.3 L328.8,212 L330.9,215.5 L333,219.9 L335.1,225.4 L337.2,232 L339.2,239.8 L341.3,248.8 L343.4,258.9 L345.5,269.9 L347.5,281.5 L349.6,293.5 L351.7,305.2 L353.8,316.4 L355.9,326.4 L357.9,334.8 L360,341.2 L362.1,345.2 L364.2,346.5 L366.3,345.2 L368.3,341.2 L370.4,334.8 L372.5,326.4 L374.6,316.4 L376.7,305.2 L378.7,293.5 L380.8,281.5 L382.9,269.9 L385,258.9 L387.1,248.8 L389.1,239.8 L391.2,232 L393.3,225.4 L395.4,219.9 L397.4,215.5 L399.5,212 L401.6,209.3 L403.7,207.3 L405.8,205.8 L407.8,204.7 L409.9,203.9 L412,203.4 L414.1,203 L416.2,202.8 L418.2,202.6 L420.3,202.5 L422.4,202.5 L424.5,202.4 L426.6,202.4 L428.6,202.4 L430.7,202.4 L432.8,202.4 L434.9,202.4 L437,202.4 L439,202.4 L441.1,202.4 L443.2,202.4 L445.3,202.4 L447.4,202.4 L449.4,202.4 L451.5,202.4 L453.6,202.4 L455.7,202.4 L457.7,202.4 L459.8,202.4 L461.9,202.4 L464,202.4 L466.1,202.4 L468.1,202.4 " fill="none"/></g>
|
||||
</g>
|
||||
<g id="plotPoints" clip-path="url(#plot_window)"></g>
|
||||
<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="490.5" y="52.5" width="107" height="126"/><rect x="490.5" y="52.5" width="107" height="126"/></g>
|
||||
<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="80.5" x2="518.5" y2="80.5"/></g>
|
||||
<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="108.5" x2="518.5" y2="108.5"/></g>
|
||||
<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="136.5" x2="518.5" y2="136.5"/></g>
|
||||
<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="164.5" x2="518.5" y2="164.5"/></g>
|
||||
</g>
|
||||
<g id="legendText">
|
||||
<text x="525.5" y="80.5" font-size="14" font-family="Lucida Sans Unicode">q=0.05</text>
|
||||
<text x="525.5" y="108.5" font-size="14" font-family="Lucida Sans Unicode">q=0.5</text>
|
||||
<text x="525.5" y="136.5" font-size="14" font-family="Lucida Sans Unicode">q=0.7</text>
|
||||
<text x="525.5" y="164.5" font-size="14" font-family="Lucida Sans Unicode">q=0.9</text></g>
|
||||
<g id="title">
|
||||
<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Lucida Sans Unicode">Jacobi Theta Function θ₁</text></g>
|
||||
<g id="plotXValues"></g>
|
||||
<g id="plotYValues"></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
2540
doc/graphs/jacobi_theta1_float.svg
Normal file
|
After Width: | Height: | Size: 198 KiB |
2528
doc/graphs/jacobi_theta1q_float.svg
Normal file
|
After Width: | Height: | Size: 196 KiB |
74
doc/graphs/jacobi_theta2.svg
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="600" height ="400" version="1.1"
|
||||
xmlns:svg ="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns ="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
|
||||
<!-- Use, modification and distribution of Boost.Plot subject to the -->
|
||||
<!-- Boost Software License, Version 1.0.-->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt -->
|
||||
<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<!-- SVG Plot Copyright John Maddock 2008 -->
|
||||
<meta name="copyright" content="John Maddock" />
|
||||
<meta name="date" content="2008" />
|
||||
<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
|
||||
<!-- are subject to the Boost Software License, Version 1.0. -->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<clipPath id="plot_window"><rect x="53.3" y="53.5" width="422.2" height="292"/></clipPath>
|
||||
<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
|
||||
<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="52.3" y="52.5" width="424.2" height="294"/></g>
|
||||
<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="52.3" y1="52.5" x2="52.3" y2="351.5"/><line x1="52.3" y1="52.5" x2="52.3" y2="346.5"/></g>
|
||||
<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="47.3" y1="202.4" x2="476.5" y2="202.4"/><line x1="47.3" y1="346.5" x2="476.5" y2="346.5"/></g>
|
||||
<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M50.3,169.4 L52.3,169.4 M50.3,136.4 L52.3,136.4 M50.3,103.4 L52.3,103.4 M50.3,202.4 L52.3,202.4 M50.3,235.4 L52.3,235.4 M50.3,268.4 L52.3,268.4 M50.3,301.4 L52.3,301.4 M50.3,334.3 L52.3,334.3 " fill="none"/></g>
|
||||
<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M68.85,346.5 L68.85,348.5 M85.39,346.5 L85.39,348.5 M101.9,346.5 L101.9,348.5 M135,346.5 L135,348.5 M151.6,346.5 L151.6,348.5 M168.1,346.5 L168.1,348.5 M201.2,346.5 L201.2,348.5 M217.8,346.5 L217.8,348.5 M234.3,346.5 L234.3,348.5 M267.4,346.5 L267.4,348.5 M283.9,346.5 L283.9,348.5 M300.5,346.5 L300.5,348.5 M333.6,346.5 L333.6,348.5 M350.1,346.5 L350.1,348.5 M366.7,346.5 L366.7,348.5 M399.8,346.5 L399.8,348.5 M416.3,346.5 L416.3,348.5 M432.9,346.5 L432.9,348.5 M465.9,346.5 L465.9,348.5 " fill="none"/></g>
|
||||
<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M47.3,202.4 L52.3,202.4 M47.3,70.42 L52.3,70.42 M47.3,202.4 L52.3,202.4 M47.3,334.3 L52.3,334.3 " fill="none"/></g>
|
||||
<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M52.3,346.5 L52.3,351.5 M118.5,346.5 L118.5,351.5 M184.7,346.5 L184.7,351.5 M250.9,346.5 L250.9,351.5 M317,346.5 L317,351.5 M383.2,346.5 L383.2,351.5 M449.4,346.5 L449.4,351.5 M52.3,346.5 L52.3,351.5 " fill="none"/></g>
|
||||
<g id="xTicksValues">
|
||||
<text x="52.3" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="118.5" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">1</text>
|
||||
<text x="184.7" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">2</text>
|
||||
<text x="250.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">3</text>
|
||||
<text x="317" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">4</text>
|
||||
<text x="383.2" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">5</text>
|
||||
<text x="449.4" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">6</text>
|
||||
<text x="52.3" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text></g>
|
||||
<g id="yTicksValues">
|
||||
<text x="41.3" y="204.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="41.3" y="72.82" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">5</text>
|
||||
<text x="41.3" y="204.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="41.3" y="336.7" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">-5</text></g>
|
||||
<g id="yLabel">
|
||||
<text x="19.4" y="199.5" text-anchor="middle" transform = "rotate(-90 19.4 199.5 )" font-size="14" font-family="Lucida Sans Unicode">jacobi_theta2(x, q)</text></g>
|
||||
<g id="xLabel">
|
||||
<text x="264.4" y="382.2" text-anchor="middle" font-size="14" font-family="Lucida Sans Unicode">x</text></g>
|
||||
<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M52.3,177.4 L52.3,177.4 L54.38,177.4 L56.46,177.4 L58.54,177.5 L60.62,177.6 L62.7,177.7 L64.78,177.8 L66.85,178 L68.93,178.2 L71.01,178.4 L73.09,178.6 L75.17,178.9 L77.25,179.1 L79.33,179.5 L81.41,179.8 L83.49,180.1 L85.57,180.5 L87.65,180.9 L89.73,181.3 L91.81,181.8 L93.88,182.2 L95.96,182.7 L98.04,183.2 L100.1,183.7 L102.2,184.2 L104.3,184.8 L106.4,185.3 L108.4,185.9 L110.5,186.5 L112.6,187.1 L114.7,187.8 L116.8,188.4 L118.8,189.1 L120.9,189.7 L123,190.4 L125.1,191.1 L127.2,191.8 L129.2,192.5 L131.3,193.3 L133.4,194 L135.5,194.7 L137.5,195.5 L139.6,196.2 L141.7,197 L143.8,197.7 L145.9,198.5 L147.9,199.3 L150,200.1 L152.1,200.8 L154.2,201.6 L156.3,202.4 L158.3,203.2 L160.4,203.9 L162.5,204.7 L164.6,205.5 L166.7,206.3 L168.7,207 L170.8,207.8 L172.9,208.5 L175,209.3 L177.1,210 L179.1,210.8 L181.2,211.5 L183.3,212.2 L185.4,212.9 L187.4,213.7 L189.5,214.3 L191.6,215 L193.7,215.7 L195.8,216.4 L197.8,217 L199.9,217.6 L202,218.2 L204.1,218.8 L206.2,219.4 L208.2,220 L210.3,220.5 L212.4,221.1 L214.5,221.6 L216.6,222.1 L218.6,222.6 L220.7,223 L222.8,223.4 L224.9,223.9 L227,224.3 L229,224.6 L231.1,225 L233.2,225.3 L235.3,225.6 L237.4,225.9 L239.4,226.2 L241.5,226.4 L243.6,226.6 L245.7,226.8 L247.7,227 L249.8,227.1 L251.9,227.2 L254,227.3 L256.1,227.4 L258.1,227.4 L260.2,227.4 L262.3,227.4 L264.4,227.4 L266.5,227.3 L268.5,227.2 L270.6,227.1 L272.7,227 L274.8,226.8 L276.9,226.6 L278.9,226.4 L281,226.2 L283.1,225.9 L285.2,225.6 L287.3,225.3 L289.3,225 L291.4,224.6 L293.5,224.3 L295.6,223.9 L297.6,223.4 L299.7,223 L301.8,222.6 L303.9,222.1 L306,221.6 L308,221.1 L310.1,220.5 L312.2,220 L314.3,219.4 L316.4,218.8 L318.4,218.2 L320.5,217.6 L322.6,217 L324.7,216.4 L326.8,215.7 L328.8,215 L330.9,214.3 L333,213.7 L335.1,212.9 L337.2,212.2 L339.2,211.5 L341.3,210.8 L343.4,210 L345.5,209.3 L347.5,208.5 L349.6,207.8 L351.7,207 L353.8,206.3 L355.9,205.5 L357.9,204.7 L360,203.9 L362.1,203.2 L364.2,202.4 L366.3,201.6 L368.3,200.8 L370.4,200.1 L372.5,199.3 L374.6,198.5 L376.7,197.7 L378.7,197 L380.8,196.2 L382.9,195.5 L385,194.7 L387.1,194 L389.1,193.3 L391.2,192.5 L393.3,191.8 L395.4,191.1 L397.4,190.4 L399.5,189.7 L401.6,189.1 L403.7,188.4 L405.8,187.8 L407.8,187.1 L409.9,186.5 L412,185.9 L414.1,185.3 L416.2,184.8 L418.2,184.2 L420.3,183.7 L422.4,183.2 L424.5,182.7 L426.6,182.2 L428.6,181.8 L430.7,181.3 L432.8,180.9 L434.9,180.5 L437,180.1 L439,179.8 L441.1,179.5 L443.2,179.1 L445.3,178.9 L447.4,178.6 L449.4,178.4 L451.5,178.2 L453.6,178 L455.7,177.8 L457.7,177.7 L459.8,177.6 L461.9,177.5 L464,177.4 L466.1,177.4 L468.1,177.4 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M52.3,146.2 L52.3,146.2 L54.38,146.3 L56.46,146.5 L58.54,146.9 L60.62,147.5 L62.7,148.2 L64.78,149 L66.85,150 L68.93,151.1 L71.01,152.3 L73.09,153.7 L75.17,155.1 L77.25,156.6 L79.33,158.2 L81.41,159.9 L83.49,161.6 L85.57,163.4 L87.65,165.2 L89.73,167 L91.81,168.8 L93.88,170.6 L95.96,172.4 L98.04,174.2 L100.1,175.9 L102.2,177.7 L104.3,179.3 L106.4,180.9 L108.4,182.5 L110.5,184 L112.6,185.5 L114.7,186.8 L116.8,188.1 L118.8,189.4 L120.9,190.6 L123,191.7 L125.1,192.7 L127.2,193.7 L129.2,194.6 L131.3,195.4 L133.4,196.2 L135.5,197 L137.5,197.6 L139.6,198.3 L141.7,198.9 L143.8,199.5 L145.9,200 L147.9,200.5 L150,201 L152.1,201.5 L154.2,201.9 L156.3,202.4 L158.3,202.8 L160.4,203.3 L162.5,203.8 L164.6,204.3 L166.7,204.8 L168.7,205.3 L170.8,205.9 L172.9,206.5 L175,207.1 L177.1,207.8 L179.1,208.5 L181.2,209.3 L183.3,210.2 L185.4,211.1 L187.4,212.1 L189.5,213.1 L191.6,214.2 L193.7,215.4 L195.8,216.6 L197.8,217.9 L199.9,219.3 L202,220.7 L204.1,222.3 L206.2,223.8 L208.2,225.4 L210.3,227.1 L212.4,228.8 L214.5,230.6 L216.6,232.4 L218.6,234.2 L220.7,236 L222.8,237.8 L224.9,239.6 L227,241.4 L229,243.2 L231.1,244.9 L233.2,246.6 L235.3,248.2 L237.4,249.7 L239.4,251.1 L241.5,252.4 L243.6,253.7 L245.7,254.8 L247.7,255.8 L249.8,256.6 L251.9,257.3 L254,257.9 L256.1,258.3 L258.1,258.5 L260.2,258.6 L262.3,258.5 L264.4,258.3 L266.5,257.9 L268.5,257.3 L270.6,256.6 L272.7,255.8 L274.8,254.8 L276.9,253.7 L278.9,252.4 L281,251.1 L283.1,249.7 L285.2,248.2 L287.3,246.6 L289.3,244.9 L291.4,243.2 L293.5,241.4 L295.6,239.6 L297.6,237.8 L299.7,236 L301.8,234.2 L303.9,232.4 L306,230.6 L308,228.8 L310.1,227.1 L312.2,225.4 L314.3,223.8 L316.4,222.3 L318.4,220.7 L320.5,219.3 L322.6,217.9 L324.7,216.6 L326.8,215.4 L328.8,214.2 L330.9,213.1 L333,212.1 L335.1,211.1 L337.2,210.2 L339.2,209.3 L341.3,208.5 L343.4,207.8 L345.5,207.1 L347.5,206.5 L349.6,205.9 L351.7,205.3 L353.8,204.8 L355.9,204.3 L357.9,203.8 L360,203.3 L362.1,202.8 L364.2,202.4 L366.3,201.9 L368.3,201.5 L370.4,201 L372.5,200.5 L374.6,200 L376.7,199.5 L378.7,198.9 L380.8,198.3 L382.9,197.6 L385,197 L387.1,196.2 L389.1,195.4 L391.2,194.6 L393.3,193.7 L395.4,192.7 L397.4,191.7 L399.5,190.6 L401.6,189.4 L403.7,188.1 L405.8,186.8 L407.8,185.5 L409.9,184 L412,182.5 L414.1,180.9 L416.2,179.3 L418.2,177.7 L420.3,175.9 L422.4,174.2 L424.5,172.4 L426.6,170.6 L428.6,168.8 L430.7,167 L432.8,165.2 L434.9,163.4 L437,161.6 L439,159.9 L441.1,158.2 L443.2,156.6 L445.3,155.1 L447.4,153.7 L449.4,152.3 L451.5,151.1 L453.6,150 L455.7,149 L457.7,148.2 L459.8,147.5 L461.9,146.9 L464,146.5 L466.1,146.3 L468.1,146.2 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M52.3,124.1 L52.3,124.1 L54.38,124.3 L56.46,124.9 L58.54,126 L60.62,127.4 L62.7,129.3 L64.78,131.5 L66.85,134 L68.93,136.8 L71.01,139.8 L73.09,143 L75.17,146.3 L77.25,149.8 L79.33,153.3 L81.41,156.8 L83.49,160.4 L85.57,163.8 L87.65,167.2 L89.73,170.4 L91.81,173.5 L93.88,176.5 L95.96,179.3 L98.04,181.9 L100.1,184.3 L102.2,186.5 L104.3,188.5 L106.4,190.3 L108.4,192 L110.5,193.4 L112.6,194.7 L114.7,195.9 L116.8,196.9 L118.8,197.8 L120.9,198.5 L123,199.2 L125.1,199.7 L127.2,200.2 L129.2,200.6 L131.3,200.9 L133.4,201.2 L135.5,201.5 L137.5,201.6 L139.6,201.8 L141.7,201.9 L143.8,202 L145.9,202.1 L147.9,202.2 L150,202.2 L152.1,202.3 L154.2,202.3 L156.3,202.4 L158.3,202.4 L160.4,202.5 L162.5,202.5 L164.6,202.6 L166.7,202.7 L168.7,202.7 L170.8,202.8 L172.9,203 L175,203.1 L177.1,203.3 L179.1,203.5 L181.2,203.8 L183.3,204.2 L185.4,204.6 L187.4,205 L189.5,205.6 L191.6,206.2 L193.7,207 L195.8,207.9 L197.8,208.9 L199.9,210 L202,211.3 L204.1,212.8 L206.2,214.4 L208.2,216.3 L210.3,218.3 L212.4,220.5 L214.5,222.9 L216.6,225.5 L218.6,228.3 L220.7,231.2 L222.8,234.3 L224.9,237.6 L227,241 L229,244.4 L231.1,247.9 L233.2,251.5 L235.3,255 L237.4,258.4 L239.4,261.8 L241.5,265 L243.6,268 L245.7,270.8 L247.7,273.3 L249.8,275.5 L251.9,277.3 L254,278.8 L256.1,279.8 L258.1,280.5 L260.2,280.7 L262.3,280.5 L264.4,279.8 L266.5,278.8 L268.5,277.3 L270.6,275.5 L272.7,273.3 L274.8,270.8 L276.9,268 L278.9,265 L281,261.8 L283.1,258.4 L285.2,255 L287.3,251.5 L289.3,247.9 L291.4,244.4 L293.5,241 L295.6,237.6 L297.6,234.3 L299.7,231.2 L301.8,228.3 L303.9,225.5 L306,222.9 L308,220.5 L310.1,218.3 L312.2,216.3 L314.3,214.4 L316.4,212.8 L318.4,211.3 L320.5,210 L322.6,208.9 L324.7,207.9 L326.8,207 L328.8,206.2 L330.9,205.6 L333,205 L335.1,204.6 L337.2,204.2 L339.2,203.8 L341.3,203.5 L343.4,203.3 L345.5,203.1 L347.5,203 L349.6,202.8 L351.7,202.7 L353.8,202.7 L355.9,202.6 L357.9,202.5 L360,202.5 L362.1,202.4 L364.2,202.4 L366.3,202.3 L368.3,202.3 L370.4,202.2 L372.5,202.2 L374.6,202.1 L376.7,202 L378.7,201.9 L380.8,201.8 L382.9,201.6 L385,201.5 L387.1,201.2 L389.1,200.9 L391.2,200.6 L393.3,200.2 L395.4,199.7 L397.4,199.2 L399.5,198.5 L401.6,197.8 L403.7,196.9 L405.8,195.9 L407.8,194.7 L409.9,193.4 L412,192 L414.1,190.3 L416.2,188.5 L418.2,186.5 L420.3,184.3 L422.4,181.9 L424.5,179.3 L426.6,176.5 L428.6,173.5 L430.7,170.4 L432.8,167.2 L434.9,163.8 L437,160.4 L439,156.8 L441.1,153.3 L443.2,149.8 L445.3,146.3 L447.4,143 L449.4,139.8 L451.5,136.8 L453.6,134 L455.7,131.5 L457.7,129.3 L459.8,127.4 L461.9,126 L464,124.9 L466.1,124.3 L468.1,124.1 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M52.3,58.26 L52.3,58.26 L54.38,59.61 L56.46,63.56 L58.54,69.92 L60.62,78.32 L62.7,88.35 L64.78,99.52 L66.85,111.3 L68.93,123.3 L71.01,134.9 L73.09,145.9 L75.17,156 L77.25,165 L79.33,172.8 L81.41,179.4 L83.49,184.9 L85.57,189.3 L87.65,192.8 L89.73,195.5 L91.81,197.5 L93.88,199 L95.96,200.1 L98.04,200.8 L100.1,201.4 L102.2,201.7 L104.3,202 L106.4,202.1 L108.4,202.2 L110.5,202.3 L112.6,202.3 L114.7,202.4 L116.8,202.4 L118.8,202.4 L120.9,202.4 L123,202.4 L125.1,202.4 L127.2,202.4 L129.2,202.4 L131.3,202.4 L133.4,202.4 L135.5,202.4 L137.5,202.4 L139.6,202.4 L141.7,202.4 L143.8,202.4 L145.9,202.4 L147.9,202.4 L150,202.4 L152.1,202.4 L154.2,202.4 L156.3,202.4 L158.3,202.4 L160.4,202.4 L162.5,202.4 L164.6,202.4 L166.7,202.4 L168.7,202.4 L170.8,202.4 L172.9,202.4 L175,202.4 L177.1,202.4 L179.1,202.4 L181.2,202.4 L183.3,202.4 L185.4,202.4 L187.4,202.4 L189.5,202.4 L191.6,202.4 L193.7,202.4 L195.8,202.4 L197.8,202.4 L199.9,202.4 L202,202.5 L204.1,202.5 L206.2,202.6 L208.2,202.8 L210.3,203 L212.4,203.4 L214.5,203.9 L216.6,204.7 L218.6,205.8 L220.7,207.3 L222.8,209.3 L224.9,212 L227,215.5 L229,219.9 L231.1,225.4 L233.2,232 L235.3,239.8 L237.4,248.8 L239.4,258.9 L241.5,269.9 L243.6,281.5 L245.7,293.5 L247.7,305.2 L249.8,316.4 L251.9,326.4 L254,334.8 L256.1,341.2 L258.1,345.2 L260.2,346.5 L262.3,345.2 L264.4,341.2 L266.5,334.8 L268.5,326.4 L270.6,316.4 L272.7,305.2 L274.8,293.5 L276.9,281.5 L278.9,269.9 L281,258.9 L283.1,248.8 L285.2,239.8 L287.3,232 L289.3,225.4 L291.4,219.9 L293.5,215.5 L295.6,212 L297.6,209.3 L299.7,207.3 L301.8,205.8 L303.9,204.7 L306,203.9 L308,203.4 L310.1,203 L312.2,202.8 L314.3,202.6 L316.4,202.5 L318.4,202.5 L320.5,202.4 L322.6,202.4 L324.7,202.4 L326.8,202.4 L328.8,202.4 L330.9,202.4 L333,202.4 L335.1,202.4 L337.2,202.4 L339.2,202.4 L341.3,202.4 L343.4,202.4 L345.5,202.4 L347.5,202.4 L349.6,202.4 L351.7,202.4 L353.8,202.4 L355.9,202.4 L357.9,202.4 L360,202.4 L362.1,202.4 L364.2,202.4 L366.3,202.4 L368.3,202.4 L370.4,202.4 L372.5,202.4 L374.6,202.4 L376.7,202.4 L378.7,202.4 L380.8,202.4 L382.9,202.4 L385,202.4 L387.1,202.4 L389.1,202.4 L391.2,202.4 L393.3,202.4 L395.4,202.4 L397.4,202.4 L399.5,202.4 L401.6,202.4 L403.7,202.4 L405.8,202.4 L407.8,202.3 L409.9,202.3 L412,202.2 L414.1,202.1 L416.2,202 L418.2,201.7 L420.3,201.4 L422.4,200.8 L424.5,200.1 L426.6,199 L428.6,197.5 L430.7,195.5 L432.8,192.8 L434.9,189.3 L437,184.9 L439,179.4 L441.1,172.8 L443.2,165 L445.3,156 L447.4,145.9 L449.4,134.9 L451.5,123.3 L453.6,111.3 L455.7,99.52 L457.7,88.35 L459.8,78.32 L461.9,69.92 L464,63.56 L466.1,59.61 L468.1,58.26 " fill="none"/></g>
|
||||
</g>
|
||||
<g id="plotPoints" clip-path="url(#plot_window)"></g>
|
||||
<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="490.5" y="52.5" width="107" height="126"/><rect x="490.5" y="52.5" width="107" height="126"/></g>
|
||||
<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="80.5" x2="518.5" y2="80.5"/></g>
|
||||
<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="108.5" x2="518.5" y2="108.5"/></g>
|
||||
<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="136.5" x2="518.5" y2="136.5"/></g>
|
||||
<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="164.5" x2="518.5" y2="164.5"/></g>
|
||||
</g>
|
||||
<g id="legendText">
|
||||
<text x="525.5" y="80.5" font-size="14" font-family="Lucida Sans Unicode">q=0.05</text>
|
||||
<text x="525.5" y="108.5" font-size="14" font-family="Lucida Sans Unicode">q=0.5</text>
|
||||
<text x="525.5" y="136.5" font-size="14" font-family="Lucida Sans Unicode">q=0.7</text>
|
||||
<text x="525.5" y="164.5" font-size="14" font-family="Lucida Sans Unicode">q=0.9</text></g>
|
||||
<g id="title">
|
||||
<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Lucida Sans Unicode">Jacobi Theta Function θ₂</text></g>
|
||||
<g id="plotXValues"></g>
|
||||
<g id="plotYValues"></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
2537
doc/graphs/jacobi_theta2_float.svg
Normal file
|
After Width: | Height: | Size: 198 KiB |
2550
doc/graphs/jacobi_theta2q_float.svg
Normal file
|
After Width: | Height: | Size: 198 KiB |
76
doc/graphs/jacobi_theta3.svg
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="600" height ="400" version="1.1"
|
||||
xmlns:svg ="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns ="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
|
||||
<!-- Use, modification and distribution of Boost.Plot subject to the -->
|
||||
<!-- Boost Software License, Version 1.0.-->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt -->
|
||||
<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<!-- SVG Plot Copyright John Maddock 2008 -->
|
||||
<meta name="copyright" content="John Maddock" />
|
||||
<meta name="date" content="2008" />
|
||||
<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
|
||||
<!-- are subject to the Boost Software License, Version 1.0. -->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<clipPath id="plot_window"><rect x="44.9" y="53.5" width="430.6" height="292"/></clipPath>
|
||||
<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
|
||||
<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="43.9" y="52.5" width="432.6" height="294"/></g>
|
||||
<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="43.9" y1="52.5" x2="43.9" y2="346.5"/><line x1="43.9" y1="52.5" x2="43.9" y2="346.5"/></g>
|
||||
<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="43.9" y1="346.5" x2="476.5" y2="346.5"/></g>
|
||||
<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M41.9,333.3 L43.9,333.3 M41.9,320.1 L43.9,320.1 M41.9,306.9 L43.9,306.9 M41.9,280.5 L43.9,280.5 M41.9,267.3 L43.9,267.3 M41.9,254.1 L43.9,254.1 M41.9,227.7 L43.9,227.7 M41.9,214.5 L43.9,214.5 M41.9,201.3 L43.9,201.3 M41.9,174.9 L43.9,174.9 M41.9,161.8 L43.9,161.8 M41.9,148.6 L43.9,148.6 M41.9,122.2 L43.9,122.2 M41.9,109 L43.9,109 M41.9,95.77 L43.9,95.77 M41.9,69.38 L43.9,69.38 M41.9,56.18 L43.9,56.18 " fill="none"/></g>
|
||||
<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M60.77,346.5 L60.77,348.5 M77.65,346.5 L77.65,348.5 M94.52,346.5 L94.52,348.5 M128.3,346.5 L128.3,348.5 M145.1,346.5 L145.1,348.5 M162,346.5 L162,348.5 M195.8,346.5 L195.8,348.5 M212.6,346.5 L212.6,348.5 M229.5,346.5 L229.5,348.5 M263.3,346.5 L263.3,348.5 M280.1,346.5 L280.1,348.5 M297,346.5 L297,348.5 M330.8,346.5 L330.8,348.5 M347.6,346.5 L347.6,348.5 M364.5,346.5 L364.5,348.5 M398.2,346.5 L398.2,348.5 M415.1,346.5 L415.1,348.5 M432,346.5 L432,348.5 M465.7,346.5 L465.7,348.5 " fill="none"/></g>
|
||||
<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M38.9,346.5 L43.9,346.5 M38.9,293.7 L43.9,293.7 M38.9,240.9 L43.9,240.9 M38.9,188.1 L43.9,188.1 M38.9,135.4 L43.9,135.4 M38.9,82.57 L43.9,82.57 " fill="none"/></g>
|
||||
<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M43.9,346.5 L43.9,351.5 M111.4,346.5 L111.4,351.5 M178.9,346.5 L178.9,351.5 M246.4,346.5 L246.4,351.5 M313.9,346.5 L313.9,351.5 M381.4,346.5 L381.4,351.5 M448.9,346.5 L448.9,351.5 M43.9,346.5 L43.9,351.5 " fill="none"/></g>
|
||||
<g id="xTicksValues">
|
||||
<text x="43.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="111.4" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">1</text>
|
||||
<text x="178.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">2</text>
|
||||
<text x="246.4" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">3</text>
|
||||
<text x="313.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">4</text>
|
||||
<text x="381.4" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">5</text>
|
||||
<text x="448.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">6</text>
|
||||
<text x="43.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text></g>
|
||||
<g id="yTicksValues">
|
||||
<text x="32.9" y="348.9" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="32.9" y="296.1" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">1</text>
|
||||
<text x="32.9" y="243.3" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">2</text>
|
||||
<text x="32.9" y="190.5" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">3</text>
|
||||
<text x="32.9" y="137.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">4</text>
|
||||
<text x="32.9" y="84.97" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">5</text></g>
|
||||
<g id="yLabel">
|
||||
<text x="19.4" y="199.5" text-anchor="middle" transform = "rotate(-90 19.4 199.5 )" font-size="14" font-family="Lucida Sans Unicode">jacobi_theta3(x, q)</text></g>
|
||||
<g id="xLabel">
|
||||
<text x="260.2" y="382.2" text-anchor="middle" font-size="14" font-family="Lucida Sans Unicode">x</text></g>
|
||||
<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M43.9,288.4 L43.9,288.4 L46.02,288.4 L48.14,288.5 L50.26,288.5 L52.38,288.6 L54.5,288.7 L56.62,288.8 L58.74,288.9 L60.86,289.1 L62.98,289.3 L65.1,289.4 L67.22,289.6 L69.34,289.9 L71.47,290.1 L73.59,290.4 L75.71,290.6 L77.83,290.9 L79.95,291.2 L82.07,291.5 L84.19,291.8 L86.31,292.1 L88.43,292.4 L90.55,292.7 L92.67,293.1 L94.79,293.4 L96.91,293.7 L99.03,294 L101.2,294.4 L103.3,294.7 L105.4,295 L107.5,295.3 L109.6,295.7 L111.8,296 L113.9,296.3 L116,296.5 L118.1,296.8 L120.2,297.1 L122.4,297.3 L124.5,297.6 L126.6,297.8 L128.7,298 L130.8,298.2 L133,298.3 L135.1,298.5 L137.2,298.6 L139.3,298.7 L141.4,298.8 L143.6,298.9 L145.7,299 L147.8,299 L149.9,299 L152,299 L154.2,299 L156.3,298.9 L158.4,298.8 L160.5,298.7 L162.6,298.6 L164.8,298.5 L166.9,298.3 L169,298.2 L171.1,298 L173.2,297.8 L175.4,297.6 L177.5,297.3 L179.6,297.1 L181.7,296.8 L183.8,296.5 L186,296.3 L188.1,296 L190.2,295.7 L192.3,295.3 L194.4,295 L196.6,294.7 L198.7,294.4 L200.8,294 L202.9,293.7 L205,293.4 L207.2,293.1 L209.3,292.7 L211.4,292.4 L213.5,292.1 L215.7,291.8 L217.8,291.5 L219.9,291.2 L222,290.9 L224.1,290.6 L226.3,290.4 L228.4,290.1 L230.5,289.9 L232.6,289.6 L234.7,289.4 L236.9,289.3 L239,289.1 L241.1,288.9 L243.2,288.8 L245.3,288.7 L247.5,288.6 L249.6,288.5 L251.7,288.5 L253.8,288.4 L255.9,288.4 L258.1,288.4 L260.2,288.5 L262.3,288.5 L264.4,288.6 L266.5,288.7 L268.7,288.8 L270.8,288.9 L272.9,289.1 L275,289.3 L277.1,289.4 L279.3,289.6 L281.4,289.9 L283.5,290.1 L285.6,290.4 L287.7,290.6 L289.9,290.9 L292,291.2 L294.1,291.5 L296.2,291.8 L298.3,292.1 L300.5,292.4 L302.6,292.7 L304.7,293.1 L306.8,293.4 L308.9,293.7 L311.1,294 L313.2,294.4 L315.3,294.7 L317.4,295 L319.6,295.3 L321.7,295.7 L323.8,296 L325.9,296.3 L328,296.5 L330.2,296.8 L332.3,297.1 L334.4,297.3 L336.5,297.6 L338.6,297.8 L340.8,298 L342.9,298.2 L345,298.3 L347.1,298.5 L349.2,298.6 L351.4,298.7 L353.5,298.8 L355.6,298.9 L357.7,299 L359.8,299 L362,299 L364.1,299 L366.2,299 L368.3,298.9 L370.4,298.8 L372.6,298.7 L374.7,298.6 L376.8,298.5 L378.9,298.3 L381,298.2 L383.2,298 L385.3,297.8 L387.4,297.6 L389.5,297.3 L391.6,297.1 L393.8,296.8 L395.9,296.5 L398,296.3 L400.1,296 L402.2,295.7 L404.4,295.3 L406.5,295 L408.6,294.7 L410.7,294.4 L412.8,294 L415,293.7 L417.1,293.4 L419.2,293.1 L421.3,292.7 L423.5,292.4 L425.6,292.1 L427.7,291.8 L429.8,291.5 L431.9,291.2 L434.1,290.9 L436.2,290.6 L438.3,290.4 L440.4,290.1 L442.5,289.9 L444.7,289.6 L446.8,289.4 L448.9,289.3 L451,289.1 L453.1,288.9 L455.3,288.8 L457.4,288.7 L459.5,288.6 L461.6,288.5 L463.7,288.5 L465.9,288.4 L468,288.4 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M43.9,234.1 L43.9,234.1 L46.02,234.3 L48.14,234.8 L50.26,235.6 L52.38,236.7 L54.5,238.1 L56.62,239.7 L58.74,241.7 L60.86,243.9 L62.98,246.4 L65.1,249 L67.22,251.9 L69.34,255 L71.47,258.2 L73.59,261.5 L75.71,264.9 L77.83,268.4 L79.95,272 L82.07,275.6 L84.19,279.3 L86.31,282.9 L88.43,286.5 L90.55,290.1 L92.67,293.6 L94.79,297 L96.91,300.3 L99.03,303.5 L101.2,306.6 L103.3,309.6 L105.4,312.5 L107.5,315.2 L109.6,317.8 L111.8,320.2 L113.9,322.5 L116,324.6 L118.1,326.6 L120.2,328.4 L122.4,330.1 L124.5,331.6 L126.6,333.1 L128.7,334.3 L130.8,335.4 L133,336.4 L135.1,337.3 L137.2,338.1 L139.3,338.7 L141.4,339.2 L143.6,339.6 L145.7,339.9 L147.8,340.1 L149.9,340.1 L152,340.1 L154.2,339.9 L156.3,339.6 L158.4,339.2 L160.5,338.7 L162.6,338.1 L164.8,337.3 L166.9,336.4 L169,335.4 L171.1,334.3 L173.2,333.1 L175.4,331.6 L177.5,330.1 L179.6,328.4 L181.7,326.6 L183.8,324.6 L186,322.5 L188.1,320.2 L190.2,317.8 L192.3,315.2 L194.4,312.5 L196.6,309.6 L198.7,306.6 L200.8,303.5 L202.9,300.3 L205,297 L207.2,293.6 L209.3,290.1 L211.4,286.5 L213.5,282.9 L215.7,279.3 L217.8,275.6 L219.9,272 L222,268.4 L224.1,264.9 L226.3,261.5 L228.4,258.2 L230.5,255 L232.6,251.9 L234.7,249 L236.9,246.4 L239,243.9 L241.1,241.7 L243.2,239.7 L245.3,238.1 L247.5,236.7 L249.6,235.6 L251.7,234.8 L253.8,234.3 L255.9,234.1 L258.1,234.3 L260.2,234.8 L262.3,235.6 L264.4,236.7 L266.5,238.1 L268.7,239.7 L270.8,241.7 L272.9,243.9 L275,246.4 L277.1,249 L279.3,251.9 L281.4,255 L283.5,258.2 L285.6,261.5 L287.7,264.9 L289.9,268.4 L292,272 L294.1,275.6 L296.2,279.3 L298.3,282.9 L300.5,286.5 L302.6,290.1 L304.7,293.6 L306.8,297 L308.9,300.3 L311.1,303.5 L313.2,306.6 L315.3,309.6 L317.4,312.5 L319.6,315.2 L321.7,317.8 L323.8,320.2 L325.9,322.5 L328,324.6 L330.2,326.6 L332.3,328.4 L334.4,330.1 L336.5,331.6 L338.6,333.1 L340.8,334.3 L342.9,335.4 L345,336.4 L347.1,337.3 L349.2,338.1 L351.4,338.7 L353.5,339.2 L355.6,339.6 L357.7,339.9 L359.8,340.1 L362,340.1 L364.1,340.1 L366.2,339.9 L368.3,339.6 L370.4,339.2 L372.6,338.7 L374.7,338.1 L376.8,337.3 L378.9,336.4 L381,335.4 L383.2,334.3 L385.3,333.1 L387.4,331.6 L389.5,330.1 L391.6,328.4 L393.8,326.6 L395.9,324.6 L398,322.5 L400.1,320.2 L402.2,317.8 L404.4,315.2 L406.5,312.5 L408.6,309.6 L410.7,306.6 L412.8,303.5 L415,300.3 L417.1,297 L419.2,293.6 L421.3,290.1 L423.5,286.5 L425.6,282.9 L427.7,279.3 L429.8,275.6 L431.9,272 L434.1,268.4 L436.2,264.9 L438.3,261.5 L440.4,258.2 L442.5,255 L444.7,251.9 L446.8,249 L448.9,246.4 L451,243.9 L453.1,241.7 L455.3,239.7 L457.4,238.1 L459.5,236.7 L461.6,235.6 L463.7,234.8 L465.9,234.3 L468,234.1 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M43.9,189.8 L43.9,189.8 L46.02,190.3 L48.14,191.6 L50.26,193.7 L52.38,196.6 L54.5,200.3 L56.62,204.7 L58.74,209.7 L60.86,215.3 L62.98,221.3 L65.1,227.7 L67.22,234.4 L69.34,241.3 L71.47,248.4 L73.59,255.4 L75.71,262.4 L77.83,269.4 L79.95,276.1 L82.07,282.6 L84.19,288.8 L86.31,294.7 L88.43,300.3 L90.55,305.5 L92.67,310.3 L94.79,314.7 L96.91,318.7 L99.03,322.4 L101.2,325.7 L103.3,328.6 L105.4,331.2 L107.5,333.5 L109.6,335.5 L111.8,337.3 L113.9,338.8 L116,340.1 L118.1,341.2 L120.2,342.2 L122.4,343 L124.5,343.6 L126.6,344.2 L128.7,344.6 L130.8,345 L133,345.3 L135.1,345.5 L137.2,345.7 L139.3,345.9 L141.4,346 L143.6,346.1 L145.7,346.1 L147.8,346.2 L149.9,346.2 L152,346.2 L154.2,346.1 L156.3,346.1 L158.4,346 L160.5,345.9 L162.6,345.7 L164.8,345.5 L166.9,345.3 L169,345 L171.1,344.6 L173.2,344.2 L175.4,343.6 L177.5,343 L179.6,342.2 L181.7,341.2 L183.8,340.1 L186,338.8 L188.1,337.3 L190.2,335.5 L192.3,333.5 L194.4,331.2 L196.6,328.6 L198.7,325.7 L200.8,322.4 L202.9,318.7 L205,314.7 L207.2,310.3 L209.3,305.5 L211.4,300.3 L213.5,294.7 L215.7,288.8 L217.8,282.6 L219.9,276.1 L222,269.4 L224.1,262.4 L226.3,255.4 L228.4,248.4 L230.5,241.3 L232.6,234.4 L234.7,227.7 L236.9,221.3 L239,215.3 L241.1,209.7 L243.2,204.7 L245.3,200.3 L247.5,196.6 L249.6,193.7 L251.7,191.6 L253.8,190.3 L255.9,189.8 L258.1,190.3 L260.2,191.6 L262.3,193.7 L264.4,196.6 L266.5,200.3 L268.7,204.7 L270.8,209.7 L272.9,215.3 L275,221.3 L277.1,227.7 L279.3,234.4 L281.4,241.3 L283.5,248.4 L285.6,255.4 L287.7,262.4 L289.9,269.4 L292,276.1 L294.1,282.6 L296.2,288.8 L298.3,294.7 L300.5,300.3 L302.6,305.5 L304.7,310.3 L306.8,314.7 L308.9,318.7 L311.1,322.4 L313.2,325.7 L315.3,328.6 L317.4,331.2 L319.6,333.5 L321.7,335.5 L323.8,337.3 L325.9,338.8 L328,340.1 L330.2,341.2 L332.3,342.2 L334.4,343 L336.5,343.6 L338.6,344.2 L340.8,344.6 L342.9,345 L345,345.3 L347.1,345.5 L349.2,345.7 L351.4,345.9 L353.5,346 L355.6,346.1 L357.7,346.1 L359.8,346.2 L362,346.2 L364.1,346.2 L366.2,346.1 L368.3,346.1 L370.4,346 L372.6,345.9 L374.7,345.7 L376.8,345.5 L378.9,345.3 L381,345 L383.2,344.6 L385.3,344.2 L387.4,343.6 L389.5,343 L391.6,342.2 L393.8,341.2 L395.9,340.1 L398,338.8 L400.1,337.3 L402.2,335.5 L404.4,333.5 L406.5,331.2 L408.6,328.6 L410.7,325.7 L412.8,322.4 L415,318.7 L417.1,314.7 L419.2,310.3 L421.3,305.5 L423.5,300.3 L425.6,294.7 L427.7,288.8 L429.8,282.6 L431.9,276.1 L434.1,269.4 L436.2,262.4 L438.3,255.4 L440.4,248.4 L442.5,241.3 L444.7,234.4 L446.8,227.7 L448.9,221.3 L451,215.3 L453.1,209.7 L455.3,204.7 L457.4,200.3 L459.5,196.6 L461.6,193.7 L463.7,191.6 L465.9,190.3 L468,189.8 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M43.9,58.26 L43.9,58.26 L46.02,60.95 L48.14,68.87 L50.26,81.57 L52.38,98.38 L54.5,118.4 L56.62,140.8 L58.74,164.4 L60.86,188.2 L62.98,211.5 L65.1,233.5 L67.22,253.7 L69.34,271.7 L71.47,287.3 L73.59,300.5 L75.71,311.5 L77.83,320.3 L79.95,327.3 L82.07,332.6 L84.19,336.7 L86.31,339.7 L88.43,341.9 L90.55,343.4 L92.67,344.5 L94.79,345.2 L96.91,345.7 L99.03,346 L101.2,346.2 L103.3,346.3 L105.4,346.4 L107.5,346.4 L109.6,346.5 L111.8,346.5 L113.9,346.5 L116,346.5 L118.1,346.5 L120.2,346.5 L122.4,346.5 L124.5,346.5 L126.6,346.5 L128.7,346.5 L130.8,346.5 L133,346.5 L135.1,346.5 L137.2,346.5 L139.3,346.5 L141.4,346.5 L143.6,346.5 L145.7,346.5 L147.8,346.5 L149.9,346.5 L152,346.5 L154.2,346.5 L156.3,346.5 L158.4,346.5 L160.5,346.5 L162.6,346.5 L164.8,346.5 L166.9,346.5 L169,346.5 L171.1,346.5 L173.2,346.5 L175.4,346.5 L177.5,346.5 L179.6,346.5 L181.7,346.5 L183.8,346.5 L186,346.5 L188.1,346.5 L190.2,346.5 L192.3,346.4 L194.4,346.4 L196.6,346.3 L198.7,346.2 L200.8,346 L202.9,345.7 L205,345.2 L207.2,344.5 L209.3,343.4 L211.4,341.9 L213.5,339.7 L215.7,336.7 L217.8,332.6 L219.9,327.3 L222,320.3 L224.1,311.5 L226.3,300.5 L228.4,287.3 L230.5,271.7 L232.6,253.7 L234.7,233.5 L236.9,211.5 L239,188.2 L241.1,164.4 L243.2,140.8 L245.3,118.4 L247.5,98.38 L249.6,81.57 L251.7,68.87 L253.8,60.95 L255.9,58.26 L258.1,60.95 L260.2,68.87 L262.3,81.57 L264.4,98.38 L266.5,118.4 L268.7,140.8 L270.8,164.4 L272.9,188.2 L275,211.5 L277.1,233.5 L279.3,253.7 L281.4,271.7 L283.5,287.3 L285.6,300.5 L287.7,311.5 L289.9,320.3 L292,327.3 L294.1,332.6 L296.2,336.7 L298.3,339.7 L300.5,341.9 L302.6,343.4 L304.7,344.5 L306.8,345.2 L308.9,345.7 L311.1,346 L313.2,346.2 L315.3,346.3 L317.4,346.4 L319.6,346.4 L321.7,346.5 L323.8,346.5 L325.9,346.5 L328,346.5 L330.2,346.5 L332.3,346.5 L334.4,346.5 L336.5,346.5 L338.6,346.5 L340.8,346.5 L342.9,346.5 L345,346.5 L347.1,346.5 L349.2,346.5 L351.4,346.5 L353.5,346.5 L355.6,346.5 L357.7,346.5 L359.8,346.5 L362,346.5 L364.1,346.5 L366.2,346.5 L368.3,346.5 L370.4,346.5 L372.6,346.5 L374.7,346.5 L376.8,346.5 L378.9,346.5 L381,346.5 L383.2,346.5 L385.3,346.5 L387.4,346.5 L389.5,346.5 L391.6,346.5 L393.8,346.5 L395.9,346.5 L398,346.5 L400.1,346.5 L402.2,346.5 L404.4,346.4 L406.5,346.4 L408.6,346.3 L410.7,346.2 L412.8,346 L415,345.7 L417.1,345.2 L419.2,344.5 L421.3,343.4 L423.5,341.9 L425.6,339.7 L427.7,336.7 L429.8,332.6 L431.9,327.3 L434.1,320.3 L436.2,311.5 L438.3,300.5 L440.4,287.3 L442.5,271.7 L444.7,253.7 L446.8,233.5 L448.9,211.5 L451,188.2 L453.1,164.4 L455.3,140.8 L457.4,118.4 L459.5,98.38 L461.6,81.57 L463.7,68.87 L465.9,60.95 L468,58.26 " fill="none"/></g>
|
||||
</g>
|
||||
<g id="plotPoints" clip-path="url(#plot_window)"></g>
|
||||
<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="490.5" y="52.5" width="107" height="126"/><rect x="490.5" y="52.5" width="107" height="126"/></g>
|
||||
<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="80.5" x2="518.5" y2="80.5"/></g>
|
||||
<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="108.5" x2="518.5" y2="108.5"/></g>
|
||||
<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="136.5" x2="518.5" y2="136.5"/></g>
|
||||
<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="164.5" x2="518.5" y2="164.5"/></g>
|
||||
</g>
|
||||
<g id="legendText">
|
||||
<text x="525.5" y="80.5" font-size="14" font-family="Lucida Sans Unicode">q=0.05</text>
|
||||
<text x="525.5" y="108.5" font-size="14" font-family="Lucida Sans Unicode">q=0.5</text>
|
||||
<text x="525.5" y="136.5" font-size="14" font-family="Lucida Sans Unicode">q=0.7</text>
|
||||
<text x="525.5" y="164.5" font-size="14" font-family="Lucida Sans Unicode">q=0.9</text></g>
|
||||
<g id="title">
|
||||
<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Lucida Sans Unicode">Jacobi Theta Function θ₃</text></g>
|
||||
<g id="plotXValues"></g>
|
||||
<g id="plotYValues"></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
2516
doc/graphs/jacobi_theta3_float.svg
Normal file
|
After Width: | Height: | Size: 196 KiB |
2550
doc/graphs/jacobi_theta3q_float.svg
Normal file
|
After Width: | Height: | Size: 196 KiB |
76
doc/graphs/jacobi_theta4.svg
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="600" height ="400" version="1.1"
|
||||
xmlns:svg ="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns ="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
|
||||
<!-- Use, modification and distribution of Boost.Plot subject to the -->
|
||||
<!-- Boost Software License, Version 1.0.-->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt -->
|
||||
<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<!-- SVG Plot Copyright John Maddock 2008 -->
|
||||
<meta name="copyright" content="John Maddock" />
|
||||
<meta name="date" content="2008" />
|
||||
<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
|
||||
<!-- are subject to the Boost Software License, Version 1.0. -->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<clipPath id="plot_window"><rect x="44.9" y="53.5" width="430.6" height="292"/></clipPath>
|
||||
<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
|
||||
<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="43.9" y="52.5" width="432.6" height="294"/></g>
|
||||
<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
|
||||
<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
|
||||
<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="43.9" y1="52.5" x2="43.9" y2="346.5"/><line x1="43.9" y1="52.5" x2="43.9" y2="346.5"/></g>
|
||||
<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="43.9" y1="346.5" x2="476.5" y2="346.5"/></g>
|
||||
<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M41.9,333.3 L43.9,333.3 M41.9,320.1 L43.9,320.1 M41.9,306.9 L43.9,306.9 M41.9,280.5 L43.9,280.5 M41.9,267.3 L43.9,267.3 M41.9,254.1 L43.9,254.1 M41.9,227.7 L43.9,227.7 M41.9,214.5 L43.9,214.5 M41.9,201.3 L43.9,201.3 M41.9,174.9 L43.9,174.9 M41.9,161.8 L43.9,161.8 M41.9,148.6 L43.9,148.6 M41.9,122.2 L43.9,122.2 M41.9,109 L43.9,109 M41.9,95.77 L43.9,95.77 M41.9,69.38 L43.9,69.38 M41.9,56.18 L43.9,56.18 " fill="none"/></g>
|
||||
<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M60.77,346.5 L60.77,348.5 M77.65,346.5 L77.65,348.5 M94.52,346.5 L94.52,348.5 M128.3,346.5 L128.3,348.5 M145.1,346.5 L145.1,348.5 M162,346.5 L162,348.5 M195.8,346.5 L195.8,348.5 M212.6,346.5 L212.6,348.5 M229.5,346.5 L229.5,348.5 M263.3,346.5 L263.3,348.5 M280.1,346.5 L280.1,348.5 M297,346.5 L297,348.5 M330.8,346.5 L330.8,348.5 M347.6,346.5 L347.6,348.5 M364.5,346.5 L364.5,348.5 M398.2,346.5 L398.2,348.5 M415.1,346.5 L415.1,348.5 M432,346.5 L432,348.5 M465.7,346.5 L465.7,348.5 " fill="none"/></g>
|
||||
<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M38.9,346.5 L43.9,346.5 M38.9,293.7 L43.9,293.7 M38.9,240.9 L43.9,240.9 M38.9,188.1 L43.9,188.1 M38.9,135.4 L43.9,135.4 M38.9,82.57 L43.9,82.57 " fill="none"/></g>
|
||||
<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M43.9,346.5 L43.9,351.5 M111.4,346.5 L111.4,351.5 M178.9,346.5 L178.9,351.5 M246.4,346.5 L246.4,351.5 M313.9,346.5 L313.9,351.5 M381.4,346.5 L381.4,351.5 M448.9,346.5 L448.9,351.5 M43.9,346.5 L43.9,351.5 " fill="none"/></g>
|
||||
<g id="xTicksValues">
|
||||
<text x="43.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="111.4" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">1</text>
|
||||
<text x="178.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">2</text>
|
||||
<text x="246.4" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">3</text>
|
||||
<text x="313.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">4</text>
|
||||
<text x="381.4" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">5</text>
|
||||
<text x="448.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">6</text>
|
||||
<text x="43.9" y="367.1" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text></g>
|
||||
<g id="yTicksValues">
|
||||
<text x="32.9" y="348.9" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0</text>
|
||||
<text x="32.9" y="296.1" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">1</text>
|
||||
<text x="32.9" y="243.3" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">2</text>
|
||||
<text x="32.9" y="190.5" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">3</text>
|
||||
<text x="32.9" y="137.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">4</text>
|
||||
<text x="32.9" y="84.97" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">5</text></g>
|
||||
<g id="yLabel">
|
||||
<text x="19.4" y="199.5" text-anchor="middle" transform = "rotate(-90 19.4 199.5 )" font-size="14" font-family="Lucida Sans Unicode">jacobi_theta4(x, q)</text></g>
|
||||
<g id="xLabel">
|
||||
<text x="260.2" y="382.2" text-anchor="middle" font-size="14" font-family="Lucida Sans Unicode">x</text></g>
|
||||
<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M43.9,299 L43.9,299 L46.02,299 L48.14,299 L50.26,298.9 L52.38,298.8 L54.5,298.7 L56.62,298.6 L58.74,298.5 L60.86,298.3 L62.98,298.2 L65.1,298 L67.22,297.8 L69.34,297.6 L71.47,297.3 L73.59,297.1 L75.71,296.8 L77.83,296.5 L79.95,296.3 L82.07,296 L84.19,295.7 L86.31,295.3 L88.43,295 L90.55,294.7 L92.67,294.4 L94.79,294 L96.91,293.7 L99.03,293.4 L101.2,293.1 L103.3,292.7 L105.4,292.4 L107.5,292.1 L109.6,291.8 L111.8,291.5 L113.9,291.2 L116,290.9 L118.1,290.6 L120.2,290.4 L122.4,290.1 L124.5,289.9 L126.6,289.6 L128.7,289.4 L130.8,289.3 L133,289.1 L135.1,288.9 L137.2,288.8 L139.3,288.7 L141.4,288.6 L143.6,288.5 L145.7,288.5 L147.8,288.4 L149.9,288.4 L152,288.4 L154.2,288.5 L156.3,288.5 L158.4,288.6 L160.5,288.7 L162.6,288.8 L164.8,288.9 L166.9,289.1 L169,289.3 L171.1,289.4 L173.2,289.6 L175.4,289.9 L177.5,290.1 L179.6,290.4 L181.7,290.6 L183.8,290.9 L186,291.2 L188.1,291.5 L190.2,291.8 L192.3,292.1 L194.4,292.4 L196.6,292.7 L198.7,293.1 L200.8,293.4 L202.9,293.7 L205,294 L207.2,294.4 L209.3,294.7 L211.4,295 L213.5,295.3 L215.7,295.7 L217.8,296 L219.9,296.3 L222,296.5 L224.1,296.8 L226.3,297.1 L228.4,297.3 L230.5,297.6 L232.6,297.8 L234.7,298 L236.9,298.2 L239,298.3 L241.1,298.5 L243.2,298.6 L245.3,298.7 L247.5,298.8 L249.6,298.9 L251.7,299 L253.8,299 L255.9,299 L258.1,299 L260.2,299 L262.3,298.9 L264.4,298.8 L266.5,298.7 L268.7,298.6 L270.8,298.5 L272.9,298.3 L275,298.2 L277.1,298 L279.3,297.8 L281.4,297.6 L283.5,297.3 L285.6,297.1 L287.7,296.8 L289.9,296.5 L292,296.3 L294.1,296 L296.2,295.7 L298.3,295.3 L300.5,295 L302.6,294.7 L304.7,294.4 L306.8,294 L308.9,293.7 L311.1,293.4 L313.2,293.1 L315.3,292.7 L317.4,292.4 L319.6,292.1 L321.7,291.8 L323.8,291.5 L325.9,291.2 L328,290.9 L330.2,290.6 L332.3,290.4 L334.4,290.1 L336.5,289.9 L338.6,289.6 L340.8,289.4 L342.9,289.3 L345,289.1 L347.1,288.9 L349.2,288.8 L351.4,288.7 L353.5,288.6 L355.6,288.5 L357.7,288.5 L359.8,288.4 L362,288.4 L364.1,288.4 L366.2,288.5 L368.3,288.5 L370.4,288.6 L372.6,288.7 L374.7,288.8 L376.8,288.9 L378.9,289.1 L381,289.3 L383.2,289.4 L385.3,289.6 L387.4,289.9 L389.5,290.1 L391.6,290.4 L393.8,290.6 L395.9,290.9 L398,291.2 L400.1,291.5 L402.2,291.8 L404.4,292.1 L406.5,292.4 L408.6,292.7 L410.7,293.1 L412.8,293.4 L415,293.7 L417.1,294 L419.2,294.4 L421.3,294.7 L423.5,295 L425.6,295.3 L427.7,295.7 L429.8,296 L431.9,296.3 L434.1,296.5 L436.2,296.8 L438.3,297.1 L440.4,297.3 L442.5,297.6 L444.7,297.8 L446.8,298 L448.9,298.2 L451,298.3 L453.1,298.5 L455.3,298.6 L457.4,298.7 L459.5,298.8 L461.6,298.9 L463.7,299 L465.9,299 L468,299 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M43.9,340.1 L43.9,340.1 L46.02,340.1 L48.14,339.9 L50.26,339.6 L52.38,339.2 L54.5,338.7 L56.62,338.1 L58.74,337.3 L60.86,336.4 L62.98,335.4 L65.1,334.3 L67.22,333.1 L69.34,331.6 L71.47,330.1 L73.59,328.4 L75.71,326.6 L77.83,324.6 L79.95,322.5 L82.07,320.2 L84.19,317.8 L86.31,315.2 L88.43,312.5 L90.55,309.6 L92.67,306.6 L94.79,303.5 L96.91,300.3 L99.03,297 L101.2,293.6 L103.3,290.1 L105.4,286.5 L107.5,282.9 L109.6,279.3 L111.8,275.6 L113.9,272 L116,268.4 L118.1,264.9 L120.2,261.5 L122.4,258.2 L124.5,255 L126.6,251.9 L128.7,249 L130.8,246.4 L133,243.9 L135.1,241.7 L137.2,239.7 L139.3,238.1 L141.4,236.7 L143.6,235.6 L145.7,234.8 L147.8,234.3 L149.9,234.1 L152,234.3 L154.2,234.8 L156.3,235.6 L158.4,236.7 L160.5,238.1 L162.6,239.7 L164.8,241.7 L166.9,243.9 L169,246.4 L171.1,249 L173.2,251.9 L175.4,255 L177.5,258.2 L179.6,261.5 L181.7,264.9 L183.8,268.4 L186,272 L188.1,275.6 L190.2,279.3 L192.3,282.9 L194.4,286.5 L196.6,290.1 L198.7,293.6 L200.8,297 L202.9,300.3 L205,303.5 L207.2,306.6 L209.3,309.6 L211.4,312.5 L213.5,315.2 L215.7,317.8 L217.8,320.2 L219.9,322.5 L222,324.6 L224.1,326.6 L226.3,328.4 L228.4,330.1 L230.5,331.6 L232.6,333.1 L234.7,334.3 L236.9,335.4 L239,336.4 L241.1,337.3 L243.2,338.1 L245.3,338.7 L247.5,339.2 L249.6,339.6 L251.7,339.9 L253.8,340.1 L255.9,340.1 L258.1,340.1 L260.2,339.9 L262.3,339.6 L264.4,339.2 L266.5,338.7 L268.7,338.1 L270.8,337.3 L272.9,336.4 L275,335.4 L277.1,334.3 L279.3,333.1 L281.4,331.6 L283.5,330.1 L285.6,328.4 L287.7,326.6 L289.9,324.6 L292,322.5 L294.1,320.2 L296.2,317.8 L298.3,315.2 L300.5,312.5 L302.6,309.6 L304.7,306.6 L306.8,303.5 L308.9,300.3 L311.1,297 L313.2,293.6 L315.3,290.1 L317.4,286.5 L319.6,282.9 L321.7,279.3 L323.8,275.6 L325.9,272 L328,268.4 L330.2,264.9 L332.3,261.5 L334.4,258.2 L336.5,255 L338.6,251.9 L340.8,249 L342.9,246.4 L345,243.9 L347.1,241.7 L349.2,239.7 L351.4,238.1 L353.5,236.7 L355.6,235.6 L357.7,234.8 L359.8,234.3 L362,234.1 L364.1,234.3 L366.2,234.8 L368.3,235.6 L370.4,236.7 L372.6,238.1 L374.7,239.7 L376.8,241.7 L378.9,243.9 L381,246.4 L383.2,249 L385.3,251.9 L387.4,255 L389.5,258.2 L391.6,261.5 L393.8,264.9 L395.9,268.4 L398,272 L400.1,275.6 L402.2,279.3 L404.4,282.9 L406.5,286.5 L408.6,290.1 L410.7,293.6 L412.8,297 L415,300.3 L417.1,303.5 L419.2,306.6 L421.3,309.6 L423.5,312.5 L425.6,315.2 L427.7,317.8 L429.8,320.2 L431.9,322.5 L434.1,324.6 L436.2,326.6 L438.3,328.4 L440.4,330.1 L442.5,331.6 L444.7,333.1 L446.8,334.3 L448.9,335.4 L451,336.4 L453.1,337.3 L455.3,338.1 L457.4,338.7 L459.5,339.2 L461.6,339.6 L463.7,339.9 L465.9,340.1 L468,340.1 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M43.9,346.2 L43.9,346.2 L46.02,346.2 L48.14,346.1 L50.26,346.1 L52.38,346 L54.5,345.9 L56.62,345.7 L58.74,345.5 L60.86,345.3 L62.98,345 L65.1,344.6 L67.22,344.2 L69.34,343.6 L71.47,343 L73.59,342.2 L75.71,341.2 L77.83,340.1 L79.95,338.8 L82.07,337.3 L84.19,335.5 L86.31,333.5 L88.43,331.2 L90.55,328.6 L92.67,325.7 L94.79,322.4 L96.91,318.7 L99.03,314.7 L101.2,310.3 L103.3,305.5 L105.4,300.3 L107.5,294.7 L109.6,288.8 L111.8,282.6 L113.9,276.1 L116,269.4 L118.1,262.4 L120.2,255.4 L122.4,248.4 L124.5,241.3 L126.6,234.4 L128.7,227.7 L130.8,221.3 L133,215.3 L135.1,209.7 L137.2,204.7 L139.3,200.3 L141.4,196.6 L143.6,193.7 L145.7,191.6 L147.8,190.3 L149.9,189.8 L152,190.3 L154.2,191.6 L156.3,193.7 L158.4,196.6 L160.5,200.3 L162.6,204.7 L164.8,209.7 L166.9,215.3 L169,221.3 L171.1,227.7 L173.2,234.4 L175.4,241.3 L177.5,248.4 L179.6,255.4 L181.7,262.4 L183.8,269.4 L186,276.1 L188.1,282.6 L190.2,288.8 L192.3,294.7 L194.4,300.3 L196.6,305.5 L198.7,310.3 L200.8,314.7 L202.9,318.7 L205,322.4 L207.2,325.7 L209.3,328.6 L211.4,331.2 L213.5,333.5 L215.7,335.5 L217.8,337.3 L219.9,338.8 L222,340.1 L224.1,341.2 L226.3,342.2 L228.4,343 L230.5,343.6 L232.6,344.2 L234.7,344.6 L236.9,345 L239,345.3 L241.1,345.5 L243.2,345.7 L245.3,345.9 L247.5,346 L249.6,346.1 L251.7,346.1 L253.8,346.2 L255.9,346.2 L258.1,346.2 L260.2,346.1 L262.3,346.1 L264.4,346 L266.5,345.9 L268.7,345.7 L270.8,345.5 L272.9,345.3 L275,345 L277.1,344.6 L279.3,344.2 L281.4,343.6 L283.5,343 L285.6,342.2 L287.7,341.2 L289.9,340.1 L292,338.8 L294.1,337.3 L296.2,335.5 L298.3,333.5 L300.5,331.2 L302.6,328.6 L304.7,325.7 L306.8,322.4 L308.9,318.7 L311.1,314.7 L313.2,310.3 L315.3,305.5 L317.4,300.3 L319.6,294.7 L321.7,288.8 L323.8,282.6 L325.9,276.1 L328,269.4 L330.2,262.4 L332.3,255.4 L334.4,248.4 L336.5,241.3 L338.6,234.4 L340.8,227.7 L342.9,221.3 L345,215.3 L347.1,209.7 L349.2,204.7 L351.4,200.3 L353.5,196.6 L355.6,193.7 L357.7,191.6 L359.8,190.3 L362,189.8 L364.1,190.3 L366.2,191.6 L368.3,193.7 L370.4,196.6 L372.6,200.3 L374.7,204.7 L376.8,209.7 L378.9,215.3 L381,221.3 L383.2,227.7 L385.3,234.4 L387.4,241.3 L389.5,248.4 L391.6,255.4 L393.8,262.4 L395.9,269.4 L398,276.1 L400.1,282.6 L402.2,288.8 L404.4,294.7 L406.5,300.3 L408.6,305.5 L410.7,310.3 L412.8,314.7 L415,318.7 L417.1,322.4 L419.2,325.7 L421.3,328.6 L423.5,331.2 L425.6,333.5 L427.7,335.5 L429.8,337.3 L431.9,338.8 L434.1,340.1 L436.2,341.2 L438.3,342.2 L440.4,343 L442.5,343.6 L444.7,344.2 L446.8,344.6 L448.9,345 L451,345.3 L453.1,345.5 L455.3,345.7 L457.4,345.9 L459.5,346 L461.6,346.1 L463.7,346.1 L465.9,346.2 L468,346.2 " fill="none"/></g>
|
||||
<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M43.9,346.5 L43.9,346.5 L46.02,346.5 L48.14,346.5 L50.26,346.5 L52.38,346.5 L54.5,346.5 L56.62,346.5 L58.74,346.5 L60.86,346.5 L62.98,346.5 L65.1,346.5 L67.22,346.5 L69.34,346.5 L71.47,346.5 L73.59,346.5 L75.71,346.5 L77.83,346.5 L79.95,346.5 L82.07,346.5 L84.19,346.5 L86.31,346.4 L88.43,346.4 L90.55,346.3 L92.67,346.2 L94.79,346 L96.91,345.7 L99.03,345.2 L101.2,344.5 L103.3,343.4 L105.4,341.9 L107.5,339.7 L109.6,336.7 L111.8,332.6 L113.9,327.3 L116,320.3 L118.1,311.5 L120.2,300.5 L122.4,287.3 L124.5,271.7 L126.6,253.7 L128.7,233.5 L130.8,211.5 L133,188.2 L135.1,164.4 L137.2,140.8 L139.3,118.4 L141.4,98.38 L143.6,81.57 L145.7,68.87 L147.8,60.95 L149.9,58.26 L152,60.95 L154.2,68.87 L156.3,81.57 L158.4,98.38 L160.5,118.4 L162.6,140.8 L164.8,164.4 L166.9,188.2 L169,211.5 L171.1,233.5 L173.2,253.7 L175.4,271.7 L177.5,287.3 L179.6,300.5 L181.7,311.5 L183.8,320.3 L186,327.3 L188.1,332.6 L190.2,336.7 L192.3,339.7 L194.4,341.9 L196.6,343.4 L198.7,344.5 L200.8,345.2 L202.9,345.7 L205,346 L207.2,346.2 L209.3,346.3 L211.4,346.4 L213.5,346.4 L215.7,346.5 L217.8,346.5 L219.9,346.5 L222,346.5 L224.1,346.5 L226.3,346.5 L228.4,346.5 L230.5,346.5 L232.6,346.5 L234.7,346.5 L236.9,346.5 L239,346.5 L241.1,346.5 L243.2,346.5 L245.3,346.5 L247.5,346.5 L249.6,346.5 L251.7,346.5 L253.8,346.5 L255.9,346.5 L258.1,346.5 L260.2,346.5 L262.3,346.5 L264.4,346.5 L266.5,346.5 L268.7,346.5 L270.8,346.5 L272.9,346.5 L275,346.5 L277.1,346.5 L279.3,346.5 L281.4,346.5 L283.5,346.5 L285.6,346.5 L287.7,346.5 L289.9,346.5 L292,346.5 L294.1,346.5 L296.2,346.5 L298.3,346.4 L300.5,346.4 L302.6,346.3 L304.7,346.2 L306.8,346 L308.9,345.7 L311.1,345.2 L313.2,344.5 L315.3,343.4 L317.4,341.9 L319.6,339.7 L321.7,336.7 L323.8,332.6 L325.9,327.3 L328,320.3 L330.2,311.5 L332.3,300.5 L334.4,287.3 L336.5,271.7 L338.6,253.7 L340.8,233.5 L342.9,211.5 L345,188.2 L347.1,164.4 L349.2,140.8 L351.4,118.4 L353.5,98.38 L355.6,81.57 L357.7,68.87 L359.8,60.95 L362,58.26 L364.1,60.95 L366.2,68.87 L368.3,81.57 L370.4,98.38 L372.6,118.4 L374.7,140.8 L376.8,164.4 L378.9,188.2 L381,211.5 L383.2,233.5 L385.3,253.7 L387.4,271.7 L389.5,287.3 L391.6,300.5 L393.8,311.5 L395.9,320.3 L398,327.3 L400.1,332.6 L402.2,336.7 L404.4,339.7 L406.5,341.9 L408.6,343.4 L410.7,344.5 L412.8,345.2 L415,345.7 L417.1,346 L419.2,346.2 L421.3,346.3 L423.5,346.4 L425.6,346.4 L427.7,346.5 L429.8,346.5 L431.9,346.5 L434.1,346.5 L436.2,346.5 L438.3,346.5 L440.4,346.5 L442.5,346.5 L444.7,346.5 L446.8,346.5 L448.9,346.5 L451,346.5 L453.1,346.5 L455.3,346.5 L457.4,346.5 L459.5,346.5 L461.6,346.5 L463.7,346.5 L465.9,346.5 L468,346.5 " fill="none"/></g>
|
||||
</g>
|
||||
<g id="plotPoints" clip-path="url(#plot_window)"></g>
|
||||
<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="490.5" y="52.5" width="107" height="126"/><rect x="490.5" y="52.5" width="107" height="126"/></g>
|
||||
<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="80.5" x2="518.5" y2="80.5"/></g>
|
||||
<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="108.5" x2="518.5" y2="108.5"/></g>
|
||||
<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="136.5" x2="518.5" y2="136.5"/></g>
|
||||
<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="504.5" y1="164.5" x2="518.5" y2="164.5"/></g>
|
||||
</g>
|
||||
<g id="legendText">
|
||||
<text x="525.5" y="80.5" font-size="14" font-family="Lucida Sans Unicode">q=0.05</text>
|
||||
<text x="525.5" y="108.5" font-size="14" font-family="Lucida Sans Unicode">q=0.5</text>
|
||||
<text x="525.5" y="136.5" font-size="14" font-family="Lucida Sans Unicode">q=0.7</text>
|
||||
<text x="525.5" y="164.5" font-size="14" font-family="Lucida Sans Unicode">q=0.9</text></g>
|
||||
<g id="title">
|
||||
<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Lucida Sans Unicode">Jacobi Theta Function θ₄</text></g>
|
||||
<g id="plotXValues"></g>
|
||||
<g id="plotYValues"></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
2523
doc/graphs/jacobi_theta4_float.svg
Normal file
|
After Width: | Height: | Size: 197 KiB |
2528
doc/graphs/jacobi_theta4q_float.svg
Normal file
|
After Width: | Height: | Size: 196 KiB |
@@ -701,6 +701,49 @@ int main()
|
||||
plot.add(boost::bind(f2, 1, _1), -2.5, 2.5, "k=1");
|
||||
plot.plot("Jacobi Elliptic sd", "jacobi_sd.svg", "k", "jacobi_sd(k, u)");
|
||||
|
||||
plot.clear();
|
||||
f2 = boost::math::jacobi_theta1;
|
||||
plot.add(boost::bind(f2, _1, 0.15), 0.0, boost::math::constants::two_pi<double>(), "\u03B8\u2081");
|
||||
f2 = boost::math::jacobi_theta2;
|
||||
plot.add(boost::bind(f2, _1, 0.15), 0.0, boost::math::constants::two_pi<double>(), "\u03B8\u2082");
|
||||
f2 = boost::math::jacobi_theta3;
|
||||
plot.add(boost::bind(f2, _1, 0.15), 0.0, boost::math::constants::two_pi<double>(), "\u03B8\u2083");
|
||||
f2 = boost::math::jacobi_theta4;
|
||||
plot.add(boost::bind(f2, _1, 0.15), 0.0, boost::math::constants::two_pi<double>(), "\u03B8\u2084");
|
||||
plot.plot("Jacobi Theta Functions", "jacobi_theta.svg", "x", "jacobi_theta(x, q=0.15)");
|
||||
|
||||
f2 = boost::math::jacobi_theta1;
|
||||
plot.clear();
|
||||
plot.add(boost::bind(f2, _1, 0.05), 0.0, boost::math::constants::two_pi<double>(), "q=0.05");
|
||||
plot.add(boost::bind(f2, _1, 0.5), 0.0, boost::math::constants::two_pi<double>(), "q=0.5");
|
||||
plot.add(boost::bind(f2, _1, 0.7), 0.0, boost::math::constants::two_pi<double>(), "q=0.7");
|
||||
plot.add(boost::bind(f2, _1, 0.9), 0.0, boost::math::constants::two_pi<double>(), "q=0.9");
|
||||
plot.plot("Jacobi Theta Function \u03B8\u2081", "jacobi_theta1.svg", "x", "jacobi_theta1(x, q)");
|
||||
|
||||
f2 = boost::math::jacobi_theta2;
|
||||
plot.clear();
|
||||
plot.add(boost::bind(f2, _1, 0.05), 0.0, boost::math::constants::two_pi<double>(), "q=0.05");
|
||||
plot.add(boost::bind(f2, _1, 0.5), 0.0, boost::math::constants::two_pi<double>(), "q=0.5");
|
||||
plot.add(boost::bind(f2, _1, 0.7), 0.0, boost::math::constants::two_pi<double>(), "q=0.7");
|
||||
plot.add(boost::bind(f2, _1, 0.9), 0.0, boost::math::constants::two_pi<double>(), "q=0.9");
|
||||
plot.plot("Jacobi Theta Function \u03B8\u2082", "jacobi_theta2.svg", "x", "jacobi_theta2(x, q)");
|
||||
|
||||
f2 = boost::math::jacobi_theta3;
|
||||
plot.clear();
|
||||
plot.add(boost::bind(f2, _1, 0.05), 0.0, boost::math::constants::two_pi<double>(), "q=0.05");
|
||||
plot.add(boost::bind(f2, _1, 0.5), 0.0, boost::math::constants::two_pi<double>(), "q=0.5");
|
||||
plot.add(boost::bind(f2, _1, 0.7), 0.0, boost::math::constants::two_pi<double>(), "q=0.7");
|
||||
plot.add(boost::bind(f2, _1, 0.9), 0.0, boost::math::constants::two_pi<double>(), "q=0.9");
|
||||
plot.plot("Jacobi Theta Function \u03B8\u2083", "jacobi_theta3.svg", "x", "jacobi_theta3(x, q)");
|
||||
|
||||
f2 = boost::math::jacobi_theta4;
|
||||
plot.clear();
|
||||
plot.add(boost::bind(f2, _1, 0.05), 0.0, boost::math::constants::two_pi<double>(), "q=0.05");
|
||||
plot.add(boost::bind(f2, _1, 0.5), 0.0, boost::math::constants::two_pi<double>(), "q=0.5");
|
||||
plot.add(boost::bind(f2, _1, 0.7), 0.0, boost::math::constants::two_pi<double>(), "q=0.7");
|
||||
plot.add(boost::bind(f2, _1, 0.9), 0.0, boost::math::constants::two_pi<double>(), "q=0.9");
|
||||
plot.plot("Jacobi Theta Function \u03B8\u2084", "jacobi_theta4.svg", "x", "jacobi_theta4(x, q)");
|
||||
|
||||
f = boost::math::airy_ai;
|
||||
plot.clear();
|
||||
plot.add(f, -20, 20, "");
|
||||
|
||||
45
doc/html/math_toolkit/jacobi_theta.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Jacobi Theta Functions</title>
|
||||
<link rel="stylesheet" href="../math.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.79.2">
|
||||
<link rel="home" href="../index.html" title="Math Toolkit 2.12.0">
|
||||
<link rel="up" href="../special.html" title="Chapter 8. Special Functions">
|
||||
<link rel="prev" href="jacobi/jacobi_sn.html" title="Jacobi Elliptic Function sn">
|
||||
<link rel="next" href="jacobi_theta/jacobi_theta_overview.html" title="Overview of the Jacobi Theta 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/jacobi_sn.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.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_theta/jacobi_theta_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="math_toolkit.jacobi_theta"></a><a class="link" href="jacobi_theta.html" title="Jacobi Theta Functions">Jacobi Theta Functions</a>
|
||||
</h2></div></div></div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="jacobi/jacobi_sn.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.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_theta/jacobi_theta_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
158
doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html
Normal file
@@ -0,0 +1,158 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Jacobi Theta Function θ1</title>
|
||||
<link rel="stylesheet" href="../../math.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.79.2">
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 2.12.0">
|
||||
<link rel="up" href="../jacobi_theta.html" title="Jacobi Theta Functions">
|
||||
<link rel="prev" href="jacobi_theta_overview.html" title="Overview of the Jacobi Theta Functions">
|
||||
<link rel="next" href="jacobi_theta2.html" title="Jacobi Theta Function θ2">
|
||||
</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_theta_overview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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_theta2.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.jacobi_theta.jacobi_theta1"></a><a class="link" href="jacobi_theta1.html" title="Jacobi Theta Function θ1">Jacobi Theta
|
||||
Function θ<sub>1</sub></a>
|
||||
</h3></div></div></div>
|
||||
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta1.h0"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta1.synopsis"></a></span><a class="link" href="jacobi_theta1.html#math_toolkit.jacobi_theta.jacobi_theta1.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_theta</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">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta1tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta1tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
<span class="special">}}</span> <span class="comment">// namespaces</span>
|
||||
</pre>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta1.h1"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta1.description"></a></span><a class="link" href="jacobi_theta1.html#math_toolkit.jacobi_theta.jacobi_theta1.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
The functions calculate the value of first <a class="link" href="jacobi_theta_overview.html" title="Overview of the Jacobi Theta Functions">Jacobi
|
||||
Theta function</a>, parameterized either in terms of the nome <span class="emphasis"><em>q</em></span>:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta1.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Or in terms of an imaginary τ:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta1tau.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The nome <span class="emphasis"><em>q</em></span> is restricted to the domain (0, 1), returning
|
||||
the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
|
||||
otherwise. The following graph shows the theta function at various values
|
||||
of <span class="emphasis"><em>q</em></span>:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta1.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The final <a class="link" href="../../policy.html" title="Chapter 21. 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 21. Policies: Controlling Precision, Error Handling etc">policy
|
||||
documentation for more details</a>.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta1.h2"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta1.accuracy"></a></span><a class="link" href="jacobi_theta1.html#math_toolkit.jacobi_theta.jacobi_theta1.accuracy">Accuracy</a>
|
||||
</h5>
|
||||
<p>
|
||||
The following <a class="link" href="../ulps_plots.html" title="ULPs Plots">ULPs plot</a> is
|
||||
representative, fixing <span class="emphasis"><em>q</em></span>=0.5 and varying <span class="emphasis"><em>x</em></span>
|
||||
from 0 to 2π:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta1_float.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The envelope represents the function's <a class="ulink" href="https://en.wikipedia.org/wiki/Condition_number#One_variable" target="_top">condition
|
||||
number</a>. Note that relative accuracy degenerates periodically near
|
||||
θ<sub>1</sub>=0.
|
||||
</p>
|
||||
<p>
|
||||
Fixing <span class="emphasis"><em>x</em></span>=5 and varying <span class="emphasis"><em>q</em></span>, the ULPs
|
||||
plot looks like:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta1q_float.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Accuracy tends to degenerate near <span class="emphasis"><em>q</em></span>=1 (small τ).
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta1.h3"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta1.implementation"></a></span><a class="link" href="jacobi_theta1.html#math_toolkit.jacobi_theta.jacobi_theta1.implementation">Implementation</a>
|
||||
</h5>
|
||||
<p>
|
||||
The <span class="emphasis"><em>q</em></span> parameterization is implemented using the τ parameterization,
|
||||
where τ=-log(<span class="emphasis"><em>q</em></span>)/π.
|
||||
</p>
|
||||
<p>
|
||||
If τ is greater than or equal to 1, the summation above is used as-is. However
|
||||
if τ < 1, the following identity <a class="ulink" href="https://dlmf.nist.gov/20.7#viii" target="_top">DLMF
|
||||
20.7.30</a> is used, defining τ'=-1/τ:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta1_imaginary.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
This transformation of variables ensures that the function will always converge
|
||||
in a small number of iterations.
|
||||
</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"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="jacobi_theta_overview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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_theta2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
158
doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html
Normal file
@@ -0,0 +1,158 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Jacobi Theta Function θ2</title>
|
||||
<link rel="stylesheet" href="../../math.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.79.2">
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 2.12.0">
|
||||
<link rel="up" href="../jacobi_theta.html" title="Jacobi Theta Functions">
|
||||
<link rel="prev" href="jacobi_theta1.html" title="Jacobi Theta Function θ1">
|
||||
<link rel="next" href="jacobi_theta3.html" title="Jacobi Theta Function θ3">
|
||||
</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_theta1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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_theta3.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.jacobi_theta.jacobi_theta2"></a><a class="link" href="jacobi_theta2.html" title="Jacobi Theta Function θ2">Jacobi Theta
|
||||
Function θ<sub>2</sub></a>
|
||||
</h3></div></div></div>
|
||||
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta2.h0"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta2.synopsis"></a></span><a class="link" href="jacobi_theta2.html#math_toolkit.jacobi_theta.jacobi_theta2.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_theta</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">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta2tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta2tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
<span class="special">}}</span> <span class="comment">// namespaces</span>
|
||||
</pre>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta2.h1"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta2.description"></a></span><a class="link" href="jacobi_theta2.html#math_toolkit.jacobi_theta.jacobi_theta2.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
The functions calculate the value of second <a class="link" href="jacobi_theta_overview.html" title="Overview of the Jacobi Theta Functions">Jacobi
|
||||
Theta function</a>, parameterized either in terms of the nome <span class="emphasis"><em>q</em></span>:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta2.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Or in terms of an imaginary τ:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta2tau.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The nome <span class="emphasis"><em>q</em></span> is restricted to the domain (0, 1), returning
|
||||
the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
|
||||
otherwise. The following graph shows the theta function at various values
|
||||
of <span class="emphasis"><em>q</em></span>:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta2.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The final <a class="link" href="../../policy.html" title="Chapter 21. 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 21. Policies: Controlling Precision, Error Handling etc">policy
|
||||
documentation for more details</a>.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta2.h2"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta2.accuracy"></a></span><a class="link" href="jacobi_theta2.html#math_toolkit.jacobi_theta.jacobi_theta2.accuracy">Accuracy</a>
|
||||
</h5>
|
||||
<p>
|
||||
The following <a class="link" href="../ulps_plots.html" title="ULPs Plots">ULPs plot</a> is
|
||||
representative, fixing <span class="emphasis"><em>q</em></span>=0.5 and varying <span class="emphasis"><em>x</em></span>
|
||||
from 0 to 2π:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta2_float.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The envelope represents the function's <a class="ulink" href="https://en.wikipedia.org/wiki/Condition_number#One_variable" target="_top">condition
|
||||
number</a>. Note that relative accuracy degenerates periodically near
|
||||
θ<sub>2</sub>=0.
|
||||
</p>
|
||||
<p>
|
||||
Fixing <span class="emphasis"><em>x</em></span>=0.4 and varying <span class="emphasis"><em>q</em></span>, the
|
||||
ULPs plot looks like:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta2q_float.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Accuracy tends to degenerate near <span class="emphasis"><em>q</em></span>=1 (small τ).
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta2.h3"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta2.implementation"></a></span><a class="link" href="jacobi_theta2.html#math_toolkit.jacobi_theta.jacobi_theta2.implementation">Implementation</a>
|
||||
</h5>
|
||||
<p>
|
||||
The <span class="emphasis"><em>q</em></span> parameterization is implemented using the τ parameterization,
|
||||
where τ=-log(<span class="emphasis"><em>q</em></span>)/π.
|
||||
</p>
|
||||
<p>
|
||||
If τ is greater than or equal to 1, the summation above is used as-is. However
|
||||
if τ < 1, the following identity <a class="ulink" href="https://dlmf.nist.gov/20.7#viii" target="_top">DLMF
|
||||
20.7.31</a> is used, defining τ'=-1/τ:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta2_imaginary.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
This transformation of variables ensures that the function will always converge
|
||||
in a small number of iterations.
|
||||
</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"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="jacobi_theta1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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_theta3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
175
doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html
Normal file
@@ -0,0 +1,175 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Jacobi Theta Function θ3</title>
|
||||
<link rel="stylesheet" href="../../math.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.79.2">
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 2.12.0">
|
||||
<link rel="up" href="../jacobi_theta.html" title="Jacobi Theta Functions">
|
||||
<link rel="prev" href="jacobi_theta2.html" title="Jacobi Theta Function θ2">
|
||||
<link rel="next" href="jacobi_theta4.html" title="Jacobi Theta Function θ4">
|
||||
</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_theta2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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_theta4.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.jacobi_theta.jacobi_theta3"></a><a class="link" href="jacobi_theta3.html" title="Jacobi Theta Function θ3">Jacobi Theta
|
||||
Function θ<sub>3</sub></a>
|
||||
</h3></div></div></div>
|
||||
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta3.h0"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta3.synopsis"></a></span><a class="link" href="jacobi_theta3.html#math_toolkit.jacobi_theta.jacobi_theta3.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_theta</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">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta3</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta3</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta3tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta3tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta3m1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta3m1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta3m1tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta3m1tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
<span class="special">}}</span> <span class="comment">// namespaces</span>
|
||||
</pre>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta3.h1"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta3.description"></a></span><a class="link" href="jacobi_theta3.html#math_toolkit.jacobi_theta.jacobi_theta3.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
The functions calculate the value of third <a class="link" href="jacobi_theta_overview.html" title="Overview of the Jacobi Theta Functions">Jacobi
|
||||
Theta function</a>, parameterized either in terms of the nome <span class="emphasis"><em>q</em></span>:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta3.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Or in terms of an imaginary τ:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta3tau.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The nome <span class="emphasis"><em>q</em></span> is restricted to the domain (0, 1), returning
|
||||
the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
|
||||
otherwise. The following graph shows the theta function at various values
|
||||
of <span class="emphasis"><em>q</em></span>:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta3.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The final <a class="link" href="../../policy.html" title="Chapter 21. 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 21. Policies: Controlling Precision, Error Handling etc">policy
|
||||
documentation for more details</a>.
|
||||
</p>
|
||||
<p>
|
||||
A second quartet of functions (functions containing <code class="computeroutput"><span class="identifier">m1</span></code>)
|
||||
compute one less than the value of the third theta function. These versions
|
||||
of the functions provide increased accuracy when the result is close to unity.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta3.h2"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta3.accuracy"></a></span><a class="link" href="jacobi_theta3.html#math_toolkit.jacobi_theta.jacobi_theta3.accuracy">Accuracy</a>
|
||||
</h5>
|
||||
<p>
|
||||
The following <a class="link" href="../ulps_plots.html" title="ULPs Plots">ULPs plot</a> is
|
||||
representative, fixing <span class="emphasis"><em>q</em></span>=0.5 and varying <span class="emphasis"><em>x</em></span>
|
||||
from 0 to 2π:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta3_float.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The envelope represents the function's <a class="ulink" href="https://en.wikipedia.org/wiki/Condition_number#One_variable" target="_top">condition
|
||||
number</a>. Note that relative accuracy degenerates periodically near
|
||||
θ<sub>3</sub>=1.
|
||||
</p>
|
||||
<p>
|
||||
Fixing <span class="emphasis"><em>x</em></span>=0.4 and varying <span class="emphasis"><em>q</em></span>, the
|
||||
ULPs plot looks like:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta3q_float.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Accuracy tends to degenerate near <span class="emphasis"><em>q</em></span>=1 (small τ).
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta3.h3"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta3.implementation"></a></span><a class="link" href="jacobi_theta3.html#math_toolkit.jacobi_theta.jacobi_theta3.implementation">Implementation</a>
|
||||
</h5>
|
||||
<p>
|
||||
The <span class="emphasis"><em>q</em></span> parameterization is implemented using the τ parameterization,
|
||||
where τ=-log(<span class="emphasis"><em>q</em></span>)/π.
|
||||
</p>
|
||||
<p>
|
||||
If τ is greater than or equal to 1, the summation above is used as-is. However
|
||||
if τ < 1, the following identity <a class="ulink" href="https://dlmf.nist.gov/20.7#viii" target="_top">DLMF
|
||||
20.7.32</a> is used, defining τ'=-1/τ:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta3_imaginary.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
This transformation of variables ensures that the function will always converge
|
||||
in a small number of iterations.
|
||||
</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"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="jacobi_theta2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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_theta4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
175
doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html
Normal file
@@ -0,0 +1,175 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Jacobi Theta Function θ4</title>
|
||||
<link rel="stylesheet" href="../../math.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.79.2">
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 2.12.0">
|
||||
<link rel="up" href="../jacobi_theta.html" title="Jacobi Theta Functions">
|
||||
<link rel="prev" href="jacobi_theta3.html" title="Jacobi Theta Function θ3">
|
||||
<link rel="next" href="../lambert_w.html" title="Lambert W 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="jacobi_theta3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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="../lambert_w.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.jacobi_theta.jacobi_theta4"></a><a class="link" href="jacobi_theta4.html" title="Jacobi Theta Function θ4">Jacobi Theta
|
||||
Function θ<sub>4</sub></a>
|
||||
</h3></div></div></div>
|
||||
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta4.h0"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta4.synopsis"></a></span><a class="link" href="jacobi_theta4.html#math_toolkit.jacobi_theta.jacobi_theta4.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_theta</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">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta4</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta4</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta4tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta4tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta4m1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta4m1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</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_theta4m1tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</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_theta4m1tau</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">tau</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
|
||||
<span class="special">}}</span> <span class="comment">// namespaces</span>
|
||||
</pre>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta4.h1"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta4.description"></a></span><a class="link" href="jacobi_theta4.html#math_toolkit.jacobi_theta.jacobi_theta4.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
The functions calculate the value of fourth <a class="link" href="jacobi_theta_overview.html" title="Overview of the Jacobi Theta Functions">Jacobi
|
||||
Theta function</a>, parameterized either in terms of the nome <span class="emphasis"><em>q</em></span>:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta4.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Or in terms of an imaginary τ:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta4tau.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The nome <span class="emphasis"><em>q</em></span> is restricted to the domain (0, 1), returning
|
||||
the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
|
||||
otherwise. The following graph shows the theta function at various values
|
||||
of <span class="emphasis"><em>q</em></span>:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta4.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The final <a class="link" href="../../policy.html" title="Chapter 21. 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 21. Policies: Controlling Precision, Error Handling etc">policy
|
||||
documentation for more details</a>.
|
||||
</p>
|
||||
<p>
|
||||
A second quartet of functions (functions containing <code class="computeroutput"><span class="identifier">m1</span></code>)
|
||||
compute one less than the value of the fourth theta function. These versions
|
||||
of the functions provide increased accuracy when the result is close to unity.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta4.h2"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta4.accuracy"></a></span><a class="link" href="jacobi_theta4.html#math_toolkit.jacobi_theta.jacobi_theta4.accuracy">Accuracy</a>
|
||||
</h5>
|
||||
<p>
|
||||
The following <a class="link" href="../ulps_plots.html" title="ULPs Plots">ULPs plot</a> is
|
||||
representative, fixing <span class="emphasis"><em>q</em></span>=0.5 and varying <span class="emphasis"><em>x</em></span>
|
||||
from 0 to 2π:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta4_float.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
The envelope represents the function's <a class="ulink" href="https://en.wikipedia.org/wiki/Condition_number#One_variable" target="_top">condition
|
||||
number</a>. Note that relative accuracy degenerates periodically near
|
||||
θ<sub>4</sub>=1.
|
||||
</p>
|
||||
<p>
|
||||
Fixing <span class="emphasis"><em>x</em></span>=5 and varying <span class="emphasis"><em>q</em></span>, the ULPs
|
||||
plot looks like:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta4q_float.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Accuracy tends to degenerate near <span class="emphasis"><em>q</em></span>=1 (small τ).
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta4.h3"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta4.implementation"></a></span><a class="link" href="jacobi_theta4.html#math_toolkit.jacobi_theta.jacobi_theta4.implementation">Implementation</a>
|
||||
</h5>
|
||||
<p>
|
||||
The <span class="emphasis"><em>q</em></span> parameterization is implemented using the τ parameterization,
|
||||
where τ=-log(<span class="emphasis"><em>q</em></span>)/π.
|
||||
</p>
|
||||
<p>
|
||||
If τ is greater than or equal to 1, the summation above is used as-is. However
|
||||
if τ < 1, the following identity <a class="ulink" href="https://dlmf.nist.gov/20.7#viii" target="_top">DLMF
|
||||
20.7.33</a> is used, defining τ'=-1/τ:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta4_imaginary.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
This transformation of variables ensures that the function will always converge
|
||||
in a small number of iterations.
|
||||
</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"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="jacobi_theta3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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="../lambert_w.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
187
doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html
Normal file
@@ -0,0 +1,187 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Overview of the Jacobi Theta Functions</title>
|
||||
<link rel="stylesheet" href="../../math.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.79.2">
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 2.12.0">
|
||||
<link rel="up" href="../jacobi_theta.html" title="Jacobi Theta Functions">
|
||||
<link rel="prev" href="../jacobi_theta.html" title="Jacobi Theta Functions">
|
||||
<link rel="next" href="jacobi_theta1.html" title="Jacobi Theta Function θ1">
|
||||
</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_theta.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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_theta1.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.jacobi_theta.jacobi_theta_overview"></a><a class="link" href="jacobi_theta_overview.html" title="Overview of the Jacobi Theta Functions">Overview
|
||||
of the Jacobi Theta Functions</a>
|
||||
</h3></div></div></div>
|
||||
|
||||
<p>
|
||||
The Jacobi Theta functions are a set of four inter-related periodic functions
|
||||
of <span class="emphasis"><em>x</em></span> which are expressed in terms of a parameter <span class="emphasis"><em>q</em></span>
|
||||
(also called the nome), or a closely related value, τ
|
||||
<a href="#ftn.math_toolkit.jacobi_theta.jacobi_theta_overview.f0" class="footnote" name="math_toolkit.jacobi_theta.jacobi_theta_overview.f0"><sup class="footnote">[5]</sup></a> <a href="#ftn.math_toolkit.jacobi_theta.jacobi_theta_overview.f1" class="footnote" name="math_toolkit.jacobi_theta.jacobi_theta_overview.f1"><sup class="footnote">[6]</sup></a> <a href="#ftn.math_toolkit.jacobi_theta.jacobi_theta_overview.f2" class="footnote" name="math_toolkit.jacobi_theta.jacobi_theta_overview.f2"><sup class="footnote">[7]</sup></a>.
|
||||
</p>
|
||||
<p>
|
||||
They are
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta1.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta2.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta3.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta4.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../graphs/jacobi_theta.svg" align="middle"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Plots of the four theta functions for <span class="emphasis"><em>q</em></span>=0.15.
|
||||
</p>
|
||||
<p>
|
||||
Appropriately multiplied and divided, these four theta functions can be used
|
||||
to implement the <a class="link" href="../jacobi/jac_over.html" title="Overview of the Jacobi Elliptic Functions">Jacobi elliptic
|
||||
functions</a>; but this is not really recommended, as the existing Boost
|
||||
implementations are likely faster and more accurate.
|
||||
</p>
|
||||
<p>
|
||||
Most applications will want to use the <span class="emphasis"><em>q</em></span> parameterization
|
||||
of the functions: <code class="computeroutput"><a class="link" href="jacobi_theta1.html" title="Jacobi Theta Function θ1">jacobi_theta1</a></code>,
|
||||
<code class="computeroutput"><a class="link" href="jacobi_theta2.html" title="Jacobi Theta Function θ2">jacobi_theta2</a></code>,
|
||||
<code class="computeroutput"><a class="link" href="jacobi_theta3.html" title="Jacobi Theta Function θ3">jacobi_theta3</a></code>,
|
||||
and <code class="computeroutput"><a class="link" href="jacobi_theta4.html" title="Jacobi Theta Function θ4">jacobi_theta4</a></code>,
|
||||
where <span class="emphasis"><em>q</em></span> is restricted to the domain (0, 1). These four
|
||||
functions are equivalent to Mathematica's <a class="ulink" href="https://reference.wolfram.com/language/ref/EllipticTheta.html" target="_top">EllipticTheta</a>
|
||||
function (whose first argument is the function number).
|
||||
</p>
|
||||
<p>
|
||||
A second τ parameterization is also provided for all four functions, where
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
<span class="inlinemediaobject"><img src="../../../equations/jacobi_theta_nome.svg"></span>
|
||||
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<p>
|
||||
Note that there is a slight difference between τ in the equation above and
|
||||
the <code class="computeroutput"><span class="identifier">tau</span></code> in the Boost function
|
||||
signatures. The mathematical τ is assumed to be a purely imaginary number,
|
||||
but the Boost argument is real-valued. Boost treats its real-valued argument
|
||||
as an imaginary number; that is, it implicitly multiplies the argument by
|
||||
<span class="emphasis"><em>i</em></span>. This assumption of τ's imaginarity is not required
|
||||
by the mathematics, but it does cover the most common application domains.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta_overview.h0"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta_overview.accuracy_considerations"></a></span><a class="link" href="jacobi_theta_overview.html#math_toolkit.jacobi_theta.jacobi_theta_overview.accuracy_considerations">Accuracy
|
||||
considerations</a>
|
||||
</h5>
|
||||
<p>
|
||||
The purpose of the τ parameterization is to provide increased accuracy either
|
||||
when <span class="emphasis"><em>q</em></span> is expressible as an exponential or is very close
|
||||
to unity. For example, instead of:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">jacobi_theta1</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">(-</span><span class="identifier">a</span><span class="special">));</span>
|
||||
</pre>
|
||||
<p>
|
||||
A more accurate computation will take advantage of τ:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">jacobi_theta1tau</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">a</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">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special"><</span><span class="identifier">T</span><span class="special">>());</span>
|
||||
</pre>
|
||||
<p>
|
||||
Internally, Boost implements the <span class="emphasis"><em>q</em></span> parameterization
|
||||
by taking the logarithm of <span class="emphasis"><em>q</em></span> and passing it to the τ parameterization;
|
||||
as such, using the τ parameterization directly will generally yield greater
|
||||
precision. As another example, if the complement of <span class="emphasis"><em>q</em></span>
|
||||
is known with great accuracy, then instead of:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">jacobi_theta1</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="number">1</span><span class="special">-</span><span class="identifier">q_complement</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
It is more accurate to use <code class="computeroutput"><a class="link" href="../powers/log1p.html" title="log1p">log1p</a></code>
|
||||
and pass in the result to the τ version:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">jacobi_theta1tau</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</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">log1p</span><span class="special">(-</span><span class="identifier">q_complement</span><span class="special">)</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">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special"><</span><span class="identifier">T</span><span class="special">>());</span>
|
||||
</pre>
|
||||
<p>
|
||||
Additional "minus 1" versions of the third and fourth theta functions
|
||||
are provided. Similar in spirit to <code class="computeroutput"><a class="link" href="../powers/expm1.html" title="expm1">expm1</a></code>,
|
||||
these functions return one less than the evaluated function, and yield increased
|
||||
accuracy when <span class="emphasis"><em>q</em></span> is small.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.jacobi_theta.jacobi_theta_overview.h1"></a>
|
||||
<span class="phrase"><a name="math_toolkit.jacobi_theta.jacobi_theta_overview.testing"></a></span><a class="link" href="jacobi_theta_overview.html#math_toolkit.jacobi_theta.jacobi_theta_overview.testing">Testing</a>
|
||||
</h5>
|
||||
<p>
|
||||
Results of the theta functions are tested against Wolfram Alpha data, as
|
||||
well as random values computed at high precision. In addition, the tests
|
||||
verify the majority of the identities described in <a class="ulink" href="https://dlmf.nist.gov/20.7" target="_top">DLMF
|
||||
Chapter 20.7</a>.
|
||||
</p>
|
||||
<div class="footnotes">
|
||||
<br><hr style="width:100; text-align:left;margin-left: 0">
|
||||
<div id="ftn.math_toolkit.jacobi_theta.jacobi_theta_overview.f0" class="footnote">
|
||||
<p><a href="#math_toolkit.jacobi_theta.jacobi_theta_overview.f0" class="para"><sup class="para">[5] </sup></a>
|
||||
<a class="ulink" href="https://en.wikipedia.org/wiki/Theta_function" target="_top">Wikipedia: Theta
|
||||
function</a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="ftn.math_toolkit.jacobi_theta.jacobi_theta_overview.f1" class="footnote">
|
||||
<p><a href="#math_toolkit.jacobi_theta.jacobi_theta_overview.f1" class="para"><sup class="para">[6] </sup></a>
|
||||
<a class="ulink" href="https://mathworld.wolfram.com/JacobiThetaFunctions.html" target="_top">Weisstein,
|
||||
Eric W. "Jacobi Theta Functions." From MathWorld - A Wolfram
|
||||
Web Resource.</a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="ftn.math_toolkit.jacobi_theta.jacobi_theta_overview.f2" class="footnote">
|
||||
<p><a href="#math_toolkit.jacobi_theta.jacobi_theta_overview.f2" class="para"><sup class="para">[7] </sup></a>
|
||||
<a class="ulink" href="https://dlmf.nist.gov/20" target="_top">Digital Library of Mathematical Functions:
|
||||
Theta Functions, Reinhardt, W. P., Walker, P. L.</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</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"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../jacobi_theta.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi_theta.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_theta1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -239,6 +239,12 @@ math_toolkit/jacobi/jacobi_ns.html
|
||||
math_toolkit/jacobi/jacobi_sc.html
|
||||
math_toolkit/jacobi/jacobi_sd.html
|
||||
math_toolkit/jacobi/jacobi_sn.html
|
||||
math_toolkit/jacobi_theta.html
|
||||
math_toolkit/jacobi_theta/jacobi_theta_overview.html
|
||||
math_toolkit/jacobi_theta/jacobi_theta1.html
|
||||
math_toolkit/jacobi_theta/jacobi_theta2.html
|
||||
math_toolkit/jacobi_theta/jacobi_theta3.html
|
||||
math_toolkit/jacobi_theta/jacobi_theta4.html
|
||||
math_toolkit/lambert_w.html
|
||||
math_toolkit/zetas.html
|
||||
math_toolkit/zetas/zeta.html
|
||||
|
||||
22
doc/math.qbk
@@ -1,13 +1,13 @@
|
||||
[book Math Toolkit
|
||||
[quickbook 1.7]
|
||||
[copyright 2006-2019 Nikhar Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, Daryle Walker and Xiaogang Zhang]
|
||||
[copyright 2006-2020 Nikhar Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert Holin, Bruno Lalande, John Maddock, Evan Miller, Jeremy Murphy, Matthew Pulver, Johan Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, Daryle Walker and Xiaogang Zhang]
|
||||
[/purpose ISBN 0-9504833-2-X 978-0-9504833-2-0, Classification 519.2-dc22]
|
||||
[license
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE_1_0.txt or copy at
|
||||
[@http://www.boost.org/LICENSE_1_0.txt])
|
||||
]
|
||||
[authors [Agrawal, Nikhar], [Bikineev, Anton], [Bristow, Paul A.], [Holin, Hubert], [Guazzone, Marco], [Kormanyos, Christopher], [Lalande, Bruno], [Maddock, John], [Murphy, Jeremy W.], [Pulver, Matthew], [Råde, Johan], [Sobotta, Benjamin], [Sewani, Gautam], [Thompson, Nicholas], [van den Berg, Thijs], [Walker, Daryle], [Zhang, Xiaogang]]
|
||||
[authors [Agrawal, Nikhar], [Bikineev, Anton], [Bristow, Paul A.], [Holin, Hubert], [Guazzone, Marco], [Kormanyos, Christopher], [Lalande, Bruno], [Maddock, John], [Miller, Evan], [Murphy, Jeremy W.], [Pulver, Matthew], [Råde, Johan], [Sobotta, Benjamin], [Sewani, Gautam], [Thompson, Nicholas], [van den Berg, Thijs], [Walker, Daryle], [Zhang, Xiaogang]]
|
||||
[/last-revision $Date$]
|
||||
[version 2.12.0]
|
||||
]
|
||||
@@ -268,6 +268,20 @@ and use the function's name as the link text.]
|
||||
[def __jacobi_sn [link math_toolkit.jacobi.jacobi_sn jacobi_sn]]
|
||||
[def __jacobi_sc [link math_toolkit.jacobi.jacobi_sc jacobi_sc]]
|
||||
|
||||
[/Jacobi Theta Functions]
|
||||
[def __jacobi_theta1 [link math_toolkit.jacobi_theta.jacobi_theta1 jacobi_theta1]]
|
||||
[def __jacobi_theta1tau [link math_toolkit.jacobi_theta.jacobi_theta1 jacobi_theta1tau]]
|
||||
[def __jacobi_theta2 [link math_toolkit.jacobi_theta.jacobi_theta2 jacobi_theta2]]
|
||||
[def __jacobi_theta2tau [link math_toolkit.jacobi_theta.jacobi_theta2 jacobi_theta2tau]]
|
||||
[def __jacobi_theta3 [link math_toolkit.jacobi_theta.jacobi_theta3 jacobi_theta3]]
|
||||
[def __jacobi_theta3tau [link math_toolkit.jacobi_theta.jacobi_theta3 jacobi_theta3tau]]
|
||||
[def __jacobi_theta3m1 [link math_toolkit.jacobi_theta.jacobi_theta3 jacobi_theta3m1]]
|
||||
[def __jacobi_theta3m1tau [link math_toolkit.jacobi_theta.jacobi_theta3 jacobi_theta3m1tau]]
|
||||
[def __jacobi_theta4 [link math_toolkit.jacobi_theta.jacobi_theta4 jacobi_theta4]]
|
||||
[def __jacobi_theta4tau [link math_toolkit.jacobi_theta.jacobi_theta4 jacobi_theta4tau]]
|
||||
[def __jacobi_theta4m1 [link math_toolkit.jacobi_theta.jacobi_theta4 jacobi_theta4m1]]
|
||||
[def __jacobi_theta4m1tau [link math_toolkit.jacobi_theta.jacobi_theta4 jacobi_theta4m1tau]]
|
||||
|
||||
[/sinus cardinals]
|
||||
[def __sinc_pi [link math_toolkit.sinc.sinc_pi sinc_pi]]
|
||||
[def __sinhc_pi [link math_toolkit.sinc.sinhc_pi sinhc_pi]]
|
||||
@@ -667,8 +681,12 @@ and as a CD ISBN 0-9504833-2-X 978-0-9504833-2-0, Classification 519.2-dc22.
|
||||
[include sf/ellint_legendre.qbk]
|
||||
[endsect] [/section:ellint Elliptic Integrals]
|
||||
|
||||
[/Jacobi Elliptic Functions]
|
||||
[include sf/jacobi_elliptic.qbk]
|
||||
|
||||
[/Jacobi Theta Functions]
|
||||
[include sf/jacobi_theta.qbk]
|
||||
|
||||
[/ Lambert W function]
|
||||
[include sf/lambert_w.qbk]
|
||||
|
||||
|
||||
371
doc/sf/jacobi_theta.qbk
Normal file
@@ -0,0 +1,371 @@
|
||||
[/
|
||||
Copyright (c) 2020 Evan Miller
|
||||
Use, modification and distribution are subject to the
|
||||
Boost Software License, Version 1.0. (See accompanying file
|
||||
LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
]
|
||||
|
||||
[section:jacobi_theta Jacobi Theta Functions]
|
||||
|
||||
[section:jacobi_theta_overview Overview of the Jacobi Theta Functions]
|
||||
|
||||
The Jacobi Theta functions are a set of four inter-related periodic functions of /x/ which are expressed in terms of a parameter /q/ (also called the nome), or a closely related value, [tau]
|
||||
[footnote [@https://en.wikipedia.org/wiki/Theta_function Wikipedia: Theta function]]
|
||||
[footnote [@https://mathworld.wolfram.com/JacobiThetaFunctions.html Weisstein, Eric W. "Jacobi Theta Functions." From MathWorld - A Wolfram Web Resource.]]
|
||||
[footnote [@https://dlmf.nist.gov/20 Digital Library of Mathematical Functions: Theta Functions, Reinhardt, W. P., Walker, P. L.]].
|
||||
|
||||
They are
|
||||
|
||||
[equation jacobi_theta1] [/ \theta_1(x, q) := 2 \sum_{n=0}^\infty (-1)^n q^{(n+\frac{1}{2})^2} \sin((2n+1)x) ]
|
||||
[equation jacobi_theta2] [/ \theta_2(x, q) := 2 \sum_{n=0}^\infty q^{(n+\frac{1}{2})^2} \cos((2n+1)x) ]
|
||||
[equation jacobi_theta3] [/ \theta_3(x, q) := 1 + 2 \sum_{n=1}^\infty q^{n^2} \cos(2nx) ]
|
||||
[equation jacobi_theta4] [/ \theta_4(x, q) := 1 + 2 \sum_{n=1}^\infty (-1)^n q^{n^2} \cos(2nx) ]
|
||||
|
||||
[graph jacobi_theta]
|
||||
|
||||
Plots of the four theta functions for /q/=0.15.
|
||||
|
||||
Appropriately multiplied and divided, these four theta functions can be used
|
||||
to implement the [link math_toolkit.jacobi.jac_over Jacobi elliptic functions]; but this is not really
|
||||
recommended, as the existing Boost implementations are likely faster and
|
||||
more accurate.
|
||||
|
||||
Most applications will want to use the /q/ parameterization of the functions: `__jacobi_theta1`, `__jacobi_theta2`, `__jacobi_theta3`, and `__jacobi_theta4`, where /q/ is restricted to the domain (0, 1).
|
||||
These four functions are equivalent to Mathematica's [@https://reference.wolfram.com/language/ref/EllipticTheta.html EllipticTheta] function (whose first argument is the function number).
|
||||
|
||||
A second [tau] parameterization is also provided for all four functions, where
|
||||
|
||||
[equation jacobi_theta_nome] [/ q = \exp(i\pi\tau) ]
|
||||
|
||||
Note that there is a slight difference between [tau] in the equation above and the `tau` in the Boost function signatures.
|
||||
The mathematical [tau] is assumed to be a purely imaginary number, but the Boost argument is real-valued.
|
||||
Boost treats its real-valued argument as an imaginary number; that is, it implicitly multiplies the argument by /i/.
|
||||
This assumption of [tau]'s imaginarity is not required by the mathematics, but it does cover the most common application domains.
|
||||
|
||||
[heading Accuracy considerations]
|
||||
|
||||
The purpose of the [tau] parameterization is to provide increased accuracy either when /q/ is expressible as an exponential or is very close to unity.
|
||||
For example, instead of:
|
||||
|
||||
jacobi_theta1(x, exp(-a));
|
||||
|
||||
A more accurate computation will take advantage of [tau]:
|
||||
|
||||
jacobi_theta1tau(x, a / boost::math::constants::pi<T>());
|
||||
|
||||
Internally, Boost implements the /q/ parameterization by taking the logarithm of /q/ and passing it to the [tau] parameterization; as such, using the [tau] parameterization directly will generally yield greater precision.
|
||||
As another example, if the complement of /q/ is known with great accuracy, then instead of:
|
||||
|
||||
jacobi_theta1(x, 1-q_complement);
|
||||
|
||||
It is more accurate to use `__log1p` and pass in the result to the [tau] version:
|
||||
|
||||
jacobi_theta1tau(x, -boost::math::log1p(-q_complement) / boost::math::constants::pi<T>());
|
||||
|
||||
Additional "minus 1" versions of the third and fourth theta functions are provided. Similar in spirit to `__expm1`, these functions return one less than the evaluated function, and yield increased accuracy when /q/ is small.
|
||||
|
||||
[heading Testing]
|
||||
|
||||
Results of the theta functions are tested against Wolfram Alpha data, as well as random values computed at high precision.
|
||||
In addition, the tests verify the majority of the identities described in [@https://dlmf.nist.gov/20.7 DLMF Chapter 20.7].
|
||||
|
||||
[endsect] [/section:jacobi_theta_overview Overview of the Jacobi Theta Functions]
|
||||
|
||||
[section:jacobi_theta1 Jacobi Theta Function [theta][sub 1]]
|
||||
|
||||
[heading Synopsis]
|
||||
|
||||
``
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
``
|
||||
|
||||
namespace boost { namespace math {
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta1(T x, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta1(T x, U q, const Policy&);
|
||||
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta1tau(T x, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta1tau(T x, U tau, const Policy&);
|
||||
}} // namespaces
|
||||
|
||||
[heading Description]
|
||||
|
||||
The functions calculate the value of first [link math_toolkit.jacobi_theta.jacobi_theta_overview Jacobi Theta function], parameterized either in terms of the nome /q/:
|
||||
|
||||
[equation jacobi_theta1] [/ \theta_1(x, q) := 2 \sum_{n=0}^\infty (-1)^n q^{(n+\frac{1}{2})^2} \sin((2n+1)x) ]
|
||||
|
||||
Or in terms of an imaginary [tau]:
|
||||
|
||||
[equation jacobi_theta1tau] [/ \theta_1(x|\tau) := 2 \sum_{n=0}^\infty (-1)^n \exp(i\pi\tau{(n+0.5)^2}) \sin((2n+1)x) ]
|
||||
|
||||
The nome /q/ is restricted to the domain (0, 1), returning the result of __domain_error otherwise. The following graph shows the theta function at various values of /q/:
|
||||
|
||||
[graph jacobi_theta1]
|
||||
|
||||
[optional_policy]
|
||||
|
||||
[heading Accuracy]
|
||||
|
||||
The following [link math_toolkit.ulps_plots ULPs plot] is representative, fixing /q/=0.5 and varying /x/ from 0 to 2[pi]:
|
||||
|
||||
[graph jacobi_theta1_float]
|
||||
|
||||
The envelope represents the function's [@https://en.wikipedia.org/wiki/Condition_number#One_variable condition number].
|
||||
Note that relative accuracy degenerates periodically near [theta][sub 1]=0.
|
||||
|
||||
Fixing /x/=5 and varying /q/, the ULPs plot looks like:
|
||||
|
||||
[graph jacobi_theta1q_float]
|
||||
|
||||
Accuracy tends to degenerate near /q/=1 (small [tau]).
|
||||
|
||||
[heading Implementation]
|
||||
|
||||
The /q/ parameterization is implemented using the [tau] parameterization, where [tau]=-log(/q/)/[pi].
|
||||
|
||||
If [tau] is greater than or equal to 1, the summation above is used as-is.
|
||||
However if [tau] < 1, the following identity [@https://dlmf.nist.gov/20.7#viii DLMF 20.7.30] is used, defining [tau]'=-1/[tau]:
|
||||
|
||||
[equation jacobi_theta1_imaginary] [/ (-i\tau)^{1/2}\theta_1(x|\tau)=-i\exp(i\tau'x^2/\pi)\theta_1(x\tau'|\tau') ]
|
||||
|
||||
This transformation of variables ensures that the function will always converge in a small number of iterations.
|
||||
|
||||
[endsect] [/section:jacobi_theta1 Jacobi Theta Function [theta][sub 1]]
|
||||
|
||||
[section:jacobi_theta2 Jacobi Theta Function [theta][sub 2]]
|
||||
|
||||
[heading Synopsis]
|
||||
|
||||
``
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
``
|
||||
|
||||
namespace boost { namespace math {
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta2(T x, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta2(T x, U q, const Policy&);
|
||||
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta2tau(T x, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta2tau(T x, U tau, const Policy&);
|
||||
}} // namespaces
|
||||
|
||||
[heading Description]
|
||||
|
||||
The functions calculate the value of second [link math_toolkit.jacobi_theta.jacobi_theta_overview Jacobi Theta function], parameterized either in terms of the nome /q/:
|
||||
|
||||
[equation jacobi_theta2] [/ \theta_2(x, q) := 2 \sum_{n=0}^\infty q^{(n+\frac{1}{2})^2} \cos((2n+1)x) ]
|
||||
|
||||
Or in terms of an imaginary [tau]:
|
||||
|
||||
[equation jacobi_theta2tau] [/ \theta_2(x|\tau) := 2 \sum_{n=0}^\infty \exp(i\pi\tau{(n+0.5)^2}) \cos((2n+1)x) ]
|
||||
|
||||
The nome /q/ is restricted to the domain (0, 1), returning the result of __domain_error otherwise.
|
||||
The following graph shows the theta function at various values of /q/:
|
||||
|
||||
[graph jacobi_theta2]
|
||||
|
||||
[optional_policy]
|
||||
|
||||
[heading Accuracy]
|
||||
|
||||
The following [link math_toolkit.ulps_plots ULPs plot] is representative, fixing /q/=0.5 and varying /x/ from 0 to 2[pi]:
|
||||
|
||||
[graph jacobi_theta2_float]
|
||||
|
||||
The envelope represents the function's [@https://en.wikipedia.org/wiki/Condition_number#One_variable condition number].
|
||||
Note that relative accuracy degenerates periodically near [theta][sub 2]=0.
|
||||
|
||||
Fixing /x/=0.4 and varying /q/, the ULPs plot looks like:
|
||||
|
||||
[graph jacobi_theta2q_float]
|
||||
|
||||
Accuracy tends to degenerate near /q/=1 (small [tau]).
|
||||
|
||||
[heading Implementation]
|
||||
|
||||
The /q/ parameterization is implemented using the [tau] parameterization, where [tau]=-log(/q/)/[pi].
|
||||
|
||||
If [tau] is greater than or equal to 1, the summation above is used as-is.
|
||||
However if [tau] < 1, the following identity [@https://dlmf.nist.gov/20.7#viii DLMF 20.7.31] is used, defining [tau]'=-1/[tau]:
|
||||
|
||||
[equation jacobi_theta2_imaginary] [/ (-i\tau)^{1/2}\theta_2(x|\tau)=\exp(i\tau'x^2/\pi)\theta_4(x\tau'|\tau') ]
|
||||
|
||||
This transformation of variables ensures that the function will always converge in a small number of iterations.
|
||||
|
||||
[endsect] [/section:jacobi_theta2 Jacobi Theta Function [theta][sub 2]]
|
||||
|
||||
[section:jacobi_theta3 Jacobi Theta Function [theta][sub 3]]
|
||||
|
||||
[heading Synopsis]
|
||||
|
||||
``
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
``
|
||||
|
||||
namespace boost { namespace math {
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta3(T x, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta3(T x, U q, const Policy&);
|
||||
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta3tau(T x, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta3tau(T x, U tau, const Policy&);
|
||||
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta3m1(T x, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta3m1(T x, U q, const Policy&);
|
||||
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta3m1tau(T x, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta3m1tau(T x, U tau, const Policy&);
|
||||
}} // namespaces
|
||||
|
||||
[heading Description]
|
||||
|
||||
The functions calculate the value of third [link math_toolkit.jacobi_theta.jacobi_theta_overview Jacobi Theta function], parameterized either in terms of the nome /q/:
|
||||
|
||||
[equation jacobi_theta3] [/ \theta_3(x, q) := 1 + 2 \sum_{n=1}^\infty q^{n^2} \cos(2nx) ]
|
||||
|
||||
Or in terms of an imaginary [tau]:
|
||||
|
||||
[equation jacobi_theta3tau] [/ \theta_3(x|\tau) := 1 + 2 \sum_{n=1}^\infty \exp(i\pi\tau{n^2}) \cos(2nx) ]
|
||||
|
||||
The nome /q/ is restricted to the domain (0, 1), returning the result of __domain_error otherwise.
|
||||
The following graph shows the theta function at various values of /q/:
|
||||
|
||||
[graph jacobi_theta3]
|
||||
|
||||
[optional_policy]
|
||||
|
||||
A second quartet of functions (functions containing `m1`) compute one less than the value of the third theta function.
|
||||
These versions of the functions provide increased accuracy when the result is close to unity.
|
||||
|
||||
[heading Accuracy]
|
||||
|
||||
The following [link math_toolkit.ulps_plots ULPs plot] is representative, fixing /q/=0.5 and varying /x/ from 0 to 2[pi]:
|
||||
|
||||
[graph jacobi_theta3_float]
|
||||
|
||||
The envelope represents the function's [@https://en.wikipedia.org/wiki/Condition_number#One_variable condition number].
|
||||
Note that relative accuracy degenerates periodically near [theta][sub 3]=1.
|
||||
|
||||
Fixing /x/=0.4 and varying /q/, the ULPs plot looks like:
|
||||
|
||||
[graph jacobi_theta3q_float]
|
||||
|
||||
Accuracy tends to degenerate near /q/=1 (small [tau]).
|
||||
|
||||
[heading Implementation]
|
||||
|
||||
The /q/ parameterization is implemented using the [tau] parameterization, where [tau]=-log(/q/)/[pi].
|
||||
|
||||
If [tau] is greater than or equal to 1, the summation above is used as-is.
|
||||
However if [tau] < 1, the following identity [@https://dlmf.nist.gov/20.7#viii DLMF 20.7.32] is used, defining [tau]'=-1/[tau]:
|
||||
|
||||
[equation jacobi_theta3_imaginary] [/ (-i\tau)^{1/2}\theta_3(x|\tau)=\exp(i\tau'x^2/\pi)\theta_3(x\tau'|\tau') ]
|
||||
|
||||
This transformation of variables ensures that the function will always converge in a small number of iterations.
|
||||
|
||||
[endsect] [/section:jacobi_theta3 Jacobi Theta Function [theta][sub 3]]
|
||||
|
||||
[section:jacobi_theta4 Jacobi Theta Function [theta][sub 4]]
|
||||
|
||||
[heading Synopsis]
|
||||
|
||||
``
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
``
|
||||
|
||||
namespace boost { namespace math {
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta4(T x, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta4(T x, U q, const Policy&);
|
||||
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta4tau(T x, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta4tau(T x, U tau, const Policy&);
|
||||
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta4m1(T x, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta4m1(T x, U q, const Policy&);
|
||||
|
||||
template <class T, class U>
|
||||
``__sf_result`` jacobi_theta4m1tau(T x, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
``__sf_result`` jacobi_theta4m1tau(T x, U tau, const Policy&);
|
||||
}} // namespaces
|
||||
|
||||
[heading Description]
|
||||
|
||||
The functions calculate the value of fourth [link math_toolkit.jacobi_theta.jacobi_theta_overview Jacobi Theta function], parameterized either in terms of the nome /q/:
|
||||
|
||||
[equation jacobi_theta4] [/ \theta_4(x, q) := 1 + 2 \sum_{n=1}^\infty (-1)^n q^{n^2} \cos(2nx) ]
|
||||
|
||||
Or in terms of an imaginary [tau]:
|
||||
|
||||
[equation jacobi_theta4tau] [/ \theta_4(x|\tau) := 1 + 2 \sum_{n=1}^\infty (-1)^n \exp(i\pi\tau{n^2}) \cos(2nx) ]
|
||||
|
||||
The nome /q/ is restricted to the domain (0, 1), returning the result of __domain_error otherwise.
|
||||
The following graph shows the theta function at various values of /q/:
|
||||
|
||||
[graph jacobi_theta4]
|
||||
|
||||
[optional_policy]
|
||||
|
||||
A second quartet of functions (functions containing `m1`) compute one less than the value of the fourth theta function.
|
||||
These versions of the functions provide increased accuracy when the result is close to unity.
|
||||
|
||||
[heading Accuracy]
|
||||
|
||||
The following [link math_toolkit.ulps_plots ULPs plot] is representative, fixing /q/=0.5 and varying /x/ from 0 to 2[pi]:
|
||||
|
||||
[graph jacobi_theta4_float]
|
||||
|
||||
The envelope represents the function's [@https://en.wikipedia.org/wiki/Condition_number#One_variable condition number].
|
||||
Note that relative accuracy degenerates periodically near [theta][sub 4]=1.
|
||||
|
||||
Fixing /x/=5 and varying /q/, the ULPs plot looks like:
|
||||
|
||||
[graph jacobi_theta4q_float]
|
||||
|
||||
Accuracy tends to degenerate near /q/=1 (small [tau]).
|
||||
|
||||
[heading Implementation]
|
||||
|
||||
The /q/ parameterization is implemented using the [tau] parameterization, where [tau]=-log(/q/)/[pi].
|
||||
|
||||
If [tau] is greater than or equal to 1, the summation above is used as-is.
|
||||
However if [tau] < 1, the following identity [@https://dlmf.nist.gov/20.7#viii DLMF 20.7.33] is used, defining [tau]'=-1/[tau]:
|
||||
|
||||
[equation jacobi_theta4_imaginary] [/ (-i\tau)^{1/2}\theta_4(x|\tau)=\exp(i\tau'x^2/\pi)\theta_2(x\tau'|\tau') ]
|
||||
|
||||
This transformation of variables ensures that the function will always converge in a small number of iterations.
|
||||
|
||||
[endsect] [/section:jacobi_theta4 Jacobi Theta Function [theta][sub 4]]
|
||||
|
||||
[endsect] [/section:jacobi_theta Jacobi Theta Functions]
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <boost/math/special_functions/ellint_2.hpp>
|
||||
#include <boost/math/special_functions/ellint_3.hpp>
|
||||
#include <boost/math/special_functions/ellint_d.hpp>
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
#include <boost/math/special_functions/jacobi_zeta.hpp>
|
||||
#include <boost/math/special_functions/heuman_lambda.hpp>
|
||||
#include <boost/math/special_functions/ellint_rc.hpp>
|
||||
|
||||
834
include/boost/math/special_functions/jacobi_theta.hpp
Normal file
@@ -0,0 +1,834 @@
|
||||
// Jacobi theta functions
|
||||
// Copyright Evan Miller 2020
|
||||
//
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// Four main theta functions with various flavors of parameterization,
|
||||
// floating-point policies, and bonus "minus 1" versions of functions 3 and 4
|
||||
// designed to preserve accuracy for small q. Twenty-four C++ functions are
|
||||
// provided in all.
|
||||
//
|
||||
// The functions take a real argument z and a parameter known as q, or its close
|
||||
// relative tau.
|
||||
//
|
||||
// The mathematical functions are best understood in terms of their Fourier
|
||||
// series. Using the q parameterization, and summing from n = 0 to ∞:
|
||||
//
|
||||
// θ₁(z,q) = 2 Σ (-1)ⁿ * q^(n+1/2)² * sin((2n+1)z)
|
||||
// θ₂(z,q) = 2 Σ q^(n+1/2)² * cos((2n+1)z)
|
||||
// θ₃(z,q) = 1 + 2 Σ q^n² * cos(2nz)
|
||||
// θ₄(z,q) = 1 + 2 Σ (-1)ⁿ * q^n² * cos(2nz)
|
||||
//
|
||||
// Appropriately multiplied and divided, these four theta functions can be used
|
||||
// to implement the famous Jacabi elliptic functions - but this is not really
|
||||
// recommended, as the existing Boost implementations are likely faster and
|
||||
// more accurate. More saliently, setting z = 0 on the fourth theta function
|
||||
// will produce the limiting CDF of the Kolmogorov-Smirnov distribution, which
|
||||
// is this particular implementation’s raison d'être.
|
||||
//
|
||||
// Separate C++ functions are provided for q and for tau. The main q functions are:
|
||||
//
|
||||
// template <class T> inline T jacobi_theta1(T z, T q);
|
||||
// template <class T> inline T jacobi_theta2(T z, T q);
|
||||
// template <class T> inline T jacobi_theta3(T z, T q);
|
||||
// template <class T> inline T jacobi_theta4(T z, T q);
|
||||
//
|
||||
// The parameter q, also known as the nome, is restricted to the domain (0, 1),
|
||||
// and will throw a domain error otherwise.
|
||||
//
|
||||
// The equivalent functions that use tau instead of q are:
|
||||
//
|
||||
// template <class T> inline T jacobi_theta1tau(T z, T tau);
|
||||
// template <class T> inline T jacobi_theta2tau(T z, T tau);
|
||||
// template <class T> inline T jacobi_theta3tau(T z, T tau);
|
||||
// template <class T> inline T jacobi_theta4tau(T z, T tau);
|
||||
//
|
||||
// Mathematically, q and τ are related by:
|
||||
//
|
||||
// q = exp(iπτ)
|
||||
//
|
||||
// However, the τ in the equation above is *not* identical to the tau in the function
|
||||
// signature. Instead, `tau` is the imaginary component of τ. Mathematically, τ can
|
||||
// be complex - but practically, most applications call for a purely imaginary τ.
|
||||
// Rather than provide a full complex-number API, the author decided to treat the
|
||||
// parameter `tau` as an imaginary number. So in computational terms, the
|
||||
// relationship between `q` and `tau` is given by:
|
||||
//
|
||||
// q = exp(-constants::pi<T>() * tau)
|
||||
//
|
||||
// The tau versions are provided for the sake of accuracy, as well as conformance
|
||||
// with common notation. If your q is an exponential, you are better off using
|
||||
// the tau versions, e.g.
|
||||
//
|
||||
// jacobi_theta1(z, exp(-a)); // rather poor accuracy
|
||||
// jacobi_theta1tau(z, a / constants::pi<T>()); // better accuracy
|
||||
//
|
||||
// Similarly, if you have a precise (small positive) value for the complement
|
||||
// of q, you can obtain a more precise answer overall by passing the result of
|
||||
// `log1p` to the tau parameter:
|
||||
//
|
||||
// jacobi_theta1(z, 1-q_complement); // precision lost in subtraction
|
||||
// jacobi_theta1tau(z, -log1p(-q_complement) / constants::pi<T>()); // better!
|
||||
//
|
||||
// A third quartet of functions are provided for improving accuracy in cases
|
||||
// where q is small, specifically |q| < exp(-π) ≅ 0.04 (or, equivalently, tau
|
||||
// greater than unity). In this domain of q values, the third and fourth theta
|
||||
// functions always return values close to 1. So the following "m1" functions
|
||||
// are provided, similar in spirit to `expm1`, which return one less than their
|
||||
// regular counterparts:
|
||||
//
|
||||
// template <class T> inline T jacobi_theta3m1(T z, T q);
|
||||
// template <class T> inline T jacobi_theta4m1(T z, T q);
|
||||
// template <class T> inline T jacobi_theta3m1tau(T z, T tau);
|
||||
// template <class T> inline T jacobi_theta4m1tau(T z, T tau);
|
||||
//
|
||||
// Note that "m1" versions of the first and second theta would not be useful,
|
||||
// as their ranges are not confined to a neighborhood around 1 (see the Fourier
|
||||
// transform representations above).
|
||||
//
|
||||
// Finally, the twelve functions above are each available with a third Policy
|
||||
// argument, which can be used to define a custom epsilon value. These Policy
|
||||
// versions bring the total number of functions provided by jacobi_theta.hpp
|
||||
// to twenty-four.
|
||||
//
|
||||
// See:
|
||||
// https://mathworld.wolfram.com/JacobiThetaFunctions.html
|
||||
// https://dlmf.nist.gov/20
|
||||
|
||||
#ifndef BOOST_MATH_JACOBI_THETA_HPP
|
||||
#define BOOST_MATH_JACOBI_THETA_HPP
|
||||
|
||||
#include <boost/math/tools/complex.hpp>
|
||||
#include <boost/math/tools/precision.hpp>
|
||||
#include <boost/math/tools/promotion.hpp>
|
||||
#include <boost/math/policies/error_handling.hpp>
|
||||
#include <boost/math/constants/constants.hpp>
|
||||
|
||||
namespace boost{ namespace math{
|
||||
|
||||
// Simple functions - parameterized by q
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta1(T z, U q);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta2(T z, U q);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3(T z, U q);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4(T z, U q);
|
||||
|
||||
// Simple functions - parameterized by tau (assumed imaginary)
|
||||
// q = exp(iπτ)
|
||||
// tau = -log(q)/π
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta1tau(T z, U tau);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta2tau(T z, U tau);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3tau(T z, U tau);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4tau(T z, U tau);
|
||||
|
||||
// Minus one versions for small q / large tau
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3m1(T z, U q);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4m1(T z, U q);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3m1tau(T z, U tau);
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4m1tau(T z, U tau);
|
||||
|
||||
// Policied versions - parameterized by q
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta1(T z, U q, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta2(T z, U q, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3(T z, U q, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4(T z, U q, const Policy& pol);
|
||||
|
||||
// Policied versions - parameterized by tau
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta1tau(T z, U tau, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta2tau(T z, U tau, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3tau(T z, U tau, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4tau(T z, U tau, const Policy& pol);
|
||||
|
||||
// Policied m1 functions
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3m1(T z, U q, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4m1(T z, U q, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3m1tau(T z, U tau, const Policy& pol);
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4m1tau(T z, U tau, const Policy& pol);
|
||||
|
||||
// Compare the non-oscillating component of the delta to the previous delta.
|
||||
// Both are assumed to be non-negative.
|
||||
template <class RealType>
|
||||
inline bool
|
||||
_jacobi_theta_converged(RealType last_delta, RealType delta, RealType eps) {
|
||||
return delta == 0.0 || delta < eps*last_delta;
|
||||
}
|
||||
|
||||
template <class RealType>
|
||||
inline RealType
|
||||
_jacobi_theta_sum(RealType tau, RealType z_n, RealType z_increment, RealType eps) {
|
||||
RealType delta = 0, partial_result = 0;
|
||||
RealType last_delta = 0;
|
||||
|
||||
do {
|
||||
last_delta = delta;
|
||||
delta = exp(-tau*z_n*z_n/constants::pi<RealType>());
|
||||
partial_result += delta;
|
||||
z_n += z_increment;
|
||||
} while (!_jacobi_theta_converged(last_delta, delta, eps));
|
||||
|
||||
return partial_result;
|
||||
}
|
||||
|
||||
// The following _IMAGINARY theta functions assume imaginary z and are for
|
||||
// internal use only. They are designed to increase accuracy and reduce the
|
||||
// number of iterations required for convergence for large |q|. The z argument
|
||||
// is scaled by tau, and the summations are rewritten to be double-sided
|
||||
// following DLMF 20.13.4 and 20.13.5. The return values are scaled by
|
||||
// exp(-tau*z²/π)/sqrt(tau).
|
||||
//
|
||||
// These functions are triggered when tau < 1, i.e. |q| > exp(-π) ≅ 0.043
|
||||
//
|
||||
// Note that jacobi_theta4 uses the imaginary version of jacobi_theta2 (and
|
||||
// vice-versa). jacobi_theta1 and jacobi_theta3 use the imaginary versions of
|
||||
// themselves, following DLMF 20.7.30 - 20.7.33.
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
_IMAGINARY_jacobi_theta1tau(RealType z, RealType tau, const Policy& pol) {
|
||||
BOOST_MATH_STD_USING
|
||||
RealType eps = policies::get_epsilon<RealType, Policy>();
|
||||
RealType result = RealType(0);
|
||||
|
||||
// n>=0 even
|
||||
result -= _jacobi_theta_sum(tau, z + constants::half_pi<RealType>(), constants::two_pi<RealType>(), eps);
|
||||
// n>0 odd
|
||||
result += _jacobi_theta_sum(tau, z + constants::half_pi<RealType>() + constants::pi<RealType>(), constants::two_pi<RealType>(), eps);
|
||||
// n<0 odd
|
||||
result += _jacobi_theta_sum(tau, z - constants::half_pi<RealType>(), -constants::two_pi<RealType>(), eps);
|
||||
// n<0 even
|
||||
result -= _jacobi_theta_sum(tau, z - constants::half_pi<RealType>() - constants::pi<RealType>(), -constants::two_pi<RealType>(), eps);
|
||||
|
||||
return result * sqrt(tau);
|
||||
}
|
||||
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
_IMAGINARY_jacobi_theta2tau(RealType z, RealType tau, const Policy& pol) {
|
||||
BOOST_MATH_STD_USING
|
||||
RealType eps = policies::get_epsilon<RealType, Policy>();
|
||||
RealType result = RealType(0);
|
||||
|
||||
// n>=0
|
||||
result += _jacobi_theta_sum(tau, z + constants::half_pi<RealType>(), constants::pi<RealType>(), eps);
|
||||
// n<0
|
||||
result += _jacobi_theta_sum(tau, z - constants::half_pi<RealType>(), -constants::pi<RealType>(), eps);
|
||||
|
||||
return result * sqrt(tau);
|
||||
}
|
||||
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
_IMAGINARY_jacobi_theta3tau(RealType z, RealType tau, const Policy& pol) {
|
||||
BOOST_MATH_STD_USING
|
||||
RealType eps = policies::get_epsilon<RealType, Policy>();
|
||||
RealType result = 0;
|
||||
|
||||
// n=0
|
||||
result += exp(-z*z*tau/constants::pi<RealType>());
|
||||
// n>0
|
||||
result += _jacobi_theta_sum(tau, z + constants::pi<RealType>(), constants::pi<RealType>(), eps);
|
||||
// n<0
|
||||
result += _jacobi_theta_sum(tau, z - constants::pi<RealType>(), -constants::pi<RealType>(), eps);
|
||||
|
||||
return result * sqrt(tau);
|
||||
}
|
||||
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
_IMAGINARY_jacobi_theta4tau(RealType z, RealType tau, const Policy& pol) {
|
||||
BOOST_MATH_STD_USING
|
||||
RealType eps = policies::get_epsilon<RealType, Policy>();
|
||||
RealType result = 0;
|
||||
|
||||
// n = 0
|
||||
result += exp(-z*z*tau/constants::pi<RealType>());
|
||||
|
||||
// n > 0 odd
|
||||
result -= _jacobi_theta_sum(tau, z + constants::pi<RealType>(), constants::two_pi<RealType>(), eps);
|
||||
// n < 0 odd
|
||||
result -= _jacobi_theta_sum(tau, z - constants::pi<RealType>(), -constants::two_pi<RealType>(), eps);
|
||||
// n > 0 even
|
||||
result += _jacobi_theta_sum(tau, z + constants::two_pi<RealType>(), constants::two_pi<RealType>(), eps);
|
||||
// n < 0 even
|
||||
result += _jacobi_theta_sum(tau, z - constants::two_pi<RealType>(), -constants::two_pi<RealType>(), eps);
|
||||
|
||||
return result * sqrt(tau);
|
||||
}
|
||||
|
||||
// First Jacobi theta function (Parameterized by tau - assumed imaginary)
|
||||
// = 2 * Σ (-1)^n * exp(iπτ*(n+1/2)^2) * sin((2n+1)z)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta1tau_imp(RealType z, RealType tau, const Policy& pol, const char *function)
|
||||
{
|
||||
BOOST_MATH_STD_USING
|
||||
unsigned n = 0;
|
||||
RealType eps = policies::get_epsilon<RealType, Policy>();
|
||||
RealType q_n = 0, last_q_n, delta, result = 0;
|
||||
|
||||
if (tau <= 0.0)
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"tau must be greater than 0 but got %1%.", tau, pol);
|
||||
|
||||
if (abs(z) == 0.0)
|
||||
return result;
|
||||
|
||||
if (tau < 1.0) {
|
||||
z = fmod(z, constants::two_pi<RealType>());
|
||||
while (z > constants::pi<RealType>()) {
|
||||
z -= constants::two_pi<RealType>();
|
||||
}
|
||||
while (z < -constants::pi<RealType>()) {
|
||||
z += constants::two_pi<RealType>();
|
||||
}
|
||||
|
||||
return _IMAGINARY_jacobi_theta1tau(z, 1/tau, pol);
|
||||
}
|
||||
|
||||
do {
|
||||
last_q_n = q_n;
|
||||
q_n = exp(-tau * constants::pi<RealType>() * RealType(n + 0.5)*RealType(n + 0.5) );
|
||||
delta = q_n * sin(RealType(2*n+1)*z);
|
||||
if (n%2)
|
||||
delta = -delta;
|
||||
|
||||
result += delta + delta;
|
||||
n++;
|
||||
} while (!_jacobi_theta_converged(last_q_n, q_n, eps));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// First Jacobi theta function (Parameterized by q)
|
||||
// = 2 * Σ (-1)^n * q^(n+1/2)^2 * sin((2n+1)z)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta1_imp(RealType z, RealType q, const Policy& pol, const char *function) {
|
||||
BOOST_MATH_STD_USING
|
||||
if (q <= 0.0 || q >= 1.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"q must be greater than 0 and less than 1 but got %1%.", q, pol);
|
||||
}
|
||||
return jacobi_theta1tau_imp(z, -log(q)/constants::pi<RealType>(), pol, function);
|
||||
}
|
||||
|
||||
// Second Jacobi theta function (Parameterized by tau - assumed imaginary)
|
||||
// = 2 * Σ exp(iπτ*(n+1/2)^2) * cos((2n+1)z)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta2tau_imp(RealType z, RealType tau, const Policy& pol, const char *function)
|
||||
{
|
||||
BOOST_MATH_STD_USING
|
||||
unsigned n = 0;
|
||||
RealType eps = policies::get_epsilon<RealType, Policy>();
|
||||
RealType q_n = 0, last_q_n, delta, result = 0;
|
||||
|
||||
if (tau <= 0.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"tau must be greater than 0 but got %1%.", tau, pol);
|
||||
} else if (tau < 1.0 && abs(z) == 0.0) {
|
||||
return jacobi_theta4tau(z, 1/tau, pol) / sqrt(tau);
|
||||
} else if (tau < 1.0) { // DLMF 20.7.31
|
||||
z = fmod(z, constants::two_pi<RealType>());
|
||||
while (z > constants::pi<RealType>()) {
|
||||
z -= constants::two_pi<RealType>();
|
||||
}
|
||||
while (z < -constants::pi<RealType>()) {
|
||||
z += constants::two_pi<RealType>();
|
||||
}
|
||||
|
||||
return _IMAGINARY_jacobi_theta4tau(z, 1/tau, pol);
|
||||
}
|
||||
|
||||
do {
|
||||
last_q_n = q_n;
|
||||
q_n = exp(-tau * constants::pi<RealType>() * RealType(n + 0.5)*RealType(n + 0.5));
|
||||
delta = q_n * cos(RealType(2*n+1)*z);
|
||||
result += delta + delta;
|
||||
n++;
|
||||
} while (!_jacobi_theta_converged(last_q_n, q_n, eps));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// Second Jacobi theta function, parameterized by q
|
||||
// = 2 * Σ q^(n+1/2)^2 * cos((2n+1)z)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta2_imp(RealType z, RealType q, const Policy& pol, const char *function) {
|
||||
BOOST_MATH_STD_USING
|
||||
if (q <= 0.0 || q >= 1.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"q must be greater than 0 and less than 1 but got %1%.", q, pol);
|
||||
}
|
||||
return jacobi_theta2tau_imp(z, -log(q)/constants::pi<RealType>(), pol, function);
|
||||
}
|
||||
|
||||
// Third Jacobi theta function, minus one (Parameterized by tau - assumed imaginary)
|
||||
// This function preserves accuracy for small values of q (i.e. |q| < exp(-π) ≅ 0.043)
|
||||
// For larger values of q, the minus one version usually won't help.
|
||||
// = 2 * Σ exp(iπτ*(n)^2) * cos(2nz)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta3m1tau_imp(RealType z, RealType tau, const Policy& pol)
|
||||
{
|
||||
BOOST_MATH_STD_USING
|
||||
|
||||
RealType eps = policies::get_epsilon<RealType, Policy>();
|
||||
RealType q_n = 0, last_q_n, delta, result = 0;
|
||||
unsigned n = 1;
|
||||
|
||||
if (tau < 1.0)
|
||||
return jacobi_theta3tau(z, tau, pol) - RealType(1);
|
||||
|
||||
do {
|
||||
last_q_n = q_n;
|
||||
q_n = exp(-tau * constants::pi<RealType>() * RealType(n)*RealType(n));
|
||||
delta = q_n * cos(RealType(2*n)*z);
|
||||
result += delta + delta;
|
||||
n++;
|
||||
} while (!_jacobi_theta_converged(last_q_n, q_n, eps));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// Third Jacobi theta function, parameterized by tau
|
||||
// = 1 + 2 * Σ exp(iπτ*(n)^2) * cos(2nz)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta3tau_imp(RealType z, RealType tau, const Policy& pol, const char *function)
|
||||
{
|
||||
BOOST_MATH_STD_USING
|
||||
if (tau <= 0.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"tau must be greater than 0 but got %1%.", tau, pol);
|
||||
} else if (tau < 1.0 && abs(z) == 0.0) {
|
||||
return jacobi_theta3tau(z, 1/tau, pol) / sqrt(tau);
|
||||
} else if (tau < 1.0) { // DLMF 20.7.32
|
||||
z = fmod(z, constants::pi<RealType>());
|
||||
while (z > constants::half_pi<RealType>()) {
|
||||
z -= constants::pi<RealType>();
|
||||
}
|
||||
while (z < -constants::half_pi<RealType>()) {
|
||||
z += constants::pi<RealType>();
|
||||
}
|
||||
return _IMAGINARY_jacobi_theta3tau(z, 1/tau, pol);
|
||||
}
|
||||
return RealType(1) + jacobi_theta3m1tau_imp(z, tau, pol);
|
||||
}
|
||||
|
||||
// Third Jacobi theta function, minus one (parameterized by q)
|
||||
// = 2 * Σ q^n^2 * cos(2nz)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta3m1_imp(RealType z, RealType q, const Policy& pol, const char *function) {
|
||||
BOOST_MATH_STD_USING
|
||||
if (q <= 0.0 || q >= 1.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"q must be greater than 0 and less than 1 but got %1%.", q, pol);
|
||||
}
|
||||
return jacobi_theta3m1tau_imp(z, -log(q)/constants::pi<RealType>(), pol);
|
||||
}
|
||||
|
||||
// Third Jacobi theta function (parameterized by q)
|
||||
// = 1 + 2 * Σ q^n^2 * cos(2nz)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta3_imp(RealType z, RealType q, const Policy& pol, const char *function) {
|
||||
BOOST_MATH_STD_USING
|
||||
if (q <= 0.0 || q >= 1.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"q must be greater than 0 and less than 1 but got %1%.", q, pol);
|
||||
}
|
||||
return jacobi_theta3tau_imp(z, -log(q)/constants::pi<RealType>(), pol, function);
|
||||
}
|
||||
|
||||
// Fourth Jacobi theta function, minus one (Parameterized by tau)
|
||||
// This function preserves accuracy for small values of q (i.e. tau > 1)
|
||||
// = 2 * Σ (-1)^n exp(iπτ*(n)^2) * cos(2nz)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta4m1tau_imp(RealType z, RealType tau, const Policy& pol)
|
||||
{
|
||||
BOOST_MATH_STD_USING
|
||||
|
||||
RealType eps = policies::get_epsilon<RealType, Policy>();
|
||||
RealType q_n = 0, last_q_n, delta, result = 0;
|
||||
unsigned n = 1;
|
||||
|
||||
if (tau < 1.0)
|
||||
return jacobi_theta4tau(z, tau, pol) - RealType(1);
|
||||
|
||||
do {
|
||||
last_q_n = q_n;
|
||||
q_n = exp(-tau * constants::pi<RealType>() * RealType(n)*RealType(n));
|
||||
delta = q_n * cos(RealType(2*n)*z);
|
||||
if (n%2)
|
||||
delta = -delta;
|
||||
|
||||
result += delta + delta;
|
||||
n++;
|
||||
} while (!_jacobi_theta_converged(last_q_n, q_n, eps));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// Fourth Jacobi theta function (Parameterized by tau)
|
||||
// = 1 + 2 * Σ (-1)^n exp(iπτ*(n)^2) * cos(2nz)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta4tau_imp(RealType z, RealType tau, const Policy& pol, const char *function)
|
||||
{
|
||||
BOOST_MATH_STD_USING
|
||||
if (tau <= 0.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"tau must be greater than 0 but got %1%.", tau, pol);
|
||||
} else if (tau < 1.0 && abs(z) == 0.0) {
|
||||
return jacobi_theta2tau(z, 1/tau, pol) / sqrt(tau);
|
||||
} else if (tau < 1.0) { // DLMF 20.7.33
|
||||
z = fmod(z, constants::pi<RealType>());
|
||||
while (z > constants::half_pi<RealType>()) {
|
||||
z -= constants::pi<RealType>();
|
||||
}
|
||||
while (z < -constants::half_pi<RealType>()) {
|
||||
z += constants::pi<RealType>();
|
||||
}
|
||||
return _IMAGINARY_jacobi_theta2tau(z, 1/tau, pol);
|
||||
}
|
||||
|
||||
return RealType(1) + jacobi_theta4m1tau_imp(z, tau, pol);
|
||||
}
|
||||
|
||||
// Fourth Jacobi theta function, minus one (Parameterized by q)
|
||||
// This function preserves accuracy for small values of q
|
||||
// = 2 * Σ q^n^2 * cos(2nz)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta4m1_imp(RealType z, RealType q, const Policy& pol, const char *function) {
|
||||
BOOST_MATH_STD_USING
|
||||
if (q <= 0.0 || q >= 1.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"q must be greater than 0 and less than 1 but got %1%.", q, pol);
|
||||
}
|
||||
return jacobi_theta4m1tau_imp(z, -log(q)/constants::pi<RealType>(), pol);
|
||||
}
|
||||
|
||||
// Fourth Jacobi theta function, parameterized by q
|
||||
// = 1 + 2 * Σ q^n^2 * cos(2nz)
|
||||
template <class RealType, class Policy>
|
||||
inline RealType
|
||||
jacobi_theta4_imp(RealType z, RealType q, const Policy& pol, const char *function) {
|
||||
BOOST_MATH_STD_USING
|
||||
if (q <= 0.0 || q >= 1.0) {
|
||||
return policies::raise_domain_error<RealType>(function,
|
||||
"|q| must be greater than zero and less than 1, but got %1%.", q, pol);
|
||||
}
|
||||
return jacobi_theta4tau_imp(z, -log(q)/constants::pi<RealType>(), pol, function);
|
||||
}
|
||||
|
||||
// Begin public API
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta1tau(T z, U tau, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta1tau<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta1tau_imp(static_cast<result_type>(z), static_cast<result_type>(tau),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta1tau(T z, U tau) {
|
||||
return jacobi_theta1tau(z, tau, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta1(T z, U q, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta1<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta1_imp(static_cast<result_type>(z), static_cast<result_type>(q),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta1(T z, U q) {
|
||||
return jacobi_theta1(z, q, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta2tau(T z, U tau, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta2tau<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta2tau_imp(static_cast<result_type>(z), static_cast<result_type>(tau),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta2tau(T z, U tau) {
|
||||
return jacobi_theta2tau(z, tau, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta2(T z, U q, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta2<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta2_imp(static_cast<result_type>(z), static_cast<result_type>(q),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta2(T z, U q) {
|
||||
return jacobi_theta2(z, q, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3m1tau(T z, U tau, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta3m1tau<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta3m1tau_imp(static_cast<result_type>(z), static_cast<result_type>(tau),
|
||||
forwarding_policy()), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3m1tau(T z, U tau) {
|
||||
return jacobi_theta3m1tau(z, tau, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3tau(T z, U tau, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta3tau<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta3tau_imp(static_cast<result_type>(z), static_cast<result_type>(tau),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3tau(T z, U tau) {
|
||||
return jacobi_theta3tau(z, tau, policies::policy<>());
|
||||
}
|
||||
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3m1(T z, U q, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta3m1<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta3m1_imp(static_cast<result_type>(z), static_cast<result_type>(q),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3m1(T z, U q) {
|
||||
return jacobi_theta3m1(z, q, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3(T z, U q, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta3<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta3_imp(static_cast<result_type>(z), static_cast<result_type>(q),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta3(T z, U q) {
|
||||
return jacobi_theta3(z, q, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4m1tau(T z, U tau, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta4m1tau<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta4m1tau_imp(static_cast<result_type>(z), static_cast<result_type>(tau),
|
||||
forwarding_policy()), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4m1tau(T z, U tau) {
|
||||
return jacobi_theta4m1tau(z, tau, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4tau(T z, U tau, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta4tau<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta4tau_imp(static_cast<result_type>(z), static_cast<result_type>(tau),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4tau(T z, U tau) {
|
||||
return jacobi_theta4tau(z, tau, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4m1(T z, U q, const Policy& pol) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta4m1<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta4m1_imp(static_cast<result_type>(z), static_cast<result_type>(q),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4m1(T z, U q) {
|
||||
return jacobi_theta4m1(z, q, policies::policy<>());
|
||||
}
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4(T z, U q, const Policy&) {
|
||||
BOOST_FPU_EXCEPTION_GUARD
|
||||
typedef typename tools::promote_args<T, U>::type result_type;
|
||||
typedef typename policies::normalise<
|
||||
Policy,
|
||||
policies::promote_float<false>,
|
||||
policies::promote_double<false>,
|
||||
policies::discrete_quantile<>,
|
||||
policies::assert_undefined<> >::type forwarding_policy;
|
||||
|
||||
static const char* function = "boost::math::jacobi_theta4<%1%>(%1%)";
|
||||
|
||||
return policies::checked_narrowing_cast<result_type, Policy>(
|
||||
jacobi_theta4_imp(static_cast<result_type>(z), static_cast<result_type>(q),
|
||||
forwarding_policy(), function), function);
|
||||
}
|
||||
|
||||
template <class T, class U>
|
||||
inline typename tools::promote_args<T, U>::type jacobi_theta4(T z, U q) {
|
||||
return jacobi_theta4(z, q, policies::policy<>());
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
#endif
|
||||
@@ -1013,6 +1013,79 @@ namespace boost
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_cs(T k, U theta);
|
||||
|
||||
// Jacobi Theta Functions:
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta1(T z, U q, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta1(T z, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta2(T z, U q, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta2(T z, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta3(T z, U q, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta3(T z, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta4(T z, U q, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta4(T z, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta1tau(T z, U tau, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta1tau(T z, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta2tau(T z, U tau, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta2tau(T z, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta3tau(T z, U tau, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta3tau(T z, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta4tau(T z, U tau, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta4tau(T z, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta3m1(T z, U q, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta3m1(T z, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta4m1(T z, U q, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta4m1(T z, U q);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta3m1tau(T z, U tau, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta3m1tau(T z, U tau);
|
||||
|
||||
template <class T, class U, class Policy>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta4m1tau(T z, U tau, const Policy& pol);
|
||||
|
||||
template <class T, class U>
|
||||
typename tools::promote_args<T, U>::type jacobi_theta4m1tau(T z, U tau);
|
||||
|
||||
|
||||
template <class T>
|
||||
typename tools::promote_args<T>::type zeta(T s);
|
||||
@@ -1642,6 +1715,54 @@ template <class OutputIterator, class T>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_cs(T k, U theta)\
|
||||
{ return boost::math::jacobi_cs(k, theta, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta1(T z, U q)\
|
||||
{ return boost::math::jacobi_theta1(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta2(T z, U q)\
|
||||
{ return boost::math::jacobi_theta2(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta3(T z, U q)\
|
||||
{ return boost::math::jacobi_theta3(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta4(T z, U q)\
|
||||
{ return boost::math::jacobi_theta4(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta1tau(T z, U q)\
|
||||
{ return boost::math::jacobi_theta1tau(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta2tau(T z, U q)\
|
||||
{ return boost::math::jacobi_theta2tau(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta3tau(T z, U q)\
|
||||
{ return boost::math::jacobi_theta3tau(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta4tau(T z, U q)\
|
||||
{ return boost::math::jacobi_theta4tau(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta3m1(T z, U q)\
|
||||
{ return boost::math::jacobi_theta3m1(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta4m1(T z, U q)\
|
||||
{ return boost::math::jacobi_theta4m1(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta3m1tau(T z, U q)\
|
||||
{ return boost::math::jacobi_theta3m1tau(z, q, Policy()); }\
|
||||
\
|
||||
template <class T, class U>\
|
||||
inline typename boost::math::tools::promote_args<T, U>::type jacobi_theta4m1tau(T z, U q)\
|
||||
{ return boost::math::jacobi_theta4m1tau(z, q, Policy()); }\
|
||||
\
|
||||
template <class T>\
|
||||
inline typename boost::math::tools::promote_args<T>::type airy_ai(T x)\
|
||||
{ return boost::math::airy_ai(x, Policy()); }\
|
||||
|
||||
80
reporting/accuracy/plot_jacobi_theta_q.cpp
Normal file
@@ -0,0 +1,80 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <boost/math/tools/ulps_plot.hpp>
|
||||
#include <boost/core/demangle.hpp>
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
|
||||
using boost::math::tools::ulps_plot;
|
||||
|
||||
int main() {
|
||||
using PreciseReal = long double;
|
||||
using CoarseReal = float;
|
||||
|
||||
auto jacobi_theta1_coarse = [](CoarseReal q) {
|
||||
return boost::math::jacobi_theta1<CoarseReal>(5.0, q);
|
||||
};
|
||||
auto jacobi_theta1_precise = [](PreciseReal q) {
|
||||
return boost::math::jacobi_theta1<PreciseReal>(5.0, q);
|
||||
};
|
||||
|
||||
auto jacobi_theta2_coarse = [](CoarseReal q) {
|
||||
return boost::math::jacobi_theta2<CoarseReal>(0.4, q);
|
||||
};
|
||||
auto jacobi_theta2_precise = [](PreciseReal q) {
|
||||
return boost::math::jacobi_theta2<PreciseReal>(0.4, q);
|
||||
};
|
||||
|
||||
auto jacobi_theta3_coarse = [](CoarseReal q) {
|
||||
return boost::math::jacobi_theta3<CoarseReal>(0.4, q);
|
||||
};
|
||||
auto jacobi_theta3_precise = [](PreciseReal q) {
|
||||
return boost::math::jacobi_theta3<PreciseReal>(0.4, q);
|
||||
};
|
||||
|
||||
auto jacobi_theta4_coarse = [](CoarseReal q) {
|
||||
return boost::math::jacobi_theta4<CoarseReal>(5.0, q);
|
||||
};
|
||||
auto jacobi_theta4_precise = [](PreciseReal q) {
|
||||
return boost::math::jacobi_theta4<PreciseReal>(5.0, q);
|
||||
};
|
||||
|
||||
int samples = 2500;
|
||||
int width = 800;
|
||||
PreciseReal clip = 100;
|
||||
|
||||
std::string filename1 = "jacobi_theta1q_" + boost::core::demangle(typeid(CoarseReal).name()) + ".svg";
|
||||
auto plot1 = ulps_plot<decltype(jacobi_theta1_precise), PreciseReal, CoarseReal>(jacobi_theta1_precise, CoarseReal(0), CoarseReal(0.999999), samples);
|
||||
plot1.clip(clip).width(width);
|
||||
std::string title1 = "jacobi_theta1(5.0, q) ULP plot at " + boost::core::demangle(typeid(CoarseReal).name()) + " precision";
|
||||
plot1.title(title1);
|
||||
plot1.vertical_lines(10);
|
||||
plot1.add_fn(jacobi_theta1_coarse);
|
||||
plot1.write(filename1);
|
||||
|
||||
std::string filename2 = "jacobi_theta2q_" + boost::core::demangle(typeid(CoarseReal).name()) + ".svg";
|
||||
auto plot2 = ulps_plot<decltype(jacobi_theta2_precise), PreciseReal, CoarseReal>(jacobi_theta2_precise, CoarseReal(0), CoarseReal(0.999999), samples);
|
||||
plot2.clip(clip).width(width);
|
||||
std::string title2 = "jacobi_theta2(0.4, q) ULP plot at " + boost::core::demangle(typeid(CoarseReal).name()) + " precision";
|
||||
plot2.title(title2);
|
||||
plot2.vertical_lines(10);
|
||||
plot2.add_fn(jacobi_theta2_coarse);
|
||||
plot2.write(filename2);
|
||||
|
||||
std::string filename3 = "jacobi_theta3q_" + boost::core::demangle(typeid(CoarseReal).name()) + ".svg";
|
||||
auto plot3 = ulps_plot<decltype(jacobi_theta3_precise), PreciseReal, CoarseReal>(jacobi_theta3_precise, CoarseReal(0), CoarseReal(0.999999), samples);
|
||||
plot3.clip(clip).width(width);
|
||||
std::string title3 = "jacobi_theta3(0.4, q) ULP plot at " + boost::core::demangle(typeid(CoarseReal).name()) + " precision";
|
||||
plot3.title(title3);
|
||||
plot3.vertical_lines(10);
|
||||
plot3.add_fn(jacobi_theta3_coarse);
|
||||
plot3.write(filename3);
|
||||
|
||||
std::string filename4 = "jacobi_theta4q_" + boost::core::demangle(typeid(CoarseReal).name()) + ".svg";
|
||||
auto plot4 = ulps_plot<decltype(jacobi_theta4_precise), PreciseReal, CoarseReal>(jacobi_theta4_precise, CoarseReal(0), CoarseReal(0.999999), samples);
|
||||
plot4.clip(clip).width(width);
|
||||
std::string title4 = "jacobi_theta4(5.0, q) ULP plot at " + boost::core::demangle(typeid(CoarseReal).name()) + " precision";
|
||||
plot4.title(title4);
|
||||
plot4.vertical_lines(10);
|
||||
plot4.add_fn(jacobi_theta4_coarse);
|
||||
plot4.write(filename4);
|
||||
}
|
||||
79
reporting/accuracy/plot_jacobi_theta_x.cpp
Normal file
@@ -0,0 +1,79 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <boost/math/tools/ulps_plot.hpp>
|
||||
#include <boost/core/demangle.hpp>
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
|
||||
using boost::math::tools::ulps_plot;
|
||||
|
||||
int main() {
|
||||
using PreciseReal = long double;
|
||||
using CoarseReal = float;
|
||||
|
||||
CoarseReal q = 0.5;
|
||||
|
||||
auto jacobi_theta1_coarse = [=](CoarseReal z) {
|
||||
return boost::math::jacobi_theta1<CoarseReal>(z, q);
|
||||
};
|
||||
auto jacobi_theta1_precise = [=](PreciseReal z) {
|
||||
return boost::math::jacobi_theta1<PreciseReal>(z, q);
|
||||
};
|
||||
auto jacobi_theta2_coarse = [=](CoarseReal z) {
|
||||
return boost::math::jacobi_theta2<CoarseReal>(z, q);
|
||||
};
|
||||
auto jacobi_theta2_precise = [=](PreciseReal z) {
|
||||
return boost::math::jacobi_theta2<PreciseReal>(z, q);
|
||||
};
|
||||
auto jacobi_theta3_coarse = [=](CoarseReal z) {
|
||||
return boost::math::jacobi_theta3m1<CoarseReal>(z, q);
|
||||
};
|
||||
auto jacobi_theta3_precise = [=](PreciseReal z) {
|
||||
return boost::math::jacobi_theta3m1<PreciseReal>(z, q);
|
||||
};
|
||||
auto jacobi_theta4_coarse = [=](CoarseReal z) {
|
||||
return boost::math::jacobi_theta4m1<CoarseReal>(z, q);
|
||||
};
|
||||
auto jacobi_theta4_precise = [=](PreciseReal z) {
|
||||
return boost::math::jacobi_theta4m1<PreciseReal>(z, q);
|
||||
};
|
||||
|
||||
int samples = 2500;
|
||||
int width = 800;
|
||||
PreciseReal clip = 100;
|
||||
|
||||
std::string filename1 = "jacobi_theta1_" + boost::core::demangle(typeid(CoarseReal).name()) + ".svg";
|
||||
auto plot1 = ulps_plot<decltype(jacobi_theta1_precise), PreciseReal, CoarseReal>(jacobi_theta1_precise, 0.0, boost::math::constants::two_pi<CoarseReal>(), samples);
|
||||
plot1.clip(clip).width(width);
|
||||
std::string title1 = "jacobi_theta1(x, 0.5) ULP plot at " + boost::core::demangle(typeid(CoarseReal).name()) + " precision";
|
||||
plot1.title(title1);
|
||||
plot1.vertical_lines(10);
|
||||
plot1.add_fn(jacobi_theta1_coarse);
|
||||
plot1.write(filename1);
|
||||
|
||||
std::string filename2 = "jacobi_theta2_" + boost::core::demangle(typeid(CoarseReal).name()) + ".svg";
|
||||
auto plot2 = ulps_plot<decltype(jacobi_theta2_precise), PreciseReal, CoarseReal>(jacobi_theta2_precise, 0.0, boost::math::constants::two_pi<CoarseReal>(), samples);
|
||||
plot2.clip(clip).width(width);
|
||||
std::string title2 = "jacobi_theta2(x, 0.5) ULP plot at " + boost::core::demangle(typeid(CoarseReal).name()) + " precision";
|
||||
plot2.title(title2);
|
||||
plot2.vertical_lines(10);
|
||||
plot2.add_fn(jacobi_theta2_coarse);
|
||||
plot2.write(filename2);
|
||||
|
||||
std::string filename3 = "jacobi_theta3_" + boost::core::demangle(typeid(CoarseReal).name()) + ".svg";
|
||||
auto plot3 = ulps_plot<decltype(jacobi_theta3_precise), PreciseReal, CoarseReal>(jacobi_theta3_precise, 0.0, boost::math::constants::two_pi<CoarseReal>(), samples);
|
||||
plot3.clip(clip).width(width);
|
||||
std::string title3 = "jacobi_theta3m1(x, 0.5) ULP plot at " + boost::core::demangle(typeid(CoarseReal).name()) + " precision";
|
||||
plot3.title(title3);
|
||||
plot3.vertical_lines(10);
|
||||
plot3.add_fn(jacobi_theta3_coarse);
|
||||
plot3.write(filename3);
|
||||
|
||||
std::string filename4 = "jacobi_theta4_" + boost::core::demangle(typeid(CoarseReal).name()) + ".svg";
|
||||
auto plot4 = ulps_plot<decltype(jacobi_theta4_precise), PreciseReal, CoarseReal>(jacobi_theta4_precise, 0.0, boost::math::constants::two_pi<CoarseReal>(), samples);
|
||||
plot4.clip(clip).width(width);
|
||||
std::string title4 = "jacobi_theta4m1(x, 0.5) ULP plot at " + boost::core::demangle(typeid(CoarseReal).name()) + " precision";
|
||||
plot4.title(title4);
|
||||
plot4.vertical_lines(10);
|
||||
plot4.add_fn(jacobi_theta4_coarse);
|
||||
plot4.write(filename4);
|
||||
}
|
||||
77
reporting/performance/jacobi_theta_performance.cpp
Normal file
@@ -0,0 +1,77 @@
|
||||
// (C) Copyright Nick Thompson 2020.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include <random>
|
||||
#include <benchmark/benchmark.h>
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
#include <boost/multiprecision/float128.hpp>
|
||||
#include <boost/multiprecision/mpfr.hpp>
|
||||
#include <boost/multiprecision/cpp_bin_float.hpp>
|
||||
|
||||
using boost::multiprecision::number;
|
||||
using boost::multiprecision::mpfr_float_backend;
|
||||
using boost::multiprecision::float128;
|
||||
using boost::multiprecision::cpp_bin_float_50;
|
||||
using boost::multiprecision::cpp_bin_float_100;
|
||||
using boost::math::jacobi_theta1;
|
||||
using boost::math::jacobi_theta1tau;
|
||||
|
||||
template<class Real>
|
||||
void JacobiTheta1(benchmark::State& state)
|
||||
{
|
||||
std::random_device rd;
|
||||
std::mt19937_64 mt(rd());
|
||||
std::uniform_real_distribution<long double> unif(0,0.01);
|
||||
|
||||
Real x = static_cast<Real>(unif(mt));
|
||||
Real q = static_cast<Real>(unif(mt));
|
||||
for (auto _ : state)
|
||||
{
|
||||
benchmark::DoNotOptimize(jacobi_theta1(x, q));
|
||||
x += std::numeric_limits<Real>::epsilon();
|
||||
}
|
||||
}
|
||||
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, float);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, double);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, long double);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, float128);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, number<mpfr_float_backend<100>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, number<mpfr_float_backend<200>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, number<mpfr_float_backend<300>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, number<mpfr_float_backend<400>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, number<mpfr_float_backend<1000>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, cpp_bin_float_50);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1, cpp_bin_float_100);
|
||||
|
||||
template<class Real>
|
||||
void JacobiTheta1Tau(benchmark::State& state)
|
||||
{
|
||||
std::random_device rd;
|
||||
std::mt19937_64 mt(rd());
|
||||
std::uniform_real_distribution<long double> unif(0,0.01);
|
||||
|
||||
Real x = static_cast<Real>(unif(mt));
|
||||
Real q = static_cast<Real>(unif(mt));
|
||||
for (auto _ : state)
|
||||
{
|
||||
benchmark::DoNotOptimize(jacobi_theta1tau(x, q));
|
||||
x += std::numeric_limits<Real>::epsilon();
|
||||
}
|
||||
}
|
||||
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, float);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, double);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, long double);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, float128);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, number<mpfr_float_backend<100>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, number<mpfr_float_backend<200>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, number<mpfr_float_backend<300>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, number<mpfr_float_backend<400>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, number<mpfr_float_backend<1000>>);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, cpp_bin_float_50);
|
||||
BENCHMARK_TEMPLATE(JacobiTheta1Tau, cpp_bin_float_100);
|
||||
|
||||
BENCHMARK_MAIN();
|
||||
@@ -168,6 +168,7 @@ test-suite special_fun :
|
||||
[ run test_ellint_2.cpp test_instances//test_instances pch_light ../../test/build//boost_unit_test_framework ]
|
||||
[ run test_ellint_3.cpp test_instances//test_instances pch_light ../../test/build//boost_unit_test_framework ]
|
||||
[ run test_ellint_d.cpp test_instances//test_instances pch_light ../../test/build//boost_unit_test_framework ]
|
||||
[ run test_jacobi_theta.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_lambdas ] ]
|
||||
[ run test_jacobi_zeta.cpp test_instances//test_instances pch_light ../../test/build//boost_unit_test_framework ]
|
||||
[ run test_heuman_lambda.cpp test_instances//test_instances pch_light ../../test/build//boost_unit_test_framework ]
|
||||
[ run test_erf.cpp test_instances//test_instances pch_light ../../test/build//boost_unit_test_framework ]
|
||||
@@ -1008,6 +1009,7 @@ test-suite misc :
|
||||
[ run compile_test/sf_ellint_2_incl_test.cpp compile_test_main ]
|
||||
[ run compile_test/sf_ellint_3_incl_test.cpp compile_test_main ]
|
||||
[ run compile_test/sf_ellint_d_incl_test.cpp compile_test_main ]
|
||||
[ run compile_test/sf_jacobi_theta_incl_test.cpp compile_test_main ]
|
||||
[ run compile_test/sf_jacobi_zeta_incl_test.cpp compile_test_main ]
|
||||
[ run compile_test/sf_heuman_lambda_incl_test.cpp compile_test_main ]
|
||||
[ run compile_test/sf_ellint_rc_incl_test.cpp compile_test_main ]
|
||||
|
||||
@@ -274,6 +274,18 @@ void instantiate(RealType)
|
||||
boost::math::jacobi_sc(v1, v2);
|
||||
boost::math::jacobi_sd(v1, v2);
|
||||
boost::math::jacobi_sn(v1, v2);
|
||||
boost::math::jacobi_theta1(v1, v2);
|
||||
boost::math::jacobi_theta1tau(v1, v2);
|
||||
boost::math::jacobi_theta2(v1, v2);
|
||||
boost::math::jacobi_theta2tau(v1, v2);
|
||||
boost::math::jacobi_theta3(v1, v2);
|
||||
boost::math::jacobi_theta3tau(v1, v2);
|
||||
boost::math::jacobi_theta3m1(v1, v2);
|
||||
boost::math::jacobi_theta3m1tau(v1, v2);
|
||||
boost::math::jacobi_theta4(v1, v2);
|
||||
boost::math::jacobi_theta4tau(v1, v2);
|
||||
boost::math::jacobi_theta4m1(v1, v2);
|
||||
boost::math::jacobi_theta4m1tau(v1, v2);
|
||||
boost::math::hypot(v1, v2);
|
||||
boost::math::sinc_pi(v1);
|
||||
boost::math::sinhc_pi(v1);
|
||||
@@ -486,6 +498,18 @@ void instantiate(RealType)
|
||||
boost::math::jacobi_sc(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_sd(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_sn(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta1(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta1tau(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta2(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta2tau(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta3(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta3tau(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta3m1(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta3m1tau(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta4(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta4tau(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta4m1(v1 * 1, v2 + 0);
|
||||
boost::math::jacobi_theta4m1tau(v1 * 1, v2 + 0);
|
||||
boost::math::hypot(v1 * 1, v2 + 0);
|
||||
boost::math::sinc_pi(v1 * 1);
|
||||
boost::math::sinhc_pi(v1 * 1);
|
||||
@@ -668,6 +692,18 @@ void instantiate(RealType)
|
||||
boost::math::jacobi_sc(v1, v2, pol);
|
||||
boost::math::jacobi_sd(v1, v2, pol);
|
||||
boost::math::jacobi_sn(v1, v2, pol);
|
||||
boost::math::jacobi_theta1(v1, v2, pol);
|
||||
boost::math::jacobi_theta1tau(v1, v2, pol);
|
||||
boost::math::jacobi_theta2(v1, v2, pol);
|
||||
boost::math::jacobi_theta2tau(v1, v2, pol);
|
||||
boost::math::jacobi_theta3(v1, v2, pol);
|
||||
boost::math::jacobi_theta3tau(v1, v2, pol);
|
||||
boost::math::jacobi_theta3m1(v1, v2, pol);
|
||||
boost::math::jacobi_theta3m1tau(v1, v2, pol);
|
||||
boost::math::jacobi_theta4(v1, v2, pol);
|
||||
boost::math::jacobi_theta4tau(v1, v2, pol);
|
||||
boost::math::jacobi_theta4m1(v1, v2, pol);
|
||||
boost::math::jacobi_theta4m1tau(v1, v2, pol);
|
||||
boost::math::hypot(v1, v2, pol);
|
||||
boost::math::sinc_pi(v1, pol);
|
||||
boost::math::sinhc_pi(v1, pol);
|
||||
@@ -887,6 +923,18 @@ void instantiate(RealType)
|
||||
test::jacobi_sc(v1, v2);
|
||||
test::jacobi_sd(v1, v2);
|
||||
test::jacobi_sn(v1, v2);
|
||||
test::jacobi_theta1(v1, v2);
|
||||
test::jacobi_theta1tau(v1, v2);
|
||||
test::jacobi_theta2(v1, v2);
|
||||
test::jacobi_theta2tau(v1, v2);
|
||||
test::jacobi_theta3(v1, v2);
|
||||
test::jacobi_theta3tau(v1, v2);
|
||||
test::jacobi_theta3m1(v1, v2);
|
||||
test::jacobi_theta3m1tau(v1, v2);
|
||||
test::jacobi_theta4(v1, v2);
|
||||
test::jacobi_theta4tau(v1, v2);
|
||||
test::jacobi_theta4m1(v1, v2);
|
||||
test::jacobi_theta4m1tau(v1, v2);
|
||||
test::hypot(v1, v2);
|
||||
test::sinc_pi(v1);
|
||||
test::sinhc_pi(v1);
|
||||
@@ -1125,6 +1173,18 @@ void instantiate_mixed(RealType)
|
||||
boost::math::jacobi_sc(i, fr);
|
||||
boost::math::jacobi_sd(i, fr);
|
||||
boost::math::jacobi_sn(i, fr);
|
||||
boost::math::jacobi_theta1(i, fr);
|
||||
boost::math::jacobi_theta1tau(i, fr);
|
||||
boost::math::jacobi_theta2(i, fr);
|
||||
boost::math::jacobi_theta2tau(i, fr);
|
||||
boost::math::jacobi_theta3(i, fr);
|
||||
boost::math::jacobi_theta3tau(i, fr);
|
||||
boost::math::jacobi_theta3m1(i, fr);
|
||||
boost::math::jacobi_theta3m1tau(i, fr);
|
||||
boost::math::jacobi_theta4(i, fr);
|
||||
boost::math::jacobi_theta4tau(i, fr);
|
||||
boost::math::jacobi_theta4m1(i, fr);
|
||||
boost::math::jacobi_theta4m1tau(i, fr);
|
||||
boost::math::hypot(i, s);
|
||||
boost::math::hypot(fr, lr);
|
||||
boost::math::sinc_pi(i);
|
||||
@@ -1276,6 +1336,18 @@ void instantiate_mixed(RealType)
|
||||
boost::math::jacobi_sc(i, fr, pol);
|
||||
boost::math::jacobi_sd(i, fr, pol);
|
||||
boost::math::jacobi_sn(i, fr, pol);
|
||||
boost::math::jacobi_theta1(i, fr, pol);
|
||||
boost::math::jacobi_theta1tau(i, fr, pol);
|
||||
boost::math::jacobi_theta2(i, fr, pol);
|
||||
boost::math::jacobi_theta2tau(i, fr, pol);
|
||||
boost::math::jacobi_theta3(i, fr, pol);
|
||||
boost::math::jacobi_theta3tau(i, fr, pol);
|
||||
boost::math::jacobi_theta3m1(i, fr, pol);
|
||||
boost::math::jacobi_theta3m1tau(i, fr, pol);
|
||||
boost::math::jacobi_theta4(i, fr, pol);
|
||||
boost::math::jacobi_theta4tau(i, fr, pol);
|
||||
boost::math::jacobi_theta4m1(i, fr, pol);
|
||||
boost::math::jacobi_theta4m1tau(i, fr, pol);
|
||||
boost::math::hypot(i, s, pol);
|
||||
boost::math::hypot(fr, lr, pol);
|
||||
boost::math::sinc_pi(i, pol);
|
||||
|
||||
87
test/compile_test/sf_jacobi_theta_incl_test.cpp
Normal file
@@ -0,0 +1,87 @@
|
||||
// Basic sanity check that header <boost/math/special_functions/ellint_1.hpp>
|
||||
// #includes all the files that it needs to.
|
||||
//
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
//
|
||||
// Note this header includes no other headers, this is
|
||||
// important if this test is to be meaningful:
|
||||
//
|
||||
#include "test_compile_result.hpp"
|
||||
|
||||
void compile_and_link_test()
|
||||
{
|
||||
// Q parameter
|
||||
check_result<float>(boost::math::jacobi_theta1<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta1<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta1<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta2<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta2<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta2<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta3<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta3<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta3<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta4<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta4<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta4<long double>(l, l));
|
||||
#endif
|
||||
|
||||
// Tau parameter
|
||||
check_result<float>(boost::math::jacobi_theta1tau<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta1tau<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta1tau<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta2tau<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta2tau<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta2tau<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta3tau<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta3tau<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta3tau<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta4tau<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta4tau<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta4tau<long double>(l, l));
|
||||
#endif
|
||||
|
||||
// Minus 1 flavors
|
||||
check_result<float>(boost::math::jacobi_theta3m1<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta3m1<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta3m1<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta4m1<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta4m1<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta4m1<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta3m1tau<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta3m1tau<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta3m1tau<long double>(l, l));
|
||||
#endif
|
||||
|
||||
check_result<float>(boost::math::jacobi_theta4m1tau<float>(f, f));
|
||||
check_result<double>(boost::math::jacobi_theta4m1tau<double>(d, d));
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
check_result<long double>(boost::math::jacobi_theta4m1tau<long double>(l, l));
|
||||
#endif
|
||||
}
|
||||
407
test/jacobi_theta_data.ipp
Normal file
@@ -0,0 +1,407 @@
|
||||
#ifndef SC_
|
||||
# define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
|
||||
#endif
|
||||
static const boost::array<boost::array<T, 6>, 400> jacobi_theta_data = {{
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(3.2885959156198046956373565724956688068534e-02), SC_(-2.2416718090563708825527631664766447369533e+00), SC_(2.2416730256716428176498936630325268412281e+00), SC_(8.6501687817251432893648387652790053208630e-02) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(5.5831988474209441900045409328023422992062e-02), SC_(-1.9691670545730865185370026051380898653342e+00), SC_(1.9692070146804315897834982290548176926129e+00), SC_(1.8728278171412944095194972294679425185365e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(6.1414517194706514196626094660315415501479e-02), SC_(-1.9073573818152337347920026599518799545677e+00), SC_(1.9074397029476183499308029984882511761375e+00), SC_(2.1897663035281409511640466400290764283829e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(8.4145606747747875706412202717886523741067e-02), SC_(-1.6199525737027658037878996227105298327933e+00), SC_(1.6216382399667330034766713511913243280071e+00), SC_(4.1180679330462040958324052300483030623371e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(8.9974872037641809899114670882385487978310e-02), SC_(-1.4948280057918640281547902919992903030933e+00), SC_(1.5000473265750476128317440143673362216076e+00), SC_(5.1467354741397891494638231908572839845465e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(9.1690758183633167841811240684147212274744e-02), SC_(-1.3253829252665879780800332116214769334757e+00), SC_(1.3451047394314855351133469239572153244678e+00), SC_(6.5836831869245427680960986308150766818528e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(9.0196440355619018889228716087108355076037e-02), SC_(-1.2537410275781201841590060208091665028950e+00), SC_(1.2857950607472095909819956705437694951374e+00), SC_(7.1585263374832302977228457724224595932690e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(6.5877232809985905681764619134801086230341e-02), SC_(-8.4541004713259912838041915549137324261762e-01), SC_(1.0635948798051944732048239426082454938934e+00), SC_(9.3640920626489599747404227419818655818329e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(6.5843024946382135530921273524011201797333e-02), SC_(-8.4495631716962738405779450206308182590358e-01), SC_(1.0634595414471609505348672963192811042462e+00), SC_(9.3654450995432086454672201528973484675506e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(5.7717402457827552130506520458926747827065e-02), SC_(-7.3869742783791038117941437934053766799270e-01), SC_(1.0371674808910674395048549485514017159826e+00), SC_(9.6283299588492950587203513753732975338901e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(4.3382185219962659123384493028114502587781e-02), SC_(-5.5453006027422481538616511141963584513263e-01), SC_(1.0118177162202877813354243461741329409210e+00), SC_(9.8818228865282976953190323495768627669719e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(4.2022677150864693639214706106242554258389e-02), SC_(-5.3713514503810660443759327951192629043962e-01), SC_(1.0104035384590398675130815571225838402607e+00), SC_(9.8959646446778732507698856099061363554844e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(3.7602545611832097928051600960332852576056e-02), SC_(-4.8060586328526795964620529919138719384821e-01), SC_(1.0066685390881391928580890886073198867059e+00), SC_(9.9333146140593908217654878598148057492365e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(3.7157356157057774254146348528034331540937e-02), SC_(-4.7491386186047605336495192882655608771272e-01), SC_(1.0063582204164079590214459763047191130700e+00), SC_(9.9364177999192579272821357131004366585243e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(3.4669293496880933573913973796766377221594e-02), SC_(-4.4310583233589327796733318164596230304260e-01), SC_(1.0048185184419865146698247683731072232283e+00), SC_(9.9518148169270092444326671454923222356603e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(3.4269674493132122042104988732264751057251e-02), SC_(-4.3799741759362342540558356798192376397563e-01), SC_(1.0046001368516167395772083209713542961695e+00), SC_(9.9539986326026417406727253414204725647095e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(3.4118954296499040189528020840058110228868e-02), SC_(-4.3607075353491976987733384704372494896805e-01), SC_(1.0045197322883877810757800087423430817192e+00), SC_(9.9548026781587368895570806333888285193359e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(3.4056153222157931904248573342730647957311e-02), SC_(-4.3526796792144445779854041542761157145315e-01), SC_(1.0044865429698043837327880338227974626757e+00), SC_(9.9551345713142820070531172057902884449025e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(3.2795600559509299554238288287266474520164e-02), SC_(-4.1915475739250961854397536490612733958572e-01), SC_(1.0038582012197738610159379154069365034703e+00), SC_(9.9614179883558823208000122028308835467598e-01) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(3.2611717401368608560226578350702144470825e-02), SC_(-4.1680430305278540963672957062261370260009e-01), SC_(1.0037723878277962279347696844063471461102e+00), SC_(9.9622761222280235400179541749559509865075e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-6.9676853953032381244877372361276859265833e-02), SC_(-2.1742880296700880641378638549557311881085e+00), SC_(2.1742903337996054679352276490976794472551e+00), SC_(1.0429228242216249027210077880725313508125e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-1.1535719738182461019719051252071974536393e-01), SC_(-1.9235293961360632224820892506863158635906e+00), SC_(1.9235905656343136619049504876148897791741e+00), SC_(2.0928717318774198825798484556769369833088e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-1.2635606006211526599393189133213144552846e-01), SC_(-1.8658821428950401443604145995458179840698e+00), SC_(1.8660028810074116923960226415367933524933e+00), SC_(2.4134071780300068649120025619519327491542e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-1.7073301400235555436898762012301610560970e-01), SC_(-1.5943378570131547445128235218495685582267e+00), SC_(1.5964292250840093437662989986717842943046e+00), SC_(4.3197035975376943991056461366142957045398e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-1.8190450172600248007541912663061189329094e-01), SC_(-1.4743415382434155511176429567081690793979e+00), SC_(1.4804680749326598915746552573628936838561e+00), SC_(5.3203204217740411884133203721898526466513e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-1.8480392459732740055543915197923581287778e-01), SC_(-1.3101212425899176980652377630798437311952e+00), SC_(1.3319726015184572938123653999752144911655e+00), SC_(6.7097651919854720751533622326405618291680e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-1.8164564889940919584594762321826678234933e-01), SC_(-1.2401321367224119949259298157673037404433e+00), SC_(1.2749895020493837716763882331848463726145e+00), SC_(7.2640962511757515582157310777022082156911e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-1.3246258568705527992211615576017298058888e-01), SC_(-8.3743545401533823531663790430500265498361e-01), SC_(1.0612109917512709375781295169244701713145e+00), SC_(9.3879247790386561583883622379999064947649e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-1.3239375881014655157772587188263018492868e-01), SC_(-8.3698627647842741248597884484034588564926e-01), SC_(1.0610807280962611731979716026543372826837e+00), SC_(9.3892271212029174466583508938869642523974e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-1.1604932787313472262372052163118333717661e-01), SC_(-7.3176635108630629644306636069888832789020e-01), SC_(1.0357743463550976342229037664925377339235e+00), SC_(9.6422605849559022961364190753251083632592e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-8.7224207683535554113287784850157950558384e-02), SC_(-5.4933993228145764731195546461730437273983e-01), SC_(1.0113747655797527788528860145495129630519e+00), SC_(9.8862523855821768348144342164147409054536e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-8.4490730814468820010723822599677937278912e-02), SC_(-5.3210814209271451763108098996476942969166e-01), SC_(1.0100135939870993647805628127464053793266e+00), SC_(9.8998640849819353958187285746302860345875e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-7.5603529589824223493793039662986816850983e-02), SC_(-4.7610848910259253445426140056414334146921e-01), SC_(1.0064185895975358726720008714824337215412e+00), SC_(9.9358141082200691217433377814640273722659e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-7.4708427701638229443998430123216167944731e-02), SC_(-4.7046978790332388429864217046816597084144e-01), SC_(1.0061199022616371000288254867133191226320e+00), SC_(9.9388009808509637928433380895692034379079e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-6.9705916375482701082280646757898724193655e-02), SC_(-4.3895954984627461602882569445920348316658e-01), SC_(1.0046379112460061575235741827372786441206e+00), SC_(9.9536208886836265030422606968365669324474e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-6.8902441621096209562870934973072666084946e-02), SC_(-4.3389895310038263230276048357410242920558e-01), SC_(1.0044277150121370456245412530982408343091e+00), SC_(9.9557228508286577569616361340888122471534e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-6.8599403369089294855997739969130536471752e-02), SC_(-4.3199032338645380135375585492512352774591e-01), SC_(1.0043503241645036599869455358699721945301e+00), SC_(9.9564967592402916912017636521145645320973e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-6.8473135446507010543494025919642828982783e-02), SC_(-4.3119505209695623239971510541478368818257e-01), SC_(1.0043183788445501225325357032936252817910e+00), SC_(9.9568162124141075156049052526605245801640e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-6.5938667856032805499247953082639466279535e-02), SC_(-4.1523265838400988098451372863518061943789e-01), SC_(1.0037135885347991840554425975715737922150e+00), SC_(9.9628641151221111347436480987777782966621e-01) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-6.5568952497981488574466097832940398530291e-02), SC_(-4.1290420275596585095673395612028777682163e-01), SC_(1.0036309915913907956383436936638691404650e+00), SC_(9.9636900845157460285737793522060407676557e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-1.0638124256040449522259464034480143699687e-01), SC_(-2.0839514985288259310740565295492424084695e+00), SC_(2.0839558026423675763831595653354870910202e+00), SC_(1.2980363891774324439110618936460778126902e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-1.7049865099987792267730709322475468291487e-01), SC_(-1.8618246337229031927995835312739933943865e+00), SC_(1.8619205858385442093235450053842179174263e+00), SC_(2.4008155347217191851084263398550522889137e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-1.8571910380134416398456036857916714119148e-01), SC_(-1.8097047546393151131110178736917818008416e+00), SC_(1.8098871857898295077646042246594644892592e+00), SC_(2.7251598072852339587994209011284928293062e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-2.4633897832788700386327974982707008703909e-01), SC_(-1.5593643243887396638493765503019746112799e+00), SC_(1.5620599962672167004834007175358813569852e+00), SC_(4.5974175845707997595867502970177778756781e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-2.6118453981003000041489363092064349843461e-01), SC_(-1.4462720595319897223486648056537220973423e+00), SC_(1.4537201945268860467137013839853152671969e+00), SC_(5.5587588286753552867205362345249713136055e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-2.6424067019114790962633510954852273540602e-01), SC_(-1.2891144929895939986617882287184684317098e+00), SC_(1.3140021770065402325964153782318227519816e+00), SC_(6.8826180113127887392731536598283018106079e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-2.5943956282720049402054893750677009247457e-01), SC_(-1.2213686904484515426893737796789651339889e+00), SC_(1.2601971734750615594009189797290879626099e+00), SC_(7.4087690711491610649149820681298518882551e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-1.8878956567519166004513773387574370846947e-01), SC_(-8.2639204425528085671355741732273647904376e-01), SC_(1.0579458740210507414129773499466612213543e+00), SC_(9.4205678956044801196042392214867387481805e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-1.8869138679375539622398712684155527733590e-01), SC_(-8.2594915845073138151521885317788371054166e-01), SC_(1.0578225608657991493755731555963898529971e+00), SC_(9.4218008011631619696162723904199888269708e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-1.6538542013400175221396832958690244866121e-01), SC_(-7.2216632402491545130272107870423759074292e-01), SC_(1.0338662158250433764582773722516415265089e+00), SC_(9.6613409497034103828041799145683991519336e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-1.2430185093146893760355624399635885738140e-01), SC_(-5.4215064094117685462946476926592682923095e-01), SC_(1.0107680699775672671549359834651416412459e+00), SC_(9.8923193319906589437886204952316526289425e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-1.2040631756004077369722484289172173455479e-01), SC_(-5.2514479448651597050906053975372662456524e-01), SC_(1.0094794992654835745559867695016535530230e+00), SC_(9.9052050264242367804162484206217923791607e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-1.0774113822733007521331577004138945862086e-01), SC_(-4.6987875047171643254229997645086947143533e-01), SC_(1.0060762416076869922967614433728797009767e+00), SC_(9.9392375871438720691665651968289487514588e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-1.0646553453064198323590650217611419248097e-01), SC_(-4.6431387878055053549769517951725365075621e-01), SC_(1.0057934853479370452215052524211167662068e+00), SC_(9.9420651491824297675449094908523977991764e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-9.9336508027551039212166457013883805524981e-02), SC_(-4.3321613331366535446906205217511050527905e-01), SC_(1.0043905392245361449819492921559990694994e+00), SC_(9.9560946086326239077316719016673261572394e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-9.8191486967994655385389562100293240910888e-02), SC_(-4.2822177310736525193534702623638378741878e-01), SC_(1.0041915542171019831458486808786584584716e+00), SC_(9.9580844585582969082177424425373311207023e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-9.7759631372978600405867813659006659728060e-02), SC_(-4.2633812423087437295282405411808632962213e-01), SC_(1.0041182911613344165398969193346263074153e+00), SC_(9.9588170890663038006414550704348518098824e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-9.7579688735659049827250483638661548188955e-02), SC_(-4.2555326164580684609426800006924870771518e-01), SC_(1.0040880497073444116704346117766544104332e+00), SC_(9.9591195035864594899644540760866825887746e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-9.3967857122242949310122478156445867248716e-02), SC_(-4.0979977699967490799854151344265689536513e-01), SC_(1.0035155170678095605464157060368522757711e+00), SC_(9.9648448296827925918443210832467095744532e-01) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-9.3440981680104441583727144047948091946664e-02), SC_(-4.0750179369136666668790599318965934897930e-01), SC_(1.0034373255932874610006898332903053207462e+00), SC_(9.9656267443969617455262656635316288310748e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-5.6459998137303752741228686116780358974679e-01), SC_(-1.1394794505261451683930377730857892250385e+00), SC_(1.1396580761972697575442651695814122962722e+00), SC_(5.6606301801837000766466276630864147301542e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-6.7938091735056937117796374949709060102571e-01), SC_(-1.1702691826279466121316148050004648943860e+00), SC_(1.1719131449030409142339547507078133688152e+00), SC_(6.8764898891682920407497776228804166050132e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-7.0156589356703896371273737359361422602828e-01), SC_(-1.1706000803760578985501922839949225430942e+00), SC_(1.1731933440114082790405111888967410228055e+00), SC_(7.1335229088312356448608581575261558683226e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-7.6886298840213560999699156957222142195451e-01), SC_(-1.1332419953265361185493780488214417076350e+00), SC_(1.1503479387131120226422093107314758409612e+00), SC_(8.1963478037919507730845818576705759319952e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-7.7199158614585533737886676382727721865587e-01), SC_(-1.0937409122154308922611153327066427373951e+00), SC_(1.1281024977942080562616284023607523121832e+00), SC_(8.5868534639252563758735091205269602016770e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-7.4381565691064907634392981360597679682925e-01), SC_(-1.0147457152656329101948054723145757721486e+00), SC_(1.0923286639171711686080865616028014430666e+00), SC_(9.0455422572944300280201632097574490571312e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-7.2072969417331544065039744710415173786776e-01), SC_(-9.7280813597837363305496456856365394632576e-01), SC_(1.0771804888288763771612114372622644844421e+00), SC_(9.2134068605711776746893917193235408606706e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-5.1094719546089222120682382389412668568022e-01), SC_(-6.7476345376516384997476961825188308994541e-01), SC_(1.0173864171237379544862884105977827907055e+00), SC_(9.8260991558048334349943626916473307564653e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-5.1067863352262715702649291085274872138748e-01), SC_(-6.7440557133441569345008973457779945466796e-01), SC_(1.0173494317232784345862221992022390330021e+00), SC_(9.8264693209642531012831206885282864788518e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-4.4721961755911039937418334668587552730110e-01), SC_(-5.9016826224391379269878846019254981809186e-01), SC_(1.0101624610551876063947969123094089123777e+00), SC_(9.8983711103276921501744438033752970488360e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-3.3599049462074533672245472364546024455333e-01), SC_(-4.4323358869677941550314337271197962352105e-01), SC_(1.0032313267057894015457530407857518130198e+00), SC_(9.9676866892053050297750735080557834044501e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-3.2545748478322722326634067878353498658816e-01), SC_(-4.2933486635219768096653210014595937639351e-01), SC_(1.0028446478543118854457208173398369481808e+00), SC_(9.9715534951882641842037286655958417954800e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-2.9121759353018037354952399772886717947795e-01), SC_(-3.8415973088055194795907000080149503829928e-01), SC_(1.0018233847936228535222522923632536542974e+00), SC_(9.9817661476293610600010334094722644879716e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-2.8776934056733135607169156082920381303127e-01), SC_(-3.7961054270929597224971297812683938760233e-01), SC_(1.0017385341097276702260946758031054133497e+00), SC_(9.9826146552378800352961755914300504964060e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-2.6849855902212934644768339808830056781376e-01), SC_(-3.5418782970557727337058017789443973951865e-01), SC_(1.0013175320721342133779219981751295464048e+00), SC_(9.9868246780698223201650156364985875692868e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-2.6540348334532799322556931556404377377596e-01), SC_(-3.5010478486306881507284843550803246357291e-01), SC_(1.0012578197963338816920258374635809565517e+00), SC_(9.9874218010325168751232760970400875851933e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-2.6423615077525781297412296056691129942615e-01), SC_(-3.4856483711899275626345554552290399029489e-01), SC_(1.0012358347034218933772492296460440494830e+00), SC_(9.9876416520300221573936688288865838557137e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-2.6374975534666121228066013232753275352725e-01), SC_(-3.4792318400143769123764512939767506202490e-01), SC_(1.0012267597177629735703949752300430623975e+00), SC_(9.9877324019137959585279037710671048132547e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-2.5398684601416770118571864760112753137444e-01), SC_(-3.3504404123200282279743553634531367097200e-01), SC_(1.0010549516530982477163979307546817291199e+00), SC_(9.9894504829721362510625882158930536927874e-01) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-2.5256269468781599040860755299035245117528e-01), SC_(-3.3316532680001879419449156678619308796036e-01), SC_(1.0010314876172459636758861438484270475394e+00), SC_(9.9896851233734121622173075324717675350887e-01) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-1.1099486633310848454193205882118612295522e+00), SC_(-5.8580614292057868203821335800510062254381e-01), SC_(5.8714431093316500978864300871870435248688e-01), SC_(1.1101460126914049341655550878365943325513e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-1.1468299491100726230902598132323424139448e+00), SC_(-6.9920681298498024889782256956393953201604e-01), SC_(7.0692728799544938470544431027776424222910e-01), SC_(1.1486047198750129374599815935159816541472e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-1.1485657213476911733041692905727352697660e+00), SC_(-7.2088447706048285417908624366236486163066e-01), SC_(7.3193762482178194824770717747692481512720e-01), SC_(1.1513519127069315420200515677126205678911e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-1.1173777076582380719618425646677885049059e+00), SC_(-7.8525341291026277763400452869307307298288e-01), SC_(8.3373364926983776484814934195603418927283e-01), SC_(1.1353874945232715250442289967376703716839e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-1.0801803703016443707725059703708334985352e+00), SC_(-7.8698264269011866370985611423816162810818e-01), SC_(8.7033201745697994348675391534319434486711e-01), SC_(1.1160766022485788396996120658228780445992e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-1.0037588038206136536113280295621443396134e+00), SC_(-7.5694597116476060338612770673937116731901e-01), SC_(9.1275891185267987844912148863633732770350e-01), SC_(1.0840345083106188225781954120245827559532e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-9.6271562557972492341929623786595043053893e-01), SC_(-7.3309978995434970763456830073350909537988e-01), SC_(9.2816590970426070714688657684172009871548e-01), SC_(1.0703128189080610369388267758384238266759e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-6.6839664728596267247524498492130064653587e-01), SC_(-5.1921307969038623039104536257399081544231e-01), SC_(9.8413768472712067932043588072656011661557e-01), SC_(1.0158585427158098662169401604948733932752e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-6.6804228150298952028370194107143758100229e-01), SC_(-5.1894006423696413873365106816390798682469e-01), SC_(9.8417145059377348377238922660732070498037e-01), SC_(1.0158248088577378682576911625168022579771e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-5.8461860508461565730782340275558963886910e-01), SC_(-4.5443979877705343072464169062471541096144e-01), SC_(9.9073005015690709499214745033591647291172e-01), SC_(1.0092695096488187007465336874665114008958e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-4.3907226551549335871006685821158563333309e-01), SC_(-3.4140976782919703713585558013464360690884e-01), SC_(9.9705259015131614204025655011518353308452e-01), SC_(1.0029474053494673345619601686567871054159e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-4.2530419462947904749777567835771548476197e-01), SC_(-3.3070674210006251345968093211731611938560e-01), SC_(9.9740529509119967302649876379025045258645e-01), SC_(1.0025947022065406074870617639447644059997e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-3.8055346641485921509557996050322700572898e-01), SC_(-2.9591437106103546974402036853583342906805e-01), SC_(9.9833682680845699035596716517839562875562e-01), SC_(1.0016631727353740139890707975299846983314e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-3.7604700181900230490063312826139851515659e-01), SC_(-2.9241049006056612340339801795588622687441e-01), SC_(9.9841422214645130146273537599695237503571e-01), SC_(1.0015857774765452826015888521271456625038e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-3.5086301440399255605989071017516004482951e-01), SC_(-2.7282885188180160378132502409508688051306e-01), SC_(9.9879823300272790475051175557492483340009e-01), SC_(1.0012017668729188562343737653900923746578e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-3.4681830640242773169222066876023476904691e-01), SC_(-2.6968385267717466260774774800935883111140e-01), SC_(9.9885269866855329698127903841844570809634e-01), SC_(1.0011473012281501069346604034283987399142e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-3.4529281742408853248999359152686840110285e-01), SC_(-2.6849769122847977433062749058604493899762e-01), SC_(9.9887275204396391514715197290986850893407e-01), SC_(1.0011272478597743132409722896964258765372e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-3.4465718883367952588653815686816161102309e-01), SC_(-2.6800345035101148324471328549024423318948e-01), SC_(9.9888102965701593331365772293137706148108e-01), SC_(1.0011189702495187825318291776449515826126e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-3.3189896522956501172696375614317194241226e-01), SC_(-2.5808307062053128535513932063269400179945e-01), SC_(9.9903774181517063568034529298031668340368e-01), SC_(1.0009622581337150537315994594743630410873e+00) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-3.3003788901660454246222343605658746159351e-01), SC_(-2.5663594895994623248933167857450206982734e-01), SC_(9.9905914418344704733714350891093539583464e-01), SC_(1.0009408557698366620063809486683656621746e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-2.1193415741784341753933681152131334150425e+00), SC_(-9.2609407109310057758319510384660791654595e-02), SC_(1.1957425572718550787137454507271513222545e-01), SC_(2.1193450113223070894990724837030065193729e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-1.8860708746818283792467711373614148470697e+00), SC_(-1.5030238894844616166512987923810413181619e-01), SC_(2.2783519943909582329301864839870904867036e-01), SC_(1.8861522565574176616827922671601348701965e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-1.8317930724474696525719882210268187078550e+00), SC_(-1.6407478043321016925867018505235473586615e-01), SC_(2.6013480866556581983617606316427336649776e-01), SC_(1.8319498292644191314724925083424605636771e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-1.5731545585375798470923275366966916774945e+00), SC_(-2.1921158672359828421319531822840265231685e-01), SC_(4.4875819101680800713666426133005365215261e-01), SC_(1.5756047555225357550478940804298292902037e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-1.4573536654256625410807401815794885855615e+00), SC_(-2.3286660932768402268806945567950151158357e-01), SC_(5.4645447223913931141803186543737596385712e-01), SC_(1.4642689157532264796267144520728108227587e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-1.2974211807772661458848938489680426796241e+00), SC_(-2.3597934861222075394481943051608472853341e-01), SC_(6.8143648540661838667503243573820842368227e-01), SC_(1.3210934562084168129551876895662995105491e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-1.2287927099829413724325127440712619126419e+00), SC_(-2.3179210378238515367541015060749773689888e-01), SC_(7.3516512662963458764838211295496143738254e-01), SC_(1.2660351328324654094700062763774763353643e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-8.3076823038046542624445223005575351150130e-01), SC_(-1.6881299320218168254212845947951498758500e-01), SC_(9.4076825463934264152232317469329298164336e-01), SC_(1.0592347218495043806267014187785574731338e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-8.3032285308099054262974556700793573519023e-01), SC_(-1.6872523294556757906802962199760158424348e-01), SC_(9.4089428611115369271426956854012632562163e-01), SC_(1.0591086651234209551509888677712678567806e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-7.2597077449828139497469067081061088903117e-01), SC_(-1.4788938793820421532370625393826740030636e-01), SC_(9.6538092926253999774054790874216669810650e-01), SC_(1.0346194180438952847513163555031497313305e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-5.4499980989150922110398133725887513546257e-01), SC_(-1.1115344410549033939119810711240567752348e-01), SC_(9.8899245066093195436800923685609733372988e-01), SC_(1.0110075528888798988872219088101500134429e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-5.2790442231443731365746681500447357657887e-01), SC_(-1.0767000735118896629558323342699159108811e-01), SC_(9.9030967793404997804225632060054097405915e-01), SC_(1.0096903241979909079480240222964075665331e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-4.7234764716235216693611710016378800237474e-01), SC_(-9.6344585301463734792759010329354518289229e-02), SC_(9.9378862262484840453823189170516358011998e-01), SC_(1.0062113777350618374877778435459301705816e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-4.6675351646141423280902153586305388721222e-01), SC_(-9.5203915304384405317293178720843135680827e-02), SC_(9.9407766734722244527390885739178509980939e-01), SC_(1.0059223329502273857458936506893695924858e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-4.3549229769180730869617690665550538882085e-01), SC_(-8.8828992480934950715918214116705725030864e-02), SC_(9.9551181491670611775588953778393374056979e-01), SC_(1.0044881851814066535568296619246706278075e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-4.3047168749545003754901034762415729943426e-01), SC_(-8.7805090140446963159100059447788716325950e-02), SC_(9.9571522535113108489491506870133152645843e-01), SC_(1.0042847747303683226737606299283024030077e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-4.2857813854069086021134015526735159077528e-01), SC_(-8.7418915574249800799570725827148302542221e-02), SC_(9.9579011777795784175562901768923400938657e-01), SC_(1.0042098822979911987286742428332839944638e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-4.2778915091377878866136806353977213549015e-01), SC_(-8.7258006988114183419885544560681963108668e-02), SC_(9.9582103180225416496312265685974272175967e-01), SC_(1.0041789682714884904156848013270487836019e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-4.1195287410324549826075884035694231267906e-01), SC_(-8.4028228421972861557488159088253002540585e-02), SC_(9.9640629758269020206684416436192243015030e-01), SC_(1.0035937024576381939222914579343631180250e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-4.0964281438840631589110327986510768676159e-01), SC_(-8.3557084792427060415730284706941514262965e-02), SC_(9.9648622803870082061319386429566362657602e-01), SC_(1.0035137719981576060595541585432324623537e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-2.2592668168652580345705696602577773928041e+00), SC_(1.5020589267477120291917747892444905740677e-02), SC_(8.2021655213919030939145947814731444461455e-02), SC_(2.2592677969475654828487628626293666968905e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-1.9810308515502356136765909888890684209707e+00), SC_(2.5672649327786719349327802931908787217757e-02), SC_(1.8166690639963481668066105651105660356374e-01), SC_(1.9810658609625683105924428402327126337117e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-1.9181290215950843071238736986674140668991e+00), SC_(2.8271142190309515887003780582758427318824e-02), SC_(2.1325679470794883475071813449868884992729e-01), SC_(1.9182022633999159680593956839865239078491e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-1.6265772081273363484552124864796029580954e+00), SC_(3.8876440423327696736729835626471929947056e-02), SC_(4.0661623301895801527949353390086748314045e-01), SC_(1.6281627713199839008541794035022291434658e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-1.5001166574314822955518497623439862184446e+00), SC_(4.1608603812502466030404718477773474164703e-02), SC_(5.1019866490374361926474218278643498582144e-01), SC_(1.5051093570457485127386358140947726080534e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-1.3293133153685046412867915086260975312438e+00), SC_(4.2435965480632057059100031562718194703226e-02), SC_(6.5511467277171071747732773165257521046120e-01), SC_(1.3484969096438493085395633939059536249709e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-1.2572426507574213753362014096706882939467e+00), SC_(4.1753079265518347015779639598688700807897e-02), SC_(7.1312772975465029223166604545035824004296e-01), SC_(1.2885856836848751371229670030495664146682e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-8.4745718458805868437013378953137540023717e-01), SC_(3.0507710740106173572196053235356219304502e-02), SC_(9.3579387913065935422150231831893213202189e-01), SC_(1.0642103699139461666736573916720543424477e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-8.4700228474529759816606791920767887685665e-01), SC_(3.0491871680771982680993083882367768494531e-02), SC_(9.3593049167437877676161454162113134100522e-01), SC_(1.0640737213188469764379791735274353782896e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-7.4047651912623588598836946240183688515419e-01), SC_(2.6729247794083719497463578994988758836330e-02), SC_(9.6247332586576277619028161954457723344126e-01), SC_(1.0375271699266326081095165167054609530303e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-5.5586222008704358399258051366502245184471e-01), SC_(2.0090651873472709503838011262115569472109e-02), SC_(9.8806792487951787754236569532843244462391e-01), SC_(1.0119320801879658863489328895138662498920e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-5.3842543378871195768270810980037822112912e-01), SC_(1.9461055341686516341363789716745884385702e-02), SC_(9.8949578610565693012872346650917179562939e-01), SC_(1.0105042169379079179069992579998956256349e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-4.8176020875092134293561169067601504931636e-01), SC_(1.7414060677318433708726133537238406200412e-02), SC_(9.9326692779056065485727303485201566103553e-01), SC_(1.0067330727232241267931977705386793932787e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-4.7605452653943267066647842743421674927971e-01), SC_(1.7207889971614284124080093728207897826797e-02), SC_(9.9358024942941566692307934997987452263368e-01), SC_(1.0064197509952046373566593959042979110897e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-4.4417006193993529854087906872758671554910e-01), SC_(1.6055648191358300339861459139495160546773e-02), SC_(9.9513485132157183187768914251156145417561e-01), SC_(1.0048651488184876687974405732460623257256e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-4.3904937363718251842464066719556237636610e-01), SC_(1.5870581351399763192026077639956988657246e-02), SC_(9.9535534623844252795290327337285409703257e-01), SC_(1.0046446538779008000018724965319505741112e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-4.3711808066176438543459584213044591231262e-01), SC_(1.5800781587253593264497209148101264901618e-02), SC_(9.9543652889504460209732201823832662499605e-01), SC_(1.0045634712133753777346788260340179184631e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-4.3631336632980643547461957135631035275720e-01), SC_(1.5771697891939254689372924050336191052883e-02), SC_(9.9547003939438429558098728277122702169589e-01), SC_(1.0045299607108859903626632291649334474662e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-4.2016144534458532871359183330870049714536e-01), SC_(1.5187925486476839532172878678281079187799e-02), SC_(9.9610446176544899025697158353255669347906e-01), SC_(1.0038955382921212417290755982191162012875e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-4.1780534455633604439597112587796617306519e-01), SC_(1.5102767658361882317565599993926426972762e-02), SC_(9.9619110559672627281429658912056542795003e-01), SC_(1.0038088944558904534934509546258493659459e+00) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.9508075714111328125000000000000000000000e-01), SC_(2.1493217083772344464824081688872635038751e-01), SC_(1.7997488131824039493983732655153598081215e+00), SC_(1.7997658913186768776568572254420267968007e+00), SC_(2.2432542220698775316388173913834673761107e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(2.5397360324859619140625000000000000000000e-01), SC_(3.1339020834199407988928676406849848934771e-01), SC_(1.6634338426931306502355954843602296276127e+00), SC_(1.6637053670248903099929166880251265732025e+00), SC_(3.4788098492459454305839468451303034312159e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(2.7095401287078857421875000000000000000000e-01), SC_(3.3567406838638032147531305541305495790225e-01), SC_(1.6282522222042080800649916327146235474166e+00), SC_(1.6287323558813846453145854931605684726137e+00), SC_(3.8063196799675675784239032106585396466453e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(3.7676393985748291015625000000000000000000e-01), SC_(4.2031565062497376641760904635487003078673e-01), SC_(1.4440367038225191749567757537540972131844e+00), SC_(1.4491978790827680585572754548968653793626e+00), SC_(5.5328089752527200302721538991718582300475e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(4.4206809997558593750000000000000000000000e-01), SC_(4.3874818036528167738844190821967943423297e-01), SC_(1.3528687976172046838480445633523505711178e+00), SC_(1.3654351699768325516001718660929687750917e+00), SC_(6.3565587678381974028212593654796399320926e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(5.5699634552001953125000000000000000000000e-01), SC_(4.3788322639685367307759592961564604275138e-01), SC_(1.2183830458220910616873203527480408370267e+00), SC_(1.2544375276401233502368425959098387317296e+00), SC_(7.4581988044849217096842000606642256574102e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(6.1633396148681640625000000000000000000000e-01), SC_(4.2837776613634241833985412721443549341582e-01), SC_(1.1579172967004989996559667549140278027490e+00), SC_(1.2111195513288654073989716455243648257619e+00), SC_(7.8900256868176109349489406901655657552116e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.0937628746032714843750000000000000000000e+00), SC_(3.0953221441489916975565708853613144101162e-01), SC_(7.8863016079024901737533241856815122427020e-01), SC_(1.0470989880175553523932365224971984204145e+00), SC_(9.5290131482433968605833571081616599499535e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.0944409370422363281250000000000000000000e+00), SC_(3.0937078238698384062307151111640319064842e-01), SC_(7.8820868090095740233670648824234253925482e-01), SC_(1.0469987637657555871084750502602676292151e+00), SC_(9.5300153650665167674691054692696181475664e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.2647185325622558593750000000000000000000e+00), SC_(2.7109711674680596478792059459611331789834e-01), SC_(6.8932530906913217496719900044317327155679e-01), SC_(1.0275272356744505122110434516986890390286e+00), SC_(9.7247279966213041441539050090206730421522e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.6294469833374023437500000000000000000000e+00), SC_(2.0373172949707335136180735380180788442679e-01), SC_(5.1755142586724278667968480951539349010550e-01), SC_(1.0087525672732968526423022020115251004218e+00), SC_(9.9124743308787760623238691330302432891108e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.6700167655944824218750000000000000000000e+00), SC_(1.9734638365181118244464524275125896278599e-01), SC_(5.0131855229212305794268081255551002856740e-01), SC_(1.0077051838032199081446555511237158936808e+00), SC_(9.9229481641370390222296016032585981719323e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.8115835189819335937500000000000000000000e+00), SC_(1.7658713746446325333572603324649231389129e-01), SC_(4.4856244221855779107445766441750956188061e-01), SC_(1.0049389276895338010971303345840869531819e+00), SC_(9.9506107234708515007009823525158455818016e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.8267517089843750000000000000000000000000e+00), SC_(1.7449636907173677866471652982164545954188e-01), SC_(4.4325017867244305649595902271002777186279e-01), SC_(1.0047090960396510403215179456063141463159e+00), SC_(9.9529090399061289652979116753430681934581e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.9150133132934570312500000000000000000000e+00), SC_(1.6281169574726727803021206126266321004532e-01), SC_(4.1356380355829619894501711758115446394413e-01), SC_(1.0035687448682812995871281878583384196792e+00), SC_(9.9643125514170115259694243812197071871396e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.9297766685485839843750000000000000000000e+00), SC_(1.6093498734728641152764622295452194400508e-01), SC_(4.0879607909117336665711122703000094587054e-01), SC_(1.0034070046648304591411170253207305458489e+00), SC_(9.9659299534346167172216559775269693088309e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.9353895187377929687500000000000000000000e+00), SC_(1.6022716966577894228264983895269820185687e-01), SC_(4.0699790512807298499033583469243195483889e-01), SC_(1.0033474545422693240235190067680360125564e+00), SC_(9.9665254546545808653594925888906522663444e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.9377355575561523437500000000000000000000e+00), SC_(1.5993224115056703945029522734566711111712e-01), SC_(4.0624865719400231699403779928111582232786e-01), SC_(1.0033228734996878339834533133294717029390e+00), SC_(9.9667712650781508863707929855905002364587e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.9857625961303710937500000000000000000000e+00), SC_(1.5401241157716743181487580104811110219529e-01), SC_(3.9120998352793238445943068675043085135589e-01), SC_(1.0028575040344693622778085992301763812745e+00), SC_(9.9714249596963383732847571077512244610467e-01) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.9929223060607910156250000000000000000000e+00), SC_(1.5314885915169828351696381687634128973863e-01), SC_(3.8901626588497438429546159762838314597700e-01), SC_(1.0027939479638348715778328009784465260477e+00), SC_(9.9720605203991527712266651542530509757340e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.9508075714111328125000000000000000000000e-01), SC_(2.1734699361453139274813959153205806265726e-01), SC_(1.7937614326063671366860228194886205494638e+00), SC_(1.7937789335264292533795790135518657860777e+00), SC_(2.2657971303248482700332355227054935984629e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(2.5397360324859619140625000000000000000000e-01), SC_(3.1631327616449302201957142568064544029357e-01), SC_(1.6591788032210488259576046642380910529228e+00), SC_(1.6594554498643515208825777005948910742964e+00), SC_(3.5035038267043681938088157981640204363681e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(2.7095401287078857421875000000000000000000e-01), SC_(3.3868822624306009769272857749569629711441e-01), SC_(1.6243457452704761739406958703914317129477e+00), SC_(1.6248343407602308401090069962068865934742e+00), SC_(3.8309160747329433206537130863763292878729e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(3.7676393985748291015625000000000000000000e-01), SC_(4.2357878439574800675600220769654638753578e-01), SC_(1.4415113831867745744353806150480349246263e+00), SC_(1.4467356745382624342729167145642663100352e+00), SC_(5.5536255357822811239209410423100059875318e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(4.4206809997558593750000000000000000000000e-01), SC_(4.4200664834011768109071572858398029452987e-01), SC_(1.3508084368327528722974809809098035673584e+00), SC_(1.3635012834078968758153465182202709727390e+00), SC_(6.3742226438802639740689096940899800242673e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(5.5699634552001953125000000000000000000000e-01), SC_(4.4100523185620562331014493540259565593407e-01), SC_(1.2168079296066882483698174230283088718532e+00), SC_(1.2531283983346588145032655616282876912509e+00), SC_(7.4708949215056624977547642458591859916519e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(6.1633396148681640625000000000000000000000e-01), SC_(4.3139800575441820172417200898227652090762e-01), SC_(1.1564994476216010097527651648179023850429e+00), SC_(1.2100400931493429467995973332906834032525e+00), SC_(7.9006327884864292975191081736033410143598e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.0937628746032714843750000000000000000000e+00), SC_(3.1166632912799502441430672429485202073288e-01), SC_(7.8777897907914652092351580136054274183670e-01), SC_(1.0468601699273382367644810858048253690703e+00), SC_(9.5314008642190059751847001603416133523411e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.0944409370422363281250000000000000000000e+00), SC_(3.1150377385264279536494176289397305201358e-01), SC_(7.8735797980456404500099269405995582160061e-01), SC_(1.0467604540111803509936223622252568916418e+00), SC_(9.5323980016304159823088852548452617748872e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.2647185325622558593750000000000000000000e+00), SC_(2.7296484896227018483900282086832263678463e-01), SC_(6.8858479129824510988677999686001047813825e-01), SC_(1.0273876677794653586005843882581830983661e+00), SC_(9.7261236213220066896992963805518417124717e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.6294469833374023437500000000000000000000e+00), SC_(2.0513486112184390018267853340691999773508e-01), SC_(5.1699665865930631098350672081439158832125e-01), SC_(1.0087081910349581163221763919152484243227e+00), SC_(9.9129180927076840017302292875564204565046e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.6700167655944824218750000000000000000000e+00), SC_(1.9870552655166132162535193762583441689415e-01), SC_(5.0078121513133031122788474522863560503222e-01), SC_(1.0076661178930037365201332581470045632998e+00), SC_(9.9233388229061766654138863835162761216710e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.8115835189819335937500000000000000000000e+00), SC_(1.7780328795419204597756906520689370119851e-01), SC_(4.4808170587931513473527171007699654900447e-01), SC_(1.0049138869309962940829946299565615240892e+00), SC_(9.9508611310000087114553800548857983442859e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.8267517089843750000000000000000000000000e+00), SC_(1.7569811915021988385345920529224457759974e-01), SC_(4.4277513902974720064679305516370103791050e-01), SC_(1.0046852205463119294793204663957565960969e+00), SC_(9.9531477947930585096343119811240761882828e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.9150133132934570312500000000000000000000e+00), SC_(1.6393296854798844616485695395265112566398e-01), SC_(4.1312059288046148298754918008060887027619e-01), SC_(1.0035506510474955821637378323400890484367e+00), SC_(9.9644934896095435181505072707323331512557e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.9297766685485839843750000000000000000000e+00), SC_(1.6204333475455383948696729951687176573273e-01), SC_(4.0835797951493277313703238215103444140812e-01), SC_(1.0033897308798531309151815758183184505519e+00), SC_(9.9661026912716598192865685708194451356807e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.9353895187377929687500000000000000000000e+00), SC_(1.6133064215993997642321391023543754597302e-01), SC_(4.0656173318990631512045475240199200917264e-01), SC_(1.0033304826811869851603347583545508656486e+00), SC_(9.9666951732535410392784498414476001191989e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.9377355575561523437500000000000000000000e+00), SC_(1.6103368240268458915323667123386531518665e-01), SC_(4.0581328844119438696365069369209417247598e-01), SC_(1.0033060262664611875477921930615060502446e+00), SC_(9.9669397373988987726297928298000535126698e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.9857625961303710937500000000000000000000e+00), SC_(1.5507308186515370204169718159860320193530e-01), SC_(3.9079073532255761878561323571460291750516e-01), SC_(1.0028430162616606880094374865382859058922e+00), SC_(9.9715698374181258340078981908124372361642e-01) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.9929223060607910156250000000000000000000e+00), SC_(1.5420358203617030189209425237224000222430e-01), SC_(3.8859936910575598467432427933384898373952e-01), SC_(1.0027797824253805088367892403969030288904e+00), SC_(9.9722021757779391247227803253561151383232e-01) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(1.4763099703183838076395508825488977879671e+00), SC_(3.6147386353922083088666582616470579414212e-01), SC_(3.6529404008840420387764181273079195447209e-01), SC_(1.4763669388293150536160077439525254944022e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(1.4284259066781334661878643222478465392555e+00), SC_(4.7812299863505651293382744713794370295712e-01), SC_(4.9540427299417228575304687310272641892818e-01), SC_(1.4291094752443810860307424129926971367525e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(1.4114718127785286367640644555932597202534e+00), SC_(5.0288714967875321395537988498706406279407e-01), SC_(5.2640986810196713368241274513324413960768e-01), SC_(1.4126112854841976598695666662162624027942e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(1.3008510640627298586064703843805238937239e+00), SC_(5.9006842393192870228056057865106406167397e-01), SC_(6.7351895547484199735846029902895138571833e-01), SC_(1.3103485593136455769113664254096276551774e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(1.2349405348055671968827279700473958766205e+00), SC_(6.0467355656345899629070715261550835607994e-01), SC_(7.3706416083772902599001841418956378423101e-01), SC_(1.2558351070486145329293309177269009374061e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(1.1271356194560256317564501342021149478992e+00), SC_(5.9360679990059718427138536606484578299869e-01), SC_(8.1838168347178569316347774498203292143842e-01), SC_(1.1799430590131281155175579922553943408586e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(1.0754255069601692828342872685178553163676e+00), SC_(5.7814431976551250805949234363895258794661e-01), SC_(8.4956721372625740979299812128508674398649e-01), SC_(1.1496380075839141611138834133105378917448e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(7.3856910744714572417947693132628214749538e-01), SC_(4.1409651042107809161648793759350126863720e-01), SC_(9.6651780274558866652562422939447439452125e-01), SC_(1.0334802263056451945481188227790362369415e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(7.3817575732221985567953809470918646548279e-01), SC_(4.1387976955702385905590514959782058036014e-01), SC_(9.6658905673904436537927987275657880906334e-01), SC_(1.0334089890348716672163273480540146414453e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(6.4575425003870907100008224944579493333349e-01), SC_(3.6257252025716444998414894926821955609977e-01), SC_(9.8043157542313692264788335472896157357423e-01), SC_(1.0195681946001269720001240908917264657256e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(4.8490314894534139822599215519053667038048e-01), SC_(2.7243955084022223376536843729521394736445e-01), SC_(9.9377804996936277795268996861707049247649e-01), SC_(1.0062219476800497843693788454790746840130e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(4.6969588035747264686873328413687413426089e-01), SC_(2.6389987019656677083658508919326657750655e-01), SC_(9.9452260524936885628051416223523634271025e-01), SC_(1.0054773933388525113875177337078133757380e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(4.2027047740495122167454359512209626071342e-01), SC_(2.3613810241473256043873698961238854438878e-01), SC_(9.9648905788575307952742586271371205899332e-01), SC_(1.0035109418759242913951578107768468460031e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(4.1529345368257377136364788152019822222352e-01), SC_(2.3334215621511885969697007657108072476988e-01), SC_(9.9665243863073836912054138109401422840197e-01), SC_(1.0033475611722985621203606192651905280610e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(3.8748018368581163381202143345051081883695e-01), SC_(2.1771662918039338724780981041082069426929e-01), SC_(9.9746308162322202873684645578370337333034e-01), SC_(1.0025369183118104019222711531184661963909e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(3.8301324672736512809189860560352516579194e-01), SC_(2.1520699105825745873369158898178228920377e-01), SC_(9.9757805809880331997740249144282022217471e-01), SC_(1.0024219418472300216394359179638328511061e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(3.8132851418348187241393722534349396393781e-01), SC_(2.1426045943942070461895268638152086675201e-01), SC_(9.9762039057421396421185396130895108363129e-01), SC_(1.0023796093754946773032207414620825022368e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(3.8062653370916760700415715971053517275234e-01), SC_(2.1386606547033460350469402467025446159845e-01), SC_(9.9763786453286271877881773837980021629945e-01), SC_(1.0023621354183069300589132942913563840423e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(3.6653655826456302151318777880015642261120e-01), SC_(2.0594977936327602164400435493273338676432e-01), SC_(9.9796868234516979320852790585531168675875e-01), SC_(1.0020313176281258559941659143433130616586e+00) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(3.6448122320522164776511603296929693657598e-01), SC_(2.0479499795136594748473331448182239561222e-01), SC_(9.9801386253353086428271329052297588371990e-01), SC_(1.0019861374420625028333254206183507334831e+00) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(5.2320361329218878797580112369427988023860e-01), SC_(-1.1998200090128389050404854109336282550117e+00), SC_(1.1999657993272586089706604254087608824966e+00), SC_(5.2495332286646265775962917518480275526299e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(6.4012629323003780329121469371792178192283e-01), SC_(-1.2177193931839142552449466040168063463296e+00), SC_(1.2191258931509307273112464094628599318786e+00), SC_(6.4961255070316317777174581536969668339057e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(6.6319520704068574044775228801013113830503e-01), SC_(-1.2151168032911263236865471799516112880572e+00), SC_(1.2173573124568634324871321053271030226087e+00), SC_(6.7660218532309928963859066924852626637369e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(7.3584183740895082480040707359518603380263e-01), SC_(-1.1649997995267473054665246331423324743622e+00), SC_(1.1804027694196674966906572978601494041105e+00), SC_(7.9154167363814454443607775532635998306495e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(7.4162054599795761188213584694623492275498e-01), SC_(-1.1207805428644532063626712928693315606437e+00), SC_(1.1522183817283594575925765359267065521255e+00), SC_(8.3543291998734372564979375916629978608247e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(7.1705198473994140001456502359696558030288e-01), SC_(-1.0365494692332315835743401826366349500424e+00), SC_(1.1089373837022789377551888428635921463848e+00), SC_(8.8814921931756981220944946789148567691311e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(6.9546805570358185566230478317424671605653e-01), SC_(-9.9280461139813219533594000851272380756908e-01), SC_(1.0909283605091772197087934258174790345450e+00), SC_(9.0768946044282371380340823043784074434375e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(4.9399738274139993847290769282879546391410e-01), SC_(-6.8732986631658579444895209005080518722591e-01), SC_(1.0204436654941834800134697899239008694579e+00), SC_(9.7955290687983150596584764262461938346689e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(4.9373793712407659381139054779796292092672e-01), SC_(-6.8696503125250358503482860858474439850850e-01), SC_(1.0204001737253642213367814929966517650835e+00), SC_(9.7959642773063449500946753674719518879470e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(4.3241193670868246950455030146447110431484e-01), SC_(-6.0112025180077171357598181789415859258516e-01), SC_(1.0119492334751084860974504956317902050989e+00), SC_(9.8805036657830225392909314581683633408748e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(3.2487549165973582409799729700561776105071e-01), SC_(-4.5144520956876945533824260867311926881306e-01), SC_(1.0037994453958298289776121886857276190847e+00), SC_(9.9620055051632439854405199545823036201265e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(3.1469116815394004568305415385708533941042e-01), SC_(-4.3728865647425102571411893196797085151151e-01), SC_(1.0033447820973186190125029469485466890041e+00), SC_(9.9665521544749370264501542252555648521862e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(2.8158438868269873799678517433671817006527e-01), SC_(-3.9127600645686547687272839096955709226021e-01), SC_(1.0021439646315181979989922005294717263816e+00), SC_(9.9785603495402108629053623205615146518231e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(2.7825022806440573212642034558541905125110e-01), SC_(-3.8664250989904246992309614415547576896027e-01), SC_(1.0020441958508136958663653054775908561509e+00), SC_(9.9795580380665292926091581275525400768730e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(2.5961701277975487769898833774401234680286e-01), SC_(-3.6074871138009218217662237841127152503170e-01), SC_(1.0015491749901357189732935928707241651489e+00), SC_(9.9845082489688086274524290344241098410124e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(2.5662433059984771382037581440906909251525e-01), SC_(-3.5659001544772521335610921480540030963531e-01), SC_(1.0014789643526779760201202658833668886294e+00), SC_(9.9852103555347000520778908787495158622068e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(2.5549561621495342482078978658415102308377e-01), SC_(-3.5502153586285965047506419408328717928461e-01), SC_(1.0014531139331083876608267409053997966573e+00), SC_(9.9854688597943121249211059166287403829853e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(2.5502531187071528411389275121342814957528e-01), SC_(-3.5436799439957684961005138500677432350605e-01), SC_(1.0014424434216152783450867550845151578926e+00), SC_(9.9855755649346512182734718579076020941065e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(2.4558537616432771075205244097726672800071e-01), SC_(-3.4125023924321062472685773649864914924389e-01), SC_(1.0012404287864137155335017658967748748040e+00), SC_(9.9875957116714543918512236576105188437407e-01) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(2.4420833732787343352275676909311677779310e-01), SC_(-3.3933671898320244805833270690824024991690e-01), SC_(1.0012128394027349320651137124131629071277e+00), SC_(9.9878716055482012440464604789037635467121e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(3.0136316339429490716732943390558885430973e-01), SC_(-1.5993587641847940032326724763138915877065e+00), SC_(1.5993955794993634193249339741703303991854e+00), SC_(3.0672168410442765631656313600306542690723e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(4.1325951352714001055511825971552874309226e-01), SC_(-1.5191308887158827072488329992462763587413e+00), SC_(1.5196198694817007596871741588568885065654e+00), SC_(4.3567039639868387889820668683424599637582e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(4.3764314133433789761211730452409603575867e-01), SC_(-1.4953972528201973947665056071848853409115e+00), SC_(1.4962298334158886411541193442497334804748e+00), SC_(4.6765524321397443421806673431368587130029e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(5.2636464370965676750773245393762837513302e-01), SC_(-1.3570518075007858863418487261035419790317e+00), SC_(1.3646507970832195068975431622020727013616e+00), SC_(6.2579532897676821875434144239377233440711e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(5.4325417624625818278833353812498366716490e-01), SC_(-1.2815031390881155642247001965728965605785e+00), SC_(1.2988317872253149027625251597508852713277e+00), SC_(6.9696306894807546111772845217473342340337e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(5.3674737575852462936163592173805416308793e-01), SC_(-1.1634343601210243896143252665957553405485e+00), SC_(1.2092413380661383099798431432840783293709e+00), SC_(7.8976655324266987266910353889869288323701e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(5.2367636974452327687678674716735164180950e-01), SC_(-1.1083282093555269634725691811758740729531e+00), SC_(1.1738320667067413800842562717631722620123e+00), SC_(8.2569725530038331750499838864511222713112e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(3.7637948294216478069287177567089693109074e-01), SC_(-7.5866796703385250569050971184434645618512e-01), SC_(1.0388434984184894573241186094650806249586e+00), SC_(9.6115533436072186558530320548627240147526e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(3.7618276070241902066799091044658813521658e-01), SC_(-7.5826335625147473217641205207272350406416e-01), SC_(1.0387608459324443411402711935624580849147e+00), SC_(9.6123799675015087909783038270436280833268e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(3.2958600454037044984444919933171632943021e-01), SC_(-6.6325194284575895108887631663732264106447e-01), SC_(1.0227026055038471681593889668240805541042e+00), SC_(9.7729725830102087002329179698533275143472e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(2.4766638795021577765057373741719986353761e-01), SC_(-4.9801594039957362488411020190045487558749e-01), SC_(1.0072185520046447358382667558862310837549e+00), SC_(9.9278144660330765237337873865123637862168e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(2.3990354966178542483894355197385430905767e-01), SC_(-4.8239678851600051698453556803619920905380e-01), SC_(1.0063547380238167844073590643699305307167e+00), SC_(9.9364526114011005276957870511399144909705e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(2.1466673378996675533424496940497456791492e-01), SC_(-4.3163371296974279227758409721952128740675e-01), SC_(1.0040733088571877862602665694662678114386e+00), SC_(9.9592669100167453839757698466981293854587e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(2.1212505166116023229104405375400180264363e-01), SC_(-4.2652204732807696432591547133979368963572e-01), SC_(1.0038837585539157300539520738345269242058e+00), SC_(9.9611624132944024935710813750516477085812e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(1.9792045246800390193681098664564028742204e-01), SC_(-3.9795647723150731623153522444513186541800e-01), SC_(1.0029432705204832153358684083476284891695e+00), SC_(9.9705672944104216836395670438951437455731e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(1.9563902373739438544653449829474388654872e-01), SC_(-3.9336873325612307159218106586870555970120e-01), SC_(1.0028098776386637277460912037642170485842e+00), SC_(9.9719012232937653456693690325095437831259e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(1.9477856279755063370813370984043528388472e-01), SC_(-3.9163843852762037505640341850843887009401e-01), SC_(1.0027607645405381039851566382784350695452e+00), SC_(9.9723923542967871741430985049790912041058e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(1.9442003206741085297400876891153681118701e-01), SC_(-3.9091747372015614473179144591493916702618e-01), SC_(1.0027404916828912380319419391679843937999e+00), SC_(9.9725950828819081038342239622816213791166e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(1.8722358585429549691930986176087774331966e-01), SC_(-3.7644646556142444107357930397578803814135e-01), SC_(1.0023566849774110497918196854038614392752e+00), SC_(9.9764331500677429589841712464522081268121e-01) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(1.8617380932248371298543156563508211207284e-01), SC_(-3.7433555073939891070591278048235404349651e-01), SC_(1.0023042680312472904956588457142962065539e+00), SC_(9.9769573195429879280534083095472818194827e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-4.4694040187817584048110831842840376776419e-02), SC_(-2.2239154715776719951111951535093166961794e+00), SC_(2.2239169457976082488710447766009580548119e+00), SC_(9.1091215006293634899458922029146754779591e-02) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-7.5372065455868998777353826110329269735343e-02), SC_(-1.9571724580362299319372464634240851846347e+00), SC_(1.9572176522016711515559451753340729010328e+00), SC_(1.9300396598146614969758817153117415250497e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-8.2815456702105001627531655467072717597148e-02), SC_(-1.8964627698006763685070463454748352308031e+00), SC_(1.8965546402415569038902044510397662807032e+00), SC_(2.2479858195250271450596978705671523829589e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-1.1305169476214728430296524833327769138859e-01), SC_(-1.6132407284524018490818770183167421472306e+00), SC_(1.6150298075166020595774014413083891551841e+00), SC_(4.1707585449860537704427343712887359660262e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-1.2076905423693873487800461665057503844349e-01), SC_(-1.4894656936870447841073744677038066518398e+00), SC_(1.4949179356551978375263935847292832199727e+00), SC_(5.1921341342231457463003839277087016507019e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-1.2297284061554984661180647500042879271082e-01), SC_(-1.3213938425430458046806125996118913417774e+00), SC_(1.3416661659006298226589683984419887481690e+00), SC_(6.6166780714260163106611289180845877999790e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-1.2094315250605287226844839018463791749112e-01), SC_(-1.2501858106294037207384819333409166699296e+00), SC_(1.2829660258190207085439171515098390254840e+00), SC_(7.1861568368194279026557058594133916143484e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-8.8297766764935175184819830019117122724978e-02), SC_(-8.4332958619623773418668343153799161303122e-01), SC_(1.0629708471985665651183769636290657034786e+00), SC_(9.3703307523723769726025507902598955332291e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-8.8251909079630898977314861298094637644437e-02), SC_(-8.4287704463711580045341642112085455762044e-01), SC_(1.0628368372575222463844647371128298049246e+00), SC_(9.3716705189804235691111410172290142720801e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-7.7359807853242760765397508619250988537355e-02), SC_(-7.3688930598500539330543473665064507437850e-01), SC_(1.0368027992919815695133217997074703825824e+00), SC_(9.6319765839063268442260276252656456288710e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-5.8145665777724158033322823548014901860264e-02), SC_(-5.5317613797160620270089759521676243828555e-01), SC_(1.0117017648266266068045093562918434182443e+00), SC_(9.8829823985133787659464346107883416215073e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-5.6323491933537409053442318952370340236469e-02), SC_(-5.3582377720422836604237830639037655586367e-01), SC_(1.0103014625149814811735862135290024346406e+00), SC_(9.8969854029463546589684549405068152488715e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-5.0399121314678153756868495532817623631181e-02), SC_(-4.7943265849688655067740137375746379444049e-01), SC_(1.0066031096952226673677282326095988967804e+00), SC_(9.9339689077906932302757585415411602385851e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-4.9802427804370709846004331252740168428070e-02), SC_(-4.7375456130172714787314212523943728615708e-01), SC_(1.0062958357636301543522481589525556585467e+00), SC_(9.9370416462835111187393960765224869360107e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-4.6467645102059728830697211614754515012138e-02), SC_(-4.4202421535284787005504134312601056919195e-01), SC_(1.0047712408134330130371803989199936542085e+00), SC_(9.9522875931586061674995410536626324942684e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-4.5932030774903015812646644859303433300027e-02), SC_(-4.3692827466390666030653688386955826309843e-01), SC_(1.0045550019075944690223755299567858781874e+00), SC_(9.9544499819980596508083582236569519332853e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-4.5730018630937341725154019094542257162956e-02), SC_(-4.3500631513773503870398955110764976371458e-01), SC_(1.0044753862460811375437195353941344696663e+00), SC_(9.9552461385400498775557247437478740384463e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-4.5645845576081025863691702942095641781515e-02), SC_(-4.3420548974951924423894360051880481384606e-01), SC_(1.0044425225695904042368489110732595888447e+00), SC_(9.9555747752758813283329642307653347847363e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-4.3956311506079114062944158795441267084616e-02), SC_(-4.1813162205057442687736831975736691447280e-01), SC_(1.0038203458908950376720901448149818731051e+00), SC_(9.9617965416224997730571325055612369481836e-01) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-4.3709850703294913786001556709944364721086e-02), SC_(-4.1578690640187912694906424822027119474846e-01), SC_(1.0037353744701357254469359428649658429626e+00), SC_(9.9626462557843654204689568140479755152437e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-7.3665406711478221058239036311645067556514e-02), SC_(-2.1652252625348965809298173153725345418624e+00), SC_(2.1652277371163144512479256679066730885444e+00), SC_(1.0676381447635026691303136947182376322149e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-1.2155658691514111625790336142632145347741e-01), SC_(-1.9173663988825023823339269815738577628148e+00), SC_(1.9174307118043255358846788904075618586780e+00), SC_(2.1230827281161287763587785724920307827592e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-1.3307154113108477633403521400754169699575e-01), SC_(-1.8602764573391861722438995830398713096148e+00), SC_(1.8604028313360619125196344418754188077563e+00), SC_(2.4440539905933438496000546466176726274451e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-1.7947212323191277828632880465846615727448e-01), SC_(-1.5908625952246787192757334626296281244028e+00), SC_(1.5930113520416764406105874501879250910655e+00), SC_(4.3471752560558948714582827039030643281368e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-1.9112253554019061171601951175356104170542e-01), SC_(-1.4715574192428039275408057430980960806175e+00), SC_(1.4778109189099176982994297931200204961896e+00), SC_(5.3439398600497100672128205014687949718901e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-1.9408802823990883824716098470131325642858e-01), SC_(-1.3080426411734662543063261417343794888950e+00), SC_(1.3301889670126252845964910915333185697442e+00), SC_(6.7269050505604091127409249318628286897937e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-1.9075024227670960177171915878223208809998e-01), SC_(-1.2382771471135440468010593838464698911081e+00), SC_(1.2735215989064908232474293753628226845952e+00), SC_(7.2784448542323052665807909745362729975722e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-1.3907251991348937919265598917918684953335e-01), SC_(-8.3634617934588048859973644698809341874040e-01), SC_(1.0608870676735214897074045005957169812195e+00), SC_(9.3911632003963535741127258718262246567884e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-1.3900025235122940275980244361110535400209e-01), SC_(-8.3589762304569448570678817250329075177634e-01), SC_(1.0607574935662983044669594873334656031575e+00), SC_(9.3924586540351859210722975028284071358366e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-1.2183939450297045551408794442726641615539e-01), SC_(-7.3081953318955965973994663423939100531005e-01), SC_(1.0355850460093881393882796013286052766365e+00), SC_(9.6441534928004203646574643200326753332274e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-9.1575804765898985381715580790667446972864e-02), SC_(-5.4863090790322617104298610885157177198074e-01), SC_(1.0113145770246142173076111200251232967419e+00), SC_(9.8868542701563082901125802193138221064471e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-8.8705948132539850261878693017174861160416e-02), SC_(-5.3142140156216440084027032967584950715010e-01), SC_(1.0099606079603577023335679512587996628074e+00), SC_(9.9003939446624065956901695384947967903404e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-7.9375354044854721368307991769031090684810e-02), SC_(-4.7549410006781716920972964195399549127212e-01), SC_(1.0063846262220657967463237833798500230265e+00), SC_(9.9361537418756875082316386945535499044639e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-7.8435595127945514107166019348726563612523e-02), SC_(-4.6986268016571255910376457486174494808165e-01), SC_(1.0060875193631732197803581893462330425264e+00), SC_(9.9391248097537154145933972100246450735372e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-7.3183507677647206760704553380248069058709e-02), SC_(-4.3839312327367294368055752045968142173872e-01), SC_(1.0046133701676977837433466081725803141463e+00), SC_(9.9538662994397000448416898153659359630492e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-7.2339947609115074215411768609701790445627e-02), SC_(-4.3333905894078957938962551496327880166840e-01), SC_(1.0044042861678850371755915955730526465927e+00), SC_(9.9559571392487412621649410739469558756723e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-7.2021790804523389648873739591085576656440e-02), SC_(-4.3143289289837834440848401756346730781258e-01), SC_(1.0043273048268043275312211531445690098033e+00), SC_(9.9567269525963764383917384313155772618033e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-7.1889223387619906165282614188831190260673e-02), SC_(-4.3063864814069849389470483812759228628913e-01), SC_(1.0042955285425724334304169482060263275007e+00), SC_(9.9570447154135832414576623103259058732942e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-6.9228311634891677997758437548354003492498e-02), SC_(-4.1469685753062988841301841676194285616541e-01), SC_(1.0036939384250170615831723375609352686734e+00), SC_(9.9630606162088300547860042116783526127213e-01) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-6.8840151265291939907107345214871614585396e-02), SC_(-4.1237140715163690039341129394366349327161e-01), SC_(1.0036117785357121337363149416144394264318e+00), SC_(9.9638822150623856166268719623772905313734e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-3.6983584903098621595735081339227508258591e-01), SC_(-1.4601658411887726617857431247906022159048e+00), SC_(1.4602260936495611957418310878759834997162e+00), SC_(3.7348969756257398089525127340787517934286e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-4.8690934072764523532878999567662013365203e-01), SC_(-1.4163958565742827737285660834944306904727e+00), SC_(1.4171094744045463898025073998670298554393e+00), SC_(5.0360970311567810303570919573460972060835e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-5.1167320515433461570913062506462715628774e-01), SC_(-1.4003152238915775885976290724037383381203e+00), SC_(1.4015015616154246307978768752153433499715e+00), SC_(5.3445396840579342972121950450993801222232e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-5.9843150288316598867382183508090649891778e-01), SC_(-1.2933014432069542222833128353895534767225e+00), SC_(1.3030757523832012434806211126261519008366e+00), SC_(6.7998063334078563231898050050944915320652e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-6.1266327969036388255789859130557428284641e-01), SC_(-1.2286572170468492281317546037022147829039e+00), SC_(1.2500631676452046301511892396163762800503e+00), SC_(7.4247908014459492603544171446874138893711e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-6.0093494530949736804159280927064821157072e-01), SC_(-1.1222093788052333923122398152830362765569e+00), SC_(1.1760026755707905046858597014713058143493e+00), SC_(8.2223783606334722412763678164623472092655e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-5.8514514603426707501657174384989210286037e-01), SC_(-1.0709512134164155053987485427679257772905e+00), SC_(1.1463827401631408186096673593819896983403e+00), SC_(8.5278252019490080766250567310206020708663e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-4.1891673483164702277079205456311440921450e-01), SC_(-7.3582246183826704765792037168860096563888e-01), SC_(1.0327582052281002339148380861660331356430e+00), SC_(9.6723972472512015207479505075396335373809e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-4.1869742949068100597916385221215376297223e-01), SC_(-7.3543064718668749195044287022481346458166e-01), SC_(1.0326885046816798201295077050191643405190e+00), SC_(9.6730944283502824772482543184110545420663e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-3.6678735987280495923005070383083065877794e-01), SC_(-6.4336261468538630994130977871081515499295e-01), SC_(1.0191462279147434683690964731006488312642e+00), SC_(9.8085353054544071306549362960363339076717e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-2.7560464290276442580308169980067433730417e-01), SC_(-4.8311069393672027403010589027004670089718e-01), SC_(1.0060877807349109317545386844384162697568e+00), SC_(9.9391221679631563325736366247083872430536e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-2.6696570350229129554636308952267318553927e-01), SC_(-4.6795972385146218102752412884559878133543e-01), SC_(1.0053592816120379727298193292572094253126e+00), SC_(9.9464071690520008967211934036009329021531e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-2.3888132831144391615815835757000965554499e-01), SC_(-4.1871716750591161864186447892363877181250e-01), SC_(1.0034352337332188755359811518338577267374e+00), SC_(9.9656476601647578963925963873521954719344e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-2.3605289600794341669216010132421458133378e-01), SC_(-4.1375854835881154061633050884808208630890e-01), SC_(1.0032753760880429968349781172160988280545e+00), SC_(9.9672462370509076027105283961762082035474e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-2.2024582517943336330657655542466780531885e-01), SC_(-3.8604811309282995659669665442212999707444e-01), SC_(1.0024822135155348232709431983565810627320e+00), SC_(9.9751778641623108053948390625123483582968e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-2.1770703022638823217849835786239194735745e-01), SC_(-3.8159768979623871433634678690576780376431e-01), SC_(1.0023697163443460593040927153819984172693e+00), SC_(9.9763028359897387406412009554574324341464e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-2.1674950192631827142233672258636971262673e-01), SC_(-3.7991918536067733713342694880579158810382e-01), SC_(1.0023282967082615434821202988768483273472e+00), SC_(9.9767170323891848145679520327787834237717e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-2.1635052595001677258182642202402831034763e-01), SC_(-3.7921979994460850719857019234039905786591e-01), SC_(1.0023111995504985137966217630196544946788e+00), SC_(9.9768880039821597695653299444631909775663e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-2.0834227086928585714303799991409968995228e-01), SC_(-3.6518190976085580671637161852003160837730e-01), SC_(1.0019875153447833799649475088828166034755e+00), SC_(9.9801248462716959196443544952410323111144e-01) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-2.0717407373398971379822043109628905609155e-01), SC_(-3.6313417219032570784132149578825222127836e-01), SC_(1.0019433094009598081915455722570991804466e+00), SC_(9.9805669057340640940342550527013089739442e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-4.5142466110842397513121878642152353143359e-01), SC_(-1.3138062439252177111994552928174625792128e+00), SC_(1.3139055639723193176228159167132237715324e+00), SC_(4.5385362288821773895012435633345828550863e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-5.7011438906828069193260952076127504489824e-01), SC_(-1.3058447819888320183468129786965911436045e+00), SC_(1.3068922123109877644976707339472752652197e+00), SC_(5.8231878634389896226716993733060051785314e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-5.9432957201080342574544868010859366167628e-01), SC_(-1.2974921926653296868145565400689751746840e+00), SC_(1.2991918981924174294412707672538063133352e+00), SC_(6.1130789900076506347868111362150355313368e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-6.7488300085030583037379552337948536540949e-01), SC_(-1.2227909657211594943621910376200227867351e+00), SC_(1.2354284239155424954894393387244730006710e+00), SC_(7.4089256096498160360744312591119983896227e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-6.8493864049091371202486197010712792495770e-01), SC_(-1.1696342430954640180342833996939350826142e+00), SC_(1.1962223741489782785025790618967579509554e+00), SC_(7.9335527256143636010957476257761724108902e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-6.6651245436634904904870149992254151786937e-01), SC_(-1.0755998107927164867529068670851459472798e+00), SC_(1.1391620445687826790386875607118357561967e+00), SC_(8.5837903619390905618828453376604205302632e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-6.4759295300125813488248465435108210086924e-01), SC_(-1.0285111504276504296948391455270616183572e+00), SC_(1.1159319335929287008854373333333429460138e+00), SC_(8.8290150150960761465500697380346707418541e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-4.6162310793905942785804970546623087876384e-01), SC_(-7.0960907907421124573695877256987284016295e-01), SC_(1.0259995574153868603823970505547553073846e+00), SC_(9.7399754965394588312728698677378128565368e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-4.6138101718389846456817713412281920350615e-01), SC_(-7.0923187869051252995227296134074930682617e-01), SC_(1.0259442414051481282062430704886537004876e+00), SC_(9.7405289020950051793354103616250443410594e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-4.0412137609759392532341635130609242750040e-01), SC_(-6.2053195892259902951757075454134036518602e-01), SC_(1.0151962851879643227722356312494427910489e+00), SC_(9.8480337725544158165589875516653346043616e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-3.0363718856088615365833364249378487136121e-01), SC_(-4.6599793653014686247141673201127096985355e-01), SC_(1.0048318698749207405367357913969529206519e+00), SC_(9.9516812667492033024479478495611459767366e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-2.9411906040374766485449450064825807395953e-01), SC_(-4.5138440744947064100177792954235978813452e-01), SC_(1.0042536605323495839311961402767223738069e+00), SC_(9.9574633739546174682630037887028834142194e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-2.6317729170420755576892864789309409667859e-01), SC_(-4.0388742702615976698396926866046453802031e-01), SC_(1.0027265444029636442724763752895235734784e+00), SC_(9.9727345524722977820299464007125504698522e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-2.6006113077206829301455706866571764229395e-01), SC_(-3.9910451448759575827803415740162638626992e-01), SC_(1.0025996654280226296751298722211847538662e+00), SC_(9.9740033428287776930054810159438368920196e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-2.4264614537696174125573131532153698741141e-01), SC_(-3.7237584088633651495244507752997662789157e-01), SC_(1.0019701324597243238930177488887415272400e+00), SC_(9.9802986744491719852892865581153236201330e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-2.3984911322617607447673286801686240539210e-01), SC_(-3.6808307441694652663052002433496241913065e-01), SC_(1.0018808434759773903203829683674253864640e+00), SC_(9.9811915644481111330376543802376449881318e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-2.3879418925770771737707895514386941170251e-01), SC_(-3.6646403013642764024759527891291079644900e-01), SC_(1.0018479687184394643750854806234858757868e+00), SC_(9.9815203120774359235446971849928127731820e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-2.3835463126725264340598805863152684834565e-01), SC_(-3.6578941992042974873805043154675958324956e-01), SC_(1.0018343987074515136013873900049150973684e+00), SC_(9.9816560122087598897141448997611657584492e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-2.2953182538316889914308514514305440267595e-01), SC_(-3.5224879247384010241782186888691990152154e-01), SC_(1.0015774906108508407556513692482836010070e+00), SC_(9.9842250934995289158994276007906080614606e-01) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-2.2824480813632735530336670882969020520814e-01), SC_(-3.5027358898827664691644096162635701497902e-01), SC_(1.0015424043608579698498578023569199519355e+00), SC_(9.9845759560331832028638946520047405456774e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-4.8537116212485177711236360470966655938962e-01), SC_(-1.2583273464016870357687275526669074002606e+00), SC_(1.2584470938462560303782693928880467500303e+00), SC_(4.8744466804275024165799193853815679322579e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-6.0355532808208027901845595204207482566082e-01), SC_(-1.2631893560689228181930603896414408528551e+00), SC_(1.2643985750021126851579080942577611724858e+00), SC_(6.1436307291426347894945645874832238955220e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-6.2729509214327786322192300677137910352326e-01), SC_(-1.2576675203721337828966107837261083749322e+00), SC_(1.2596121348210016585068680870534288194758e+00), SC_(6.4244539910088407272126553108405153410377e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-7.0434902926818925787065711602707322261909e-01), SC_(-1.1950042268026294444597757266390889352577e+00), SC_(1.2089203868908054501482554344537873785284e+00), SC_(7.6516679584464389480058629479972726996215e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-7.1243899532146931113644669432746847137550e-01), SC_(-1.1462002324208451470074199660302738910392e+00), SC_(1.1750476449024894384022523664088244095113e+00), SC_(8.1354678870724126642663732172839589949485e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-6.9112942679440832631649453420838608498187e-01), SC_(-1.0569226802298606607482616118169374083493e+00), SC_(1.1246309393869133410800501451793942490995e+00), SC_(8.7267817437669511080987303152679650721756e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-6.7094000719053162067599051684292548875293e-01), SC_(-1.0114503899741717771978736165375599269648e+00), SC_(1.1039133653764522438392125566457183865196e+00), SC_(8.9481001952397169749780610888470669435887e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-4.7745158028317381801531394933549831087504e-01), SC_(-6.9898956434910854110465411682367926843123e-01), SC_(1.0233296918313620402030877483464003830694e+00), SC_(9.7666714232764621364242488386956471643256e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-4.7720101356839823215684489824360451113642e-01), SC_(-6.9861826423475348947979863141739650956958e-01), SC_(1.0232800579721756842983267160565450810947e+00), SC_(9.7671680304767929478105616107385214687134e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-4.1795448035618089514004700485220558354008e-01), SC_(-6.1128010654186841355405800289327275758670e-01), SC_(1.0136359289038732673177604362293736222867e+00), SC_(9.8636370169546507236196508504063255473384e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-3.1402242001436076643478556435450267999236e-01), SC_(-4.5906223082904282382240924590773435136933e-01), SC_(1.0043357431619685346705118738300935344598e+00), SC_(9.9566425306239498368599788757747435729114e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-3.0417854241475254792990349567174850453491e-01), SC_(-4.4466649993909345356787871865308627012871e-01), SC_(1.0038169032907034582965735252026101926855e+00), SC_(9.9618309444162386431388735179885172456727e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-2.7217813222395346704117961674608649917876e-01), SC_(-3.9787695127723388583544652333763972041801e-01), SC_(1.0024465884465294257324993282779638227467e+00), SC_(9.9755341117066430281274243229803371683784e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-2.6895537338643011943242708884518739516567e-01), SC_(-3.9316524972059391220917104191035098786453e-01), SC_(1.0023327371474536231396911692513662679300e+00), SC_(9.9766726253617399435581282133296694928896e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-2.5094469354851730147284296458662992524299e-01), SC_(-3.6683447241203583987350884468366477973478e-01), SC_(1.0017678433372040213177851762639990320634e+00), SC_(9.9823215655844167090566320523508089265836e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-2.4805199147997947162507048978573952979048e-01), SC_(-3.6260560295140228245278907097711777163089e-01), SC_(1.0016877223626326610878423014378840530095e+00), SC_(9.9831227755068326968002448794471737383740e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-2.4696098509394368519929861155451387691360e-01), SC_(-3.6101065741380506096149279876583391287250e-01), SC_(1.0016582231175181339217997364576702672339e+00), SC_(9.9834177680170125576630606953737967426858e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-2.4650639259082847416512271434050469502032e-01), SC_(-3.6034608840080847686659043197364421180537e-01), SC_(1.0016460464473131860368485285356061328758e+00), SC_(9.9835395347425295002578007654237838614025e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-2.3738181907739500851273456241160151465298e-01), SC_(-3.4700699840349333714140407301578668398616e-01), SC_(1.0014155171442107240472374780880119089534e+00), SC_(9.9858448281289535102456785605400394421064e-01) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-2.3605078252667132960131021825139261585650e-01), SC_(-3.4506119260894534389278339715331380969824e-01), SC_(1.0013840334778987072932648592820898627530e+00), SC_(9.9861596648289808246504489160341314307086e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-5.0004280776440253718618405971350731412794e-01), SC_(-1.2352376884554060551327532055634991162255e+00), SC_(1.2353671089960745616607688728570440794319e+00), SC_(5.0198268884533811969095625671221469197088e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-6.1782119501604097634435514274054525974501e-01), SC_(-1.2453060561228292747757824076943681049542e+00), SC_(1.2465896107119366408519987804453075672032e+00), SC_(6.2808984662646964266946355738852553326468e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-6.4131745843813424112802624799538466941059e-01), SC_(-1.2409446875004097865810453460685988474246e+00), SC_(1.2430011254251051885778334934266970217963e+00), SC_(6.5575829662235853495766649809563484319842e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-7.1672153385169661081848018371563230562818e-01), SC_(-1.1832519630904498800037175818153127457112e+00), SC_(1.1977369296397025972613684501258263763677e+00), SC_(7.7547757524060304612508186556685893930865e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-7.2392907283279098638801954228267702358712e-01), SC_(-1.1362582006479490063696398843503650806479e+00), SC_(1.1661010539633130204849961879703794659468e+00), SC_(8.2210926845919401550121138341158167047952e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-7.0136067611392451621530337840017757991279e-01), SC_(-1.0489685876699920552006190094469615980628e+00), SC_(1.1184841239976545956078395354364461447041e+00), SC_(8.7873436737671625632079550034136629875356e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-6.8062791506254032892377867046301068698853e-01), SC_(-1.0041751632820645122917580928090440249829e+00), SC_(1.0988280460260470482302472573131795716340e+00), SC_(8.9985234563701074671078953260346260481481e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-4.8399700727871367964065597483944958439347e-01), SC_(-6.9444682655270149020062883525132269929236e-01), SC_(1.0221996191307370225322700009438332359764e+00), SC_(9.7779710841058098260908137391560618732591e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-4.8374293045457638960986726072758039388138e-01), SC_(-6.9407804691379252548120981291663888615720e-01), SC_(1.0221523903245716021618022118086934265867e+00), SC_(9.7784436498219997468340619538471614014544e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-4.2367408564237407809977157309572602294984e-01), SC_(-6.0732194330365194717860004763142984803099e-01), SC_(1.0129754755813910237058013397328935257572e+00), SC_(9.8702414257744716917300761531919917547506e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-3.1831618283883790611070983613994027619245e-01), SC_(-4.5609480383415931990142932516058595483510e-01), SC_(1.0041257470293307063046969028735920395664e+00), SC_(9.9587424906787871873471857580514270767057e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-3.0833761853279519574578397696374690114541e-01), SC_(-4.4179225334853825577643439365936275076151e-01), SC_(1.0036320365419694553595179415789128795279e+00), SC_(9.9636796111398826317616140424308791855308e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-2.7589950397734854227924156895854668573360e-01), SC_(-3.9530537087165773973219216632324399700487e-01), SC_(1.0023280911597602187705259808035135306896e+00), SC_(9.9767190844454154186425120265244674638676e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-2.7263267186435607829468383786318235110868e-01), SC_(-3.9062413644887359163996633045065861284843e-01), SC_(1.0022197541002936453951507927106804207037e+00), SC_(9.9778024557267933316900741928708450413060e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-2.5437570122193975417520310968957391161897e-01), SC_(-3.6446359714341169447520311494505687449460e-01), SC_(1.0016822201822811660967148202480080709118e+00), SC_(9.9831777970985013128136843000058693186130e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-2.5144344442047399545477081989008261782284e-01), SC_(-3.6026206580846757393018277078387870401119e-01), SC_(1.0016059797617233660741601235818305144232e+00), SC_(9.9839402014867325975483440486798592073645e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-2.5033751976529668752571869882737003956094e-01), SC_(-3.5867743084482471672526609475816693348316e-01), SC_(1.0015779092737184089387280684250661980276e+00), SC_(9.9842209064278048969793537981718192793496e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-2.4987671124689957250807280778225179108938e-01), SC_(-3.5801715793093088881067507790522539881194e-01), SC_(1.0015663223645039396641963696872980615868e+00), SC_(9.9843367755442073795750426046312864122786e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-2.4062737213442940736154574007056206477034e-01), SC_(-3.4476429523856983038630565414394991297947e-01), SC_(1.0013469584443345824500511861276478445683e+00), SC_(9.9865304151132693137769021235722753987639e-01) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-2.3927813585681630698564802074864646519221e-01), SC_(-3.4283106718878900006783656184463593037052e-01), SC_(1.0013169996478537476863534389983176447149e+00), SC_(9.9868300031162277496530103819324337501291e-01) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-8.6168741734255249788782056171892181671619e-01), SC_(-7.9350873172246820112097544770165433868690e-01), SC_(7.9410480094592119763367227925897637698104e-01), SC_(8.6215304620506175458391818401988742841909e-01) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-9.4329949889950780627563600791016795948774e-01), SC_(-8.8503484212770630460507028535285740646709e-01), SC_(8.8918316658463047921008960758822884822492e-01), SC_(9.4673103166538871980091657818532317084166e-01) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-9.5587816624041561612212201319835649358384e-01), SC_(-9.0021748451698322468136438835449206104128e-01), SC_(9.0639227723803894874795359952430646324093e-01), SC_(9.6104710997752775984088603604191026013464e-01) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-9.7405098137956966366019164195281518373091e-01), SC_(-9.3090540905284268981653070365161724814996e-01), SC_(9.6280411744669257705290996669920966925550e-01), SC_(1.0021229750880347774882576136559511302918e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-9.5595174860335116002161021084726640251265e-01), SC_(-9.1790646737794584129931423931614004694263e-01), SC_(9.7626535845962661031789478478392767480003e-01), SC_(1.0082972389680468165902036253594412161784e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-9.0141526581662473698572736637465975127772e-01), SC_(-8.6943533178647388386578571400137767077430e-01), SC_(9.8701634447668692360730396313297725852031e-01), SC_(1.0093415482607666261320188781648418921729e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-8.6817625754436069833786710926556242468914e-01), SC_(-8.3843907089159655793863927591106890637719e-01), SC_(9.8987186283805654864064430950282301091923e-01), SC_(1.0084002420671886250058957948993723096037e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-6.0796899686368094000695898980032760923432e-01), SC_(-5.8867014608568331200986647389829207232048e-01), SC_(9.9793050299406636353007646343971707866161e-01), SC_(1.0020652120486880133020437198766408096484e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-6.0764781681438684033891898585185689242130e-01), SC_(-5.8835949488673851730927662552265538162685e-01), SC_(9.9793492035518044053093205138462055107718e-01), SC_(1.0020608310436575485046155122158727113251e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-5.3192068797136105933517835755123439328505e-01), SC_(-5.1508104576146588025401088851283942997513e-01), SC_(9.9879147135711561534389017982142040292911e-01), SC_(1.0012080286600849180491312132501397947969e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-3.9954847379584239204140497347226840037374e-01), SC_(-3.8691531263046726335847661410717594035575e-01), SC_(9.9961581260053947901210810856911514409648e-01), SC_(1.0003841822891467241051112956171870336554e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-3.8702109307714927539359055436248270519963e-01), SC_(-3.7478441770187559672604517175712732064144e-01), SC_(9.9966178742775414739828679133337994671878e-01), SC_(1.0003382095029569985451038677867053206107e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-3.4630095696146303087354192275834565633614e-01), SC_(-3.3535245802498003890042050616739630142321e-01), SC_(9.9978321063914512202570728356952374551523e-01), SC_(1.0002167888427276217992043558855637495250e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-3.4220025799231226190130330946319199180353e-01), SC_(-3.3138144903969147952202677467461881461936e-01), SC_(9.9979329890559052935625979879891777511654e-01), SC_(1.0002067006662003040235350685676464685920e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-3.1928360100238278125792877943739254713544e-01), SC_(-3.0918948716690838788994532698999282522444e-01), SC_(9.9984335357921162605026893340443896146266e-01), SC_(1.0001566462795450997660544015850609096738e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-3.1560300807099974091389593977544411877551e-01), SC_(-3.0562527644033956044557870965254133349177e-01), SC_(9.9985045300942032088421198787800579949575e-01), SC_(1.0001495468732530251540996038938225646338e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-3.1421484565689592849725124429446927917245e-01), SC_(-3.0428100787117398290355028001221169484834e-01), SC_(9.9985306690419901688313409196325518495319e-01), SC_(1.0001469329864646448850160258124796611205e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-3.1363643691079966561585946042605266738271e-01), SC_(-3.0372088838651285479188313646311988928963e-01), SC_(9.9985414586512262850075673914806899954217e-01), SC_(1.0001458540287173481572972558983210907318e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-3.0202668669998854880443724840796839321372e-01), SC_(-2.9247822840233340121501129585285662841373e-01), SC_(9.9987457279855885102029902272876784978920e-01), SC_(1.0001254271433843372530615441349054975039e+00) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-3.0033313662790135454792098752307912231955e-01), SC_(-2.9083822553615016231843390600874265351013e-01), SC_(9.9987736252877582331465232838550964778948e-01), SC_(1.0001226374181627373348623065389646772440e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.9508075714111328125000000000000000000000e-01), SC_(-9.2475326594248786056197436333857443434487e-01), SC_(-7.3516286509414808768521559111291568165496e-01), SC_(7.3590366632830873272417682817711853695388e-01), SC_(9.2512580234759162377770006997697710058670e-01) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(2.5397360324859619140625000000000000000000e-01), SC_(-9.9620543123356148411404638317514386579227e-01), SC_(-8.3419701069860217730134945109979481534225e-01), SC_(8.3909915439540528538303709920165833100733e-01), SC_(9.9909665251568597742885879969727763341955e-01) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(2.7095401287078857421875000000000000000000e-01), SC_(-1.0062151375397766069062966126295173287978e+00), SC_(-8.5144469591598649206463327460137420379288e-01), SC_(8.5866558655008937060249797013172885035478e-01), SC_(1.0106172323003462441584986384727296329728e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(3.7676393985748291015625000000000000000000e-01), SC_(-1.0123505106795024920296320094948878724255e+00), SC_(-8.9235480403196409856393427819653516809270e-01), SC_(9.2805175702204482907804202554213907433097e-01), SC_(1.0373631230253164665685138450423765844385e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(4.4206809997558593750000000000000000000000e-01), SC_(-9.8946311973823827752244934509220827481057e-01), SC_(-8.8363846611919580642794923016554891399140e-01), SC_(9.4786239927720961170852248809537829920345e-01), SC_(1.0369148990869950612690639733134359786758e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(5.5699634552001953125000000000000000000000e-01), SC_(-9.2933133791581800477787226550792939315690e-01), SC_(-8.4036294053948407020184941187677967579914e-01), SC_(9.6717090287501109285246362026377919539609e-01), SC_(1.0292376437188232459525962856565168103115e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(6.1633396148681640625000000000000000000000e-01), SC_(-8.9405827382334184437944289777171623517103e-01), SC_(-8.1132459239968057975596621507841167992231e-01), SC_(9.7339251168005165930157234863249162389499e-01), SC_(1.0249036245191225026844293766040747246519e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.0937628746032714843750000000000000000000e+00), SC_(-6.2465306433878293386624267838859976879170e-01), SC_(-5.7095361498177640883477785708605457625398e-01), SC_(9.9425039421824665157477918404226742537784e-01), SC_(1.0057453804190209454805524015466640989121e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.0944409370422363281250000000000000000000e+00), SC_(-6.2432275539078015912366439002962356663024e-01), SC_(-5.7065260114243142054667650581126521173159e-01), SC_(9.9426264239910515435137016198249782333940e-01), SC_(1.0057331680886113469587678914883103661573e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.2647185325622558593750000000000000000000e+00), SC_(-5.4647513988222851648970047560537568695071e-01), SC_(-4.9961826756989275963566711430589346703337e-01), SC_(9.9664059417289417755890853185461179531283e-01), SC_(1.0033589127979887019373372871288028649467e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.6294469833374023437500000000000000000000e+00), SC_(-4.1046601255143676056236240039336468350996e-01), SC_(-3.7531373790529854209968532694531602723708e-01), SC_(9.9893191761660311302896264332941392046949e-01), SC_(1.0010680773441565327553677270614030856394e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.6700167655944824218750000000000000000000e+00), SC_(-3.9759595901933272538373795286360576115334e-01), SC_(-3.6354691998638366914780478027601677517144e-01), SC_(9.9905973130977840321621379015762080532177e-01), SC_(1.0009402656636199306510692280192887341216e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.8115835189819335937500000000000000000000e+00), SC_(-3.5576253175673553936931531559899035630814e-01), SC_(-3.2529789176589439916509086730960614810952e-01), SC_(9.9939730008643814291314111402626066756878e-01), SC_(1.0006026994026406335155786210455208620459e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.8267517089843750000000000000000000000000e+00), SC_(-3.5154975257250477867240228196964260076942e-01), SC_(-3.2144597997706691338916452792182803805272e-01), SC_(9.9942534659431846698812678356395804244135e-01), SC_(1.0005746529834278323107818983648336172323e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.9150133132934570312500000000000000000000e+00), SC_(-3.2800680809283234167460434145390215181920e-01), SC_(-2.9991952805082158783947927443290703354177e-01), SC_(9.9956450432237925778110273675945071284632e-01), SC_(1.0004354955383418573367018517600950617758e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.9297766685485839843750000000000000000000e+00), SC_(-3.2422563745789585673174212089414039932554e-01), SC_(-2.9646219550654719653088685518533492145700e-01), SC_(9.9958424156688669130322435201404334734424e-01), SC_(1.0004157583174184154341575365572364586118e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.9353895187377929687500000000000000000000e+00), SC_(-3.2279954195082593435591690109354951011919e-01), SC_(-2.9515823636280271293907323903556961701978e-01), SC_(9.9959150850015315417104051480218148703959e-01), SC_(1.0004084913920311402383954240071152079780e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.9377355575561523437500000000000000000000e+00), SC_(-3.2220532761842476549822075234965099428122e-01), SC_(-2.9461491262568127138266335266295643721228e-01), SC_(9.9959450813785042353568584773024480267625e-01), SC_(1.0004054917574660100744119536190964431421e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.9857625961303710937500000000000000000000e+00), SC_(-3.1027833867098246032637913484360374944976e-01), SC_(-2.8370936683958984581605751220805482637047e-01), SC_(9.9965129741527285205012528287247680186108e-01), SC_(1.0003487025274777812537548475233986215433e+00) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.9929223060607910156250000000000000000000e+00), SC_(-3.0853851330676095143472321816953183496398e-01), SC_(-2.8211853871310206559884290554627299979024e-01), SC_(9.9965905319479616393898607125655416044135e-01), SC_(1.0003409467528803668856304375077198026475e+00) }
|
||||
}};
|
||||
//#undef SC_
|
||||
|
||||
407
test/jacobi_theta_small_tau.ipp
Normal file
@@ -0,0 +1,407 @@
|
||||
#ifndef SC_
|
||||
# define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
|
||||
#endif
|
||||
static const boost::array<boost::array<T, 6>, 400> jacobi_theta_small_tau_data = {{
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(5.1615323244600500649545371516467594502339e-315), SC_(-4.3780502833417106909791663988832605163066e+00), SC_(4.3780502833417106909791663988832605163066e+00), SC_(5.1615323244600500649545371516467594502339e-315) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(7.6430439369569174389347068283521036429672e-242), SC_(-6.0865658997775425224262998368808341926984e+00), SC_(6.0865658997775425224262998368808341926984e+00), SC_(7.6430439369569174389347068283521036429672e-242) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(1.1760957872749565003121989529395437341179e-226), SC_(-6.4850771264231212243563032744767576741018e+00), SC_(6.4850771264231212243563032744767576741018e+00), SC_(1.1760957872749565003121989529395437341179e-226) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(7.1025002479325416701758628685035692684694e-163), SC_(-8.2234254266951768675205774105632204328466e+00), SC_(8.2234254266951768675205774105632204328466e+00), SC_(7.1025002479325416701758628685035692825763e-163) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(9.3592754511549804983125853481683158222014e-139), SC_(-8.8397242219203887650514800391643853378049e+00), SC_(8.8397242219203887650514800391643853378049e+00), SC_(9.3592754511549804983125853481721864294068e-139) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(4.7349630983209456446334089569796182213195e-110), SC_(-9.4392938099316833265381984132336138920105e+00), SC_(9.4392938099316833265381984132336138920105e+00), SC_(4.7349630983209456446334131561768191487952e-110) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(2.0024690749488476082733962180765680248367e-99), SC_(-9.5961098280739991392869199238111380831923e+00), SC_(9.5961098280739991392869199238111380831923e+00), SC_(2.0024690749488476082737888786829895365012e-99) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(6.4131277720454735017551264530111304632156e-56), SC_(-9.4826539959185686661315556796637307193586e+00), SC_(9.4826539959185686661315556796637307193586e+00), SC_(6.4131277720505585143665220465532723256897e-56) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(6.9477943900160451037996656203338639063668e-56), SC_(-9.4818001660105784722948668449452767293859e+00), SC_(9.4818001660105784722948668449452767293859e+00), SC_(6.9477943900216524349095314800071661149121e-56) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(2.4491570766696341565123914107087704724537e-48), SC_(-9.2518346790262426950579564979192312960068e+00), SC_(9.2518346790262426950579564979192312960068e+00), SC_(2.4491570767618123983738490121987155799618e-48) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(1.7264275083436298725948655034893741201329e-37), SC_(-8.7305133592162124969183486513736449072663e+00), SC_(8.7305133592162124969183486513736449072663e+00), SC_(1.7264275246926935666999502488712354839464e-37) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(1.4134026164023111766303263325983681587019e-36), SC_(-8.6738660900234766063217601605909634023760e+00), SC_(8.6738660900234766063217601605909634023760e+00), SC_(1.4134026377250453605915818694283348447390e-36) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(1.0358115256386037315460721336816526624795e-33), SC_(-8.4807080921987746280295775704402651111767e+00), SC_(8.4807080921987746280295775704402651111767e+00), SC_(1.0358115930273133119654761884896609554231e-33) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(1.9761992092970055504105877284110361303091e-33), SC_(-8.4604646224109365244823815804685302214659e+00), SC_(8.4604646224109365244823815804685302214659e+00), SC_(1.9761993576544134564835929494402375462989e-33) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(6.9166609472247469917357885960635247858819e-32), SC_(-8.3445175041575761354715295025805414169377e+00), SC_(8.3445175041575761354715295025805414169377e+00), SC_(6.9166620890884732561187530590698801239873e-32) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(1.2143244008561925655808144445819183624027e-31), SC_(-8.3254371022231133031788765543824537827812e+00), SC_(8.3254371022231133031788765543824537827812e+00), SC_(1.2143246279691032202725996339961765031120e-31) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(1.5006950800192111640309490471640623626620e-31), SC_(-8.3182063021352674973353614290035171848394e+00), SC_(8.3182063021352674973353614290035171848394e+00), SC_(1.5006953741810513696010048960806751470948e-31) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(1.6389195832773134047884289306680529421843e-31), SC_(-8.3151888979053563469854733524666893385088e+00), SC_(8.3151888979053563469854733524666893385088e+00), SC_(1.6389199108705481931671830053604362752416e-31) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(9.5096091399561686042229404175751626522686e-31), SC_(-8.2539104114521052066577504059751867332835e+00), SC_(8.2539104114521052066577504059751867332835e+00), SC_(9.5096119469823547741934858681020192006904e-31) },
|
||||
{ SC_(-3.2196769714355468750000000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(1.2269854138761437695087156034714816775203e-30), SC_(-8.2448581612034721395993414368627623106612e+00), SC_(8.2448581612034721395993414368627623106612e+00), SC_(1.2269857971108787365185400090556063478471e-30) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-2.6021757086306117598549792277844469212377e-282), SC_(-9.7794073627636670087505128789578313949199e-03), SC_(9.7794073627636670087505128789578313949199e-03), SC_(2.6021757086306117598549792277844469212377e-282) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-1.0059371743457995453338481687497339151516e-216), SC_(-5.5991947116989226750249122279060083224555e-02), SC_(5.5991947116989226750249122279060083224555e-02), SC_(1.0059371743457995453338481687497339151516e-216) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-4.1262206477691695573389945729956871228971e-203), SC_(-8.0034525100230130149036532234650647113379e-02), SC_(8.0034525100230130149036532234650647113379e-02), SC_(4.1262206477691695573389945729956871228971e-203) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-6.0832791123274026422660992581718361956424e-146), SC_(-3.4868620202313117021547746496645749810273e-01), SC_(3.4868620202313117021547746496645749810273e-01), SC_(6.0832791123274026422660992581718361956424e-146) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-2.5269423976909499081650280722050198931476e-124), SC_(-5.9784638448453563552103476865613728264791e-01), SC_(5.9784638448453563552103476865613728264791e-01), SC_(2.5269423976909499081650280722050198931476e-124) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-1.3457467515415084849573946922422232461470e-98), SC_(-1.1129413417696964805134442845927035310750e+00), SC_(1.1129413417696964805134442845927035310750e+00), SC_(1.3457467515415084849573946922422232461470e-98) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-4.4927577052831366390230155605393544446133e-89), SC_(-1.3900042901764530116721429963079329422942e+00), SC_(1.3900042901764530116721429963079329422942e+00), SC_(4.4927577052831366390230155605393544446133e-89) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-4.3633127593902357316059113899455401270855e-50), SC_(-3.1923451818754431758460698836058215362536e+00), SC_(3.1923451818754431758460698836058215362536e+00), SC_(4.3633127593902357316059122369885516259047e-50) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-4.6878969407592671365094581293251533477283e-50), SC_(-3.1942125370023676254494873398223319458727e+00), SC_(3.1942125370023676254494873398223319458727e+00), SC_(4.6878969407592671365094590724542150493011e-50) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-2.7122718943179592097482750418612361965036e-43), SC_(-3.6084468478385766509934635930300209622555e+00), SC_(3.6084468478385766509934635930300209622555e+00), SC_(2.7122718943179592097495412256063998702188e-43) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-1.4202546064066779145763219993451840018895e-33), SC_(-4.2039775298758185192397892131677217211784e+00), SC_(4.2039775298758185192397892131677217211784e+00), SC_(1.4202546064066779606567217884068179796590e-33) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-9.3405177662756445267805503906043796056484e-33), SC_(-4.2515123900979719632460750665254360359005e+00), SC_(4.2515123900979719632460750665254360359005e+00), SC_(9.3405177662756453019547477006288398495201e-33) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-3.4424176498782496688115029676435581607486e-30), SC_(-4.3950312457778445600908806802885707920067e+00), SC_(4.3950312457778445600908806802885707920067e+00), SC_(3.4424176498782551146409723861346453323448e-30) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-6.1400670843773272018846009165892140499919e-30), SC_(-4.4085359157680499908117327776151880273363e+00), SC_(4.4085359157680499908117327776151880273363e+00), SC_(6.1400670843773401667256639416373928865559e-30) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-1.4834705100141561219912346664808026176558e-28), SC_(-4.4807354417075548821247547889223789156049e+00), SC_(4.4807354417075548821247547889223789156049e+00), SC_(1.4834705100141714726856864238612408467916e-28) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-2.4560157969672088870460275062300344511276e-28), SC_(-4.4918070122390737533405895786120711804667e+00), SC_(4.4918070122390737533405895786120711804667e+00), SC_(2.4560157969672415739298338130499167001034e-28) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-2.9689351138850522397079687340237615411310e-28), SC_(-4.4959448931184453720119486941198509206321e+00), SC_(4.4959448931184453720119486941198509206321e+00), SC_(2.9689351138850956767970254343942237855872e-28) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-3.2127433066278919590869646000895985168525e-28), SC_(-4.4976622834715182147762445415605359517456e+00), SC_(4.4976622834715182147762445415605359517456e+00), SC_(3.2127433066279408520132042309130678272885e-28) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-1.5518645759442135865799548659902914643729e-27), SC_(-4.5313676426939707363904103444214808851528e+00), SC_(4.5313676426939707363904103444214808851528e+00), SC_(1.5518645759442654300989408605213494798416e-27) },
|
||||
{ SC_(-2.9841060638427734375000000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-1.9497919042745756516397393706620948086052e-27), SC_(-4.5361602689364914292392062299168619648290e+00), SC_(4.5361602689364914292392062299168619648290e+00), SC_(1.9497919042746486522470729740508918517125e-27) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-9.3607345628832630732153847118920330750627e-256), SC_(-2.0158731835153730285394252756139301955905e-06), SC_(2.0158731835153730285394252756139301955905e-06), SC_(9.3607345628832630732153847118920330750627e-256) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-2.5153324791790336502498324486859839072643e-196), SC_(-8.2598423476909117655349780372930457668051e-05), SC_(8.2598423476909117655349780372930457668051e-05), SC_(2.5153324791790336502498324486859839072643e-196) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-5.4357419233225854067924324254429896469660e-184), SC_(-1.7764310501750845723263754624635432661580e-04), SC_(1.7764310501750845723263754624635432661580e-04), SC_(5.4357419233225854067924324254429896469660e-184) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-3.4220501823288920472333798493570905032869e-132), SC_(-4.3050296279681943709761856060017884789489e-03), SC_(4.3050296279681943709761856060017884789489e-03), SC_(3.4220501823288920472333798493570905032869e-132) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-1.3228614139878042091095143997184223348497e-112), SC_(-1.4127213247956847579313557224225649359618e-02), SC_(1.4127213247956847579313557224225649359618e-02), SC_(1.3228614139878042091095143997184223348497e-112) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-2.6905962580604782922225224869976756583646e-89), SC_(-5.6957557448132341028629313029666048262336e-02), SC_(5.6957557448132341028629313029666048262336e-02), SC_(2.6905962580604782922225224869976756583646e-89) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-1.1427617501667056990141268005952706196131e-80), SC_(-9.4706241671482476777742600383642940754444e-02), SC_(9.4706241671482476777742600383642940754444e-02), SC_(1.1427617501667056990141268005952706196131e-80) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-2.3783366517414482809364070156602737733548e-45), SC_(-7.0260457981089215676315856360139073533280e-01), SC_(7.0260457981089215676315856360139073533280e-01), SC_(2.3783366517414482809364070156602737808823e-45) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-2.5380443559552176985705916219824544362263e-45), SC_(-7.0367548634482648616585826186018823201132e-01), SC_(7.0367548634482648616585826186018823201132e-01), SC_(2.5380443559552176985705916219824544446804e-45) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-3.3849252538648807119497755569739871926381e-39), SC_(-9.7450489515955478417483754818492789572317e-01), SC_(9.7450489515955478417483754818492789572317e-01), SC_(3.3849252538648807119497755569747271527330e-39) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-2.1463583873424627447226918154111571019812e-30), SC_(-1.5218886680708008464171967815353481555765e+00), SC_(1.5218886680708008464171967815353481555765e+00), SC_(2.1463583873424627447226958114085802222853e-30) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-1.1816015130127667969685537689448331086979e-29), SC_(-1.5775602227010017677710339417125323261828e+00), SC_(1.5775602227010017677710339417125323261828e+00), SC_(1.1816015130127667969685622058703872984005e-29) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-2.4920108100991958595769172351677050045327e-27), SC_(-1.7621805237599455396557071377405790748376e+00), SC_(1.7621805237599455396557071377405790748376e+00), SC_(2.4920108100991958595781265922034589733570e-27) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-4.2083796610773790620950927152123423785552e-27), SC_(-1.7810595968901577156616665581776308089461e+00), SC_(1.7810595968901577156616665581776308089461e+00), SC_(4.2083796610773790620981801197443743989187e-27) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-7.5251271516724746402373608304719044437042e-26), SC_(-1.8874475645460031244656718754413132109206e+00), SC_(1.8874475645460031244656718754413132109206e+00), SC_(7.5251271516724746402910571214054945849959e-26) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-1.1878737415371270832480623446871201182626e-25), SC_(-1.9046674730864391547128058891229860519946e+00), SC_(1.9046674730864391547128058891229860519946e+00), SC_(1.1878737415371270832602138629997028209552e-25) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-1.4104373005413640822096538564675358780757e-25), SC_(-1.9111717803323480365530832699113040308902e+00), SC_(1.9111717803323480365530832699113040308902e+00), SC_(1.4104373005413640822261759518122659663630e-25) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-1.5149180940874006034626046197890578864021e-25), SC_(-1.9138825292332503695891514447109108603393e+00), SC_(1.9138825292332503695891514447109108603393e+00), SC_(1.5149180940874006034813800447882145057256e-25) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-6.3053031849488862081600123362419533575260e-25), SC_(-1.9684862516429755593025761529421056825438e+00), SC_(1.9684862516429755593025761529421056825438e+00), SC_(6.3053031849488862084008079056202421756105e-25) },
|
||||
{ SC_(-2.9161844253540039062500000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-7.7529600626582306739560328149923181445545e-25), SC_(-1.9764798417570122653878653204542018929044e+00), SC_(1.9764798417570122653878653204542018929044e+00), SC_(7.7529600626582306743045748697073123676347e-25) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-9.7164210283629195800824979203474180594063e-120), SC_(-7.4983787014513194761861132864213674443123e-59), SC_(7.4983787014513194761861132864213674443123e-59), SC_(9.7164210283629195800824979203474180594063e-120) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-7.5264388044969703361545955640312072039076e-92), SC_(-4.4169545270054574975297229652300119172543e-45), SC_(4.4169545270054574975297229652300119172543e-45), SC_(7.5264388044969703361545955640312072039076e-92) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-4.6118564190005330897869595414049876066367e-86), SC_(-3.1731082204028170333974372338431115476210e-42), SC_(3.1731082204028170333974372338431115476210e-42), SC_(4.6118564190005330897869595414049876066367e-86) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-9.1355772835260834509508014349845863060127e-62), SC_(-3.0692917252098387956987850147064388275114e-30), SC_(3.0692917252098387956987850147064388275114e-30), SC_(9.1355772835260834509508014349845863060127e-62) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-1.3940343114621711735776838595076775971402e-52), SC_(-1.0312834710564025583027197020409685211717e-25), SC_(1.0312834710564025583027197020409685211717e-25), SC_(1.3940343114621711735776838595076775971402e-52) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-1.1688453367791440551585417035338009808077e-41), SC_(-2.4705890112013090284457721449881003363750e-20), SC_(2.4705890112013090284457721449881003363750e-20), SC_(1.1688453367791440551585417035338009808077e-41) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-1.2868434790457589692937453345866153980527e-37), SC_(-2.4071388526181527669217713089288822929713e-18), SC_(2.4071388526181527669217713089288822929713e-18), SC_(1.2868434790457589692937453345866153980527e-37) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-4.3229672693285451525228170345210392414228e-21), SC_(-3.1298045862531463841760210350208806817327e-10), SC_(3.1298045862531463841760210350208806817327e-10), SC_(4.3229672693285451525228170345210392414228e-21) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-4.4562636704628792376427675399717672910289e-21), SC_(-3.1766903691648257983586766658331441568267e-10), SC_(3.1766903691648257983586766658331441568267e-10), SC_(4.4562636704628792376427675399717672910289e-21) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-3.2346479009870589183542164615927611488452e-18), SC_(-7.9729535605424845117793606160971305559806e-09), SC_(7.9729535605424845117793606160971305559806e-09), SC_(3.2346479009870589183542164615927611488452e-18) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-4.1289774003468222582206751636505683191789e-14), SC_(-8.0429475385443523634332887337055106662076e-07), SC_(8.0429475385443523634332887337055106662076e-07), SC_(4.1289774003468222582206751636505683191789e-14) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-9.1415316376053811610605188263096620214376e-14), SC_(-1.1844189228614855564113286595587525323799e-06), SC_(1.1844189228614855564113286595587525323799e-06), SC_(9.1415316376053811610605188263096620214376e-14) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-1.1053165884517830915322313837387669341952e-12), SC_(-3.9826078874388788858765571992310369570428e-06), SC_(3.9826078874388788858765571992310369570428e-06), SC_(1.1053165884517830915322313837387669341952e-12) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-1.4107015523754051251054951704257776602280e-12), SC_(-4.4840921950766279638397095126750242298647e-06), SC_(4.4840921950766279638397095126750242298647e-06), SC_(1.4107015523754051251054951704257776602280e-12) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-5.3997132641489025134493571011278753871708e-12), SC_(-8.6084654187005212937644149952768399062271e-06), SC_(8.6084654187005212937644149952768399062271e-06), SC_(5.3997132641489025134493571011278753871708e-12) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-6.6776858370740065972688211987246861258105e-12), SC_(-9.5439851348719081181949639996489675645440e-06), SC_(9.5439851348719081181949639996489675645440e-06), SC_(6.6776858370740065972688211987246861258105e-12) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-7.2331983629686132953611804298357805515809e-12), SC_(-9.9216138030813975284752528193020956163251e-06), SC_(9.9216138030813975284752528193020956163251e-06), SC_(7.2331983629686132953611804298357805515809e-12) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-7.4777532355178131015019303751419725847885e-12), SC_(-1.0083110264285387907086452682007356166670e-05), SC_(1.0083110264285387907086452682007356166670e-05), SC_(7.4777532355178131015019303751419725847885e-12) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-1.4517872461971860989892983069714149139070e-11), SC_(-1.3914636683168701149535316033963709329246e-05), SC_(1.3914636683168701149535316033963709329246e-05), SC_(1.4517872461971860989892983069714149139070e-11) },
|
||||
{ SC_(-2.4929447174072265625000000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-1.5982986860759319188804833202924545073154e-11), SC_(-1.4579302461389581292709092414796317984275e-05), SC_(1.4579302461389581292709092414796317984275e-05), SC_(1.5982986860759319188804833202924545073154e-11) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-3.9369544755518106559445184530760007153326e-61), SC_(-1.5024613769372449030232839852511122968697e-116), SC_(1.5024613769372449030232839852511122968697e-116), SC_(3.9369544755518106559445184530760007153326e-61) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-7.8337632531911085072746202198381613597833e-47), SC_(-2.1199926917553863934147373143961749402977e-89), SC_(2.1199926917553863934147373143961749402977e-89), SC_(7.8337632531911085072746202198381613597833e-47) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-7.2456089195257820549321320818261944676187e-44), SC_(-9.1221713469225329524114216764644982550302e-84), SC_(9.1221713469225329524114216764644982550302e-84), SC_(7.2456089195257820549321320818261944676187e-44) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-2.0258159634802329767645874781881771453623e-31), SC_(-4.0934529607355802821644501103159011176841e-60), SC_(4.0934529607355802821644501103159011176841e-60), SC_(2.0258159634802329767645874781881771453623e-31) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-1.0169957928190736994472243750258053597484e-26), SC_(-3.5619052370623168534016931306630218020519e-51), SC_(3.5619052370623168534016931306630218020519e-51), SC_(1.0169957928190736994472243750258053597484e-26) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-3.9294130487966738547894871552723674435863e-21), SC_(-1.5302660781601027074980221368851632164972e-40), SC_(1.5302660781601027074980221368851632164972e-40), SC_(3.9294130487966738547894871552723674435863e-21) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-4.5698429160254703730358287288758865022394e-19), SC_(-1.3152112880463896451951868031682607901695e-36), SC_(1.3152112880463896451951868031682607901695e-36), SC_(4.5698429160254703730358287288758865022394e-19) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-1.2271468920266867422493646443989121264444e-10), SC_(-1.6018320630007401094266383030813815419742e-20), SC_(1.6018320630007401094266383030813815419742e-20), SC_(1.2271468920266867422493646443989121264444e-10) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-1.2462531073890081478652170686257957160589e-10), SC_(-1.6498836904443466049695406990605101417729e-20), SC_(1.6498836904443466049695406990605101417729e-20), SC_(1.2462531073890081478652170686257957160589e-10) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-3.5478291834995438504791478328561122976487e-09), SC_(-1.0040859901162693593795938612377161173382e-17), SC_(1.0040859901162693593795938612377161173382e-17), SC_(3.5478291834995438504791478328561122976487e-09) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-4.2901455915120381139812871653189896421403e-07), SC_(-9.9465331856967794651703524886691477775004e-14), SC_(9.9465331856967794651703524886691477775004e-14), SC_(4.2901455915120381139812871653189896421403e-07) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-6.4149425327868629109474025411474351750926e-07), SC_(-2.1556208668734525692768937732165166158411e-13), SC_(2.1556208668734525692768937732165166158411e-13), SC_(6.4149425327868629109474025411474351750926e-07) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-2.2629032582900103025996597523137177465153e-06), SC_(-2.4374005240438908591082027371386048377086e-12), SC_(2.4374005240438908591082027371386048377086e-12), SC_(2.2629032582900103025996597523137177465153e-06) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-2.5598317514350339241046840366348927457539e-06), SC_(-3.0904640901784868770398534843749201636381e-12), SC_(3.0904640901784868770398534843749201636381e-12), SC_(2.5598317514350339241046840366348927457539e-06) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-5.0429387989961656436646854993930413774264e-06), SC_(-1.1409371771672326275111441015036905175109e-11), SC_(1.1409371771672326275111441015036905175109e-11), SC_(5.0429387989961656436646854993930413774264e-06) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-5.6138968521922915997819731319885692032962e-06), SC_(-1.4029154874891244675988550184864002599364e-11), SC_(1.4029154874891244675988550184864002599364e-11), SC_(5.6138968521922915997819731319885692032962e-06) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-5.8450121479896082546955243168809134347761e-06), SC_(-1.5163547627040793593676824516352281932615e-11), SC_(1.5163547627040793593676824516352281932615e-11), SC_(5.8450121479896082546955243168809134347761e-06) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-5.9439584308730480657339045397316854942778e-06), SC_(-1.5662189149547481840723101450334673054023e-11), SC_(1.5662189149547481840723101450334673054023e-11), SC_(5.9439584308730480657339045397316854942778e-06) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-8.3081476448882081643255565918776884129230e-06), SC_(-2.9868864519272286768380743159075461601692e-11), SC_(2.9868864519272286768380743159075461601692e-11), SC_(8.3081476448882081643255565918776884129230e-06) },
|
||||
{ SC_(-2.2317276000976562500000000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-8.7211495374462413542617148685857493308416e-06), SC_(-3.2798049987738521888667879517949463315155e-11), SC_(3.2798049987738521888667879517949463315155e-11), SC_(8.7211495374462413542617148685857493308416e-06) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-5.8494336959278044988394095706674787975674e-05), SC_(-4.6055437626879395773256289819433261721987e-265), SC_(4.6055437626879395773256289819433261721987e-265), SC_(5.8494336959278044988394095706674787975674e-05) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-1.0976268053708212914650311649381955923231e-03), SC_(-1.7822335452815350797049432282680108850033e-203), SC_(1.7822335452815350797049432282680108850033e-203), SC_(1.0976268053708212914650311649381955923231e-03) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-2.0073544253589500404159602509388426086883e-03), SC_(-1.0806530386445497877873326691183792214675e-190), SC_(1.0806530386445497877873326691183792214675e-190), SC_(2.0073544253589500404159602509388426086883e-03) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-2.4621085832174173223994144434343177414204e-02), SC_(-5.1853281055101693504991272581285871074779e-137), SC_(5.1853281055101693504991272581285871074779e-137), SC_(2.4621085832174173223994144434343177414204e-02) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-6.2446979700738005739164705643221518359129e-02), SC_(-1.0326721545328129062465692301437461259191e-116), SC_(1.0326721545328129062465692301437461259191e-116), SC_(6.2446979700738005739164705643221518359129e-02) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-1.8527881424275369210751688096674170210736e-01), SC_(-1.4785366883604945420568720708619891561542e-92), SC_(1.4785366883604945420568720708619891561542e-92), SC_(1.8527881424275369210751688096674170210736e-01) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-2.7500070182825139309244488895212118741222e-01), SC_(-1.2935918465947925577578597155696221709205e-83), SC_(1.2935918465947925577578597155696221709205e-83), SC_(2.7500070182825139309244488895212118741222e-01) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-1.2811078194861053423365376845003410143274e+00), SC_(-5.2013556726604872031659754483456571786804e-47), SC_(5.2013556726604872031659754483457716131682e-47), SC_(1.2811078194861053423365376845003410143274e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-1.2825828478740302973793081855670872967570e+00), SC_(-5.5637993346500438279428730288074839103849e-47), SC_(5.5637993346500438279428730288076120315739e-47), SC_(1.2825828478740302973793081855670872967570e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-1.6383078518872602989442802028745517183363e+00), SC_(-1.2410826013571970827231621521475534261802e-40), SC_(1.2410826013571970827231621527179536280028e-40), SC_(1.6383078518872602989442802028745517183363e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-2.2776890775132021544820908457366304210100e+00), SC_(-1.6493991263751257364047557462018576174585e-31), SC_(1.6493991263751257364059204749389692998532e-31), SC_(2.2776890775132021544820908457366304210100e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-2.3379945776889911071590261109415384936838e+00), SC_(-9.6642070120566698061916213004665779378151e-31), SC_(9.6642070120566698062142783907875848040169e-31), SC_(2.3379945776889911071590261109415384936838e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-2.5325398022587643030133123168676934169390e+00), SC_(-2.4786350254104575681857554948156169524587e-28), SC_(2.4786350254104575684368884113734661231138e-28), SC_(2.5325398022587643030133123168676934169390e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-2.5519756763974216184170986078353870960351e+00), SC_(-4.2667793738640490369034499776911657704886e-28), SC_(4.2667793738640490375286290346297096431915e-28), SC_(2.5519756763974216184170986078353870960351e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-2.6599525992446178590756635887999859874782e+00), SC_(-8.4783758364224524192943641198908976876456e-27), SC_(8.4783758364224524287598621733814115085084e-27), SC_(2.6599525992446178590756635887999859874782e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-2.6771843875082966964693883394338479885036e+00), SC_(-1.3608902621691167754887248100705069938792e-26), SC_(1.3608902621691167775842648254792907337786e-26), SC_(2.6771843875082966964693883394338479885036e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-2.6836755066081749465109071200173024278369e+00), SC_(-1.6260566276776162314914823159645116490325e-26), SC_(1.6260566276776162343172977941603357836400e-26), SC_(2.6836755066081749465109071200173024278369e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-2.6863779006629385438066719057199113475031e+00), SC_(-1.7510826986806160132623118543073062400508e-26), SC_(1.7510826986806160164625030669841548107750e-26), SC_(2.6863779006629385438066719057199113475031e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-2.7404558848731331416896657152589332643869e+00), SC_(-7.6786971486163099519080988093607387678187e-26), SC_(7.6786971486163099902300651744652946260884e-26), SC_(2.7404558848731331416896657152589332643869e+00) },
|
||||
{ SC_(-1.7720141410827636718750000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-2.7483154510808494875591999333736625860286e+00), SC_(-9.5133693786194709323733397371700872108393e-26), SC_(9.5133693786194709872941270890892693912464e-26), SC_(2.7483154510808494875591999333736625860286e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-2.0910989959234630411850768636608104004209e+01), SC_(5.1649890439000093667458793528048112120415e-333), SC_(5.1649890439000093667458793528048801217151e-333), SC_(2.0910989959234630411850768636608104004209e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-2.0229915446423363161449360835880566190621e+01), SC_(1.1413823241895772054938862383588076661904e-255), SC_(1.1413823241895772054938866786624151795107e-255), SC_(2.0229915446423363161449360835880566190621e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-1.9991598266453797476723764816902105373830e+01), SC_(1.2913825831013363340956256885843578901568e-239), SC_(1.2913825831013363340956433170812593005238e-239), SC_(1.9991598266453797476723764816902105373830e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-1.8478805254981924051266239592271147786142e+01), SC_(3.4003529124406607007091060280064085440324e-172), SC_(3.4003529124406608494951629348303102452919e-172), SC_(1.8478805254981924051266239592271147786142e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-1.7624503785242225723428784156045117630893e+01), SC_(1.0669100336777835288091220077543039692030e-146), SC_(1.0669100336777970262021605625512552972018e-146), SC_(1.7624503785242225723428784156045117630893e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-1.6322373672042287724106942632295847076089e+01), SC_(2.3504548330122026241252051091984145009669e-116), SC_(2.3504548330374966863402743325782352879115e-116), SC_(1.6322373672042287724106942632295847076089e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-1.5741300673767465488082991930691015901729e+01), SC_(4.0210033162127899411798972946619550463255e-105), SC_(4.0210033167389762317272255953722054080642e-105), SC_(1.5741300673767465488082991930691015901729e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-1.2532894522810517594102854000625209274047e+01), SC_(3.9508084628795997802131349539240894471013e-59), SC_(3.9508228813144676823313482254435932711772e-59), SC_(1.2532894522810517594102854000625209274047e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-1.2529599891776835408714387845361449681020e+01), SC_(4.2998464688956767271678745652821869922709e-59), SC_(4.2998622901976968525954267128275393674812e-59), SC_(1.2529599891776835408714387845361449681020e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-1.1775435816887856225441581359809178359920e+01), SC_(4.0981317988405697117629704353373480875410e-51), SC_(4.0982210374227769414066226694839457838791e-51), SC_(1.1775435816887856225441581359809178359920e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-1.0527913326578438179887541165009961571747e+01), SC_(1.2081612297634261125103036390361530081548e-39), SC_(1.2085009022207944118275019415252006610454e-39), SC_(1.0527913326578438179887541165009961571747e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-1.0412143430785756018889364436930887873359e+01), SC_(1.1157797849581505394923752965848637644160e-38), SC_(1.1161689281436758807171367675642776654767e-38), SC_(1.0412143430785756018889364436930887873359e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-1.0035996450687491743991938289799856609221e+01), SC_(1.1935175403954522458278923800624138395029e-35), SC_(1.1943362821142320239184108903270379980502e-35), SC_(1.0035996450687491743991938289799856609221e+01) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-9.9980521531318887469130958539583529744871e+00), SC_(2.3629945362725923099590576877991904561943e-35), SC_(2.3647265865219386934201091365456271555435e-35), SC_(9.9980521531318887469130958539583529744871e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-9.7854309289713613409282915528683788612630e+00), SC_(1.0140326208911496646811636929604284552383e-33), SC_(1.0151031220609244977980060486302961187851e-33), SC_(9.7854309289713613409282915528683788612630e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-9.7511656331855239641457959413655393274576e+00), SC_(1.8386717667072487779740346482735401028263e-33), SC_(1.8407282659414304646299140318262424500781e-33), SC_(9.7511656331855239641457959413655393274576e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-9.7382309594899592364666295203052710940725e+00), SC_(2.3000327320660759174901777030273571975503e-33), SC_(2.3026617735961728638821560124263965345780e-33), SC_(9.7382309594899592364666295203052710940725e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-9.7328414832945401656540477981502920458097e+00), SC_(2.5246024450567800626859689966695759052360e-33), SC_(2.5275143975342440954120230492041715658766e-33), SC_(9.7328414832945401656540477981502920458097e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-9.6244021165978106730056107014393004867292e+00), SC_(1.6202271386463886174230891797777074605881e-32), SC_(1.6224656608283760981258410222910686221223e-32), SC_(9.6244021165978106730056107014393004867292e+00) },
|
||||
{ SC_(-1.5346636772155761718750000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-9.6085424541354885690114475020305372539125e+00), SC_(2.1212782874194525299375965096088644571516e-32), SC_(2.1242867698355609746022255535564523987285e-32), SC_(9.6085424541354885690114475020305372539125e+00) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.7540393471717834472656250000000000000000e-04), SC_(7.3238310791477491181239944843479048776381e-202), SC_(3.7123192846757903928336387265340649053411e-19), SC_(3.7123192846757903928336387265340649053411e-19), SC_(7.3238310791477491181239944843479048776381e-202) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.2698681093752384185791015625000000000000e-03), SC_(6.2648669020625281187985045329837216256362e-155), SC_(1.3651338062906082577574598141893972985350e-14), SC_(1.3651338062906082577574598141893972985350e-14), SC_(6.2648669020625281187985045329837216256362e-155) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.3547698035836219787597656250000000000000e-03), SC_(3.4460452065046344351273189140648447772688e-145), SC_(1.2043827356132338085577316039959707426636e-13), SC_(1.2043827356132338085577316039959707426636e-13), SC_(3.4460452065046344351273189140648447772688e-145) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(1.8838196992874145507812500000000000000000e-03), SC_(2.7492812388099401520223643033280829552883e-104), SC_(1.0968410323609394734239862244450401677968e-09), SC_(1.0968410323609394734239862244450401677968e-09), SC_(2.7492812388099401520223643033280829552883e-104) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(2.2103404626250267028808593750000000000000e-03), SC_(8.0207215098122251363351409025692180964705e-89), SC_(3.3907254811203045734635327654527110380159e-08), SC_(3.3907254811203045734635327654527110380159e-08), SC_(8.0207215098122251363351409025692180964705e-89) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(2.7849823236465454101562500000000000000000e-03), SC_(2.0198669945757426666268034551156135205221e-70), SC_(1.9739973993202588098213710602915240238757e-06), SC_(1.9739973993202588098213710602915240238757e-06), SC_(2.0198669945757426666268034551156135205221e-70) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(3.0816700309514999389648437500000000000000e-03), SC_(1.3067548207377777439852590425790123304429e-63), SC_(8.8222615402170340990764797653771915885880e-06), SC_(8.8222615402170340990764797653771915885880e-06), SC_(1.3067548207377777439852590425790123304429e-63) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(5.4688137024641036987304687500000000000000e-03), SC_(9.7402573368921593956915967314574288135233e-36), SC_(3.7614968924212621954781126570459999630250e-03), SC_(3.7614968924212621954781126570459999630250e-03), SC_(9.7402573368921593956915967314574288135233e-36) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(5.4722055792808532714843750000000000000000e-03), SC_(1.0252700012623552010114565570438427313640e-35), SC_(3.7794623246391952662962691693552452821433e-03), SC_(3.7794623246391952662962691693552452821433e-03), SC_(1.0252700012623552010114565570438427313640e-35) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(6.3235927373170852661132812500000000000000e-03), SC_(6.9586196293371156451496581241790605505700e-31), SC_(1.0579350311956922377148290024084055339132e-02), SC_(1.0579350311956922377148290024084055339132e-02), SC_(6.9586196293371156451496581241790605505700e-31) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(8.1472359597682952880859375000000000000000e-03), SC_(6.0804387650702682811402916637021975951427e-24), SC_(4.5472010324648003975295109130329853514865e-02), SC_(4.5472010324648003975295109130329853514865e-02), SC_(6.0804387650702682811402916637021975951440e-24) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(8.3500854671001434326171875000000000000000e-03), SC_(2.3332375030943869473254924129197413378673e-23), SC_(5.1331674098749817053418749122219843362709e-02), SC_(5.1331674098749817053418749122219843362709e-02), SC_(2.3332375030943869473254924129197413378719e-23) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.0579167008399963378906250000000000000000e-03), SC_(1.5851731138307916024987742727368600828434e-21), SC_(7.4937374873142012893508363879421912505181e-02), SC_(7.4937374873142012893508363879421912505181e-02), SC_(1.5851731138307916024987742727368600862816e-21) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.1337561607360839843750000000000000000000e-03), SC_(2.3958179244494374086496426670343293632867e-21), SC_(7.7752282634744415771232246846122744024983e-02), SC_(7.7752282634744415771232246846122744024983e-02), SC_(2.3958179244494374086496426670343293736220e-21) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.5750652253627777099609375000000000000000e-03), SC_(2.3259083119186850184338950402218282880499e-20), SC_(9.5189617940647481341903810495970514169078e-02), SC_(9.5189617940647481341903810495970514169078e-02), SC_(2.3259083119186850184338950402218287299203e-20) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.6488818526268005371093750000000000000000e-03), SC_(3.3331004509641313792721367634507783790119e-20), SC_(9.8278483574667329815154278076396542413714e-02), SC_(9.8278483574667329815154278076396542413714e-02), SC_(3.3331004509641313792721367634507795320163e-20) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.6769481897354125976562500000000000000000e-03), SC_(3.8161961055868720233060235669326639209366e-20), SC_(9.9465570012406649463615731832331438860234e-02), SC_(9.9465570012406649463615731832331438860234e-02), SC_(3.8161961055868720233060235669326655749321e-20) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.6886754035949707031250000000000000000000e-03), SC_(4.0372979472356214164566010038290315120200e-20), SC_(9.9963634331827556694962720779053127247103e-02), SC_(9.9963634331827556694962720779053127247103e-02), SC_(4.0372979472356214164566010038290334339681e-20) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.9288113415241241455078125000000000000000e-03), SC_(1.2421752027843772626679694575319666549598e-19), SC_(1.1042491468243943568021805673266767179271e-01), SC_(1.1042491468243943568021805673266767179271e-01), SC_(1.2421752027843772626679694575319705012406e-19) },
|
||||
{ SC_(3.7505197525024414062500000000000000000000e-01), SC_(9.9646113812923431396484375000000000000000e-03), SC_(1.4619175005710964074080554394211399099921e-19), SC_(1.1202676648334374885280137136400866364600e-01), SC_(1.1202676648334374885280137136400866364600e-01), SC_(1.4619175005710964074080554394211458482451e-19) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.7540393471717834472656250000000000000000e-04), SC_(6.0692814643925295690117065666866354616978e-201), SC_(1.9064008534478708028659867576903487021136e-19), SC_(1.9064008534478708028659867576903487021136e-19), SC_(6.0692814643925295690117065666866354616978e-201) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.2698681093752384185791015625000000000000e-03), SC_(3.1794154560583687055856319919960884568884e-154), SC_(8.1819917695969850760036522509753778753966e-15), SC_(8.1819917695969850760036522509753778753966e-15), SC_(3.1794154560583687055856319919960884568884e-154) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.3547698035836219787597656250000000000000e-03), SC_(1.5796019627047681062473185161136226146002e-144), SC_(7.4538493241316865156273810953526918933635e-14), SC_(7.4538493241316865156273810953526918933635e-14), SC_(1.5796019627047681062473185161136226146002e-144) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(1.8838196992874145507812500000000000000000e-03), SC_(8.2176505639250501828071243600106940012222e-104), SC_(7.7675148160955110218188767137498767298107e-10), SC_(7.7675148160955110218188767137498767298107e-10), SC_(8.2176505639250501828071243600106940012222e-104) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(2.2103404626250267028808593750000000000000e-03), SC_(2.0393645898297263768727626405356342071877e-88), SC_(2.5267903830500762400322322241314293625096e-08), SC_(2.5267903830500762400322322241314293625096e-08), SC_(2.0393645898297263768727626405356342071877e-88) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(2.7849823236465454101562500000000000000000e-03), SC_(4.2362355034855019549113619121930716526139e-70), SC_(1.5630651796545927100477259516257333865906e-06), SC_(1.5630651796545927100477259516257333865906e-06), SC_(4.2362355034855019549113619121930716526139e-70) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(3.0816700309514999389648437500000000000000e-03), SC_(2.5520188797295515095210405318266699616909e-63), SC_(7.1444661964406484210530688990967913360122e-06), SC_(7.1444661964406484210530688990967913360122e-06), SC_(2.5520188797295515095210405318266699616909e-63) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(5.4688137024641036987304687500000000000000e-03), SC_(1.4202793496445721914430673067290552161829e-35), SC_(3.3399387356111582094394952325564359719234e-03), SC_(3.3399387356111582094394952325564359719234e-03), SC_(1.4202793496445721914430673067290552161829e-35) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(5.4722055792808532714843750000000000000000e-03), SC_(1.4946519068195306406394922536350420358550e-35), SC_(3.3561380073772493501200853196904905278304e-03), SC_(3.3561380073772493501200853196904905278304e-03), SC_(1.4946519068195306406394922536350420358550e-35) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(6.3235927373170852661132812500000000000000e-03), SC_(9.6423890288666440143798447190312889024808e-31), SC_(9.5458525153659480402670829124238033187673e-03), SC_(9.5458525153659480402670829124238033187673e-03), SC_(9.6423890288666440143798447190312889024808e-31) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(8.1472359597682952880859375000000000000000e-03), SC_(7.8322680362739217044020716379014161608090e-24), SC_(4.1984875085729684382458039984433632843940e-02), SC_(4.1984875085729684382458039984433632843940e-02), SC_(7.8322680362739217044020716379014161608099e-24) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(8.3500854671001434326171875000000000000000e-03), SC_(2.9870361604268213042902137455794081018554e-23), SC_(4.7487130387108099734507995301318092952715e-02), SC_(4.7487130387108099734507995301318092952715e-02), SC_(2.9870361604268213042902137455794081018584e-23) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.0579167008399963378906250000000000000000e-03), SC_(1.9905574212050610851642898722982304317584e-21), SC_(6.9747881020101484906294575529809269467536e-02), SC_(6.9747881020101484906294575529809269467536e-02), SC_(1.9905574212050610851642898722982304341303e-21) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.1337561607360839843750000000000000000000e-03), SC_(3.0028293473163387308983809147369355860503e-21), SC_(7.2410989201324397024028394516906758876918e-02), SC_(7.2410989201324397024028394516906758876918e-02), SC_(3.0028293473163387308983809147369355932023e-21) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.5750652253627777099609375000000000000000e-03), SC_(2.8850219998555167450037176235425767979834e-20), SC_(8.8941710701387287476084733202047853832038e-02), SC_(8.8941710701387287476084733202047853832038e-02), SC_(2.8850219998555167450037176235425771089904e-20) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.6488818526268005371093750000000000000000e-03), SC_(4.1275202001535401554431651844253415806709e-20), SC_(9.1875539652811867351728689469842962629671e-02), SC_(9.1875539652811867351728689469842962629671e-02), SC_(4.1275202001535401554431651844253423943874e-20) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.6769481897354125976562500000000000000000e-03), SC_(4.7228289869659531477772595203991613060555e-20), SC_(9.3003456922742819834371297400345080022615e-02), SC_(9.3003456922742819834371297400345080022615e-02), SC_(4.7228289869659531477772595203991624745197e-20) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.6886754035949707031250000000000000000000e-03), SC_(4.9951701722305876488602103323741261307800e-20), SC_(9.3476763001430204376245482159123665070860e-02), SC_(9.3476763001430204376245482159123665070860e-02), SC_(4.9951701722305876488602103323741274891104e-20) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.9288113415241241455078125000000000000000e-03), SC_(1.5289952584083580249894321327129326644704e-19), SC_(1.0342688241115083779669457203101137968057e-01), SC_(1.0342688241115083779669457203101137968057e-01), SC_(1.5289952584083580249894321327129354057317e-19) },
|
||||
{ SC_(3.7776470184326171875000000000000000000000e-01), SC_(9.9646113812923431396484375000000000000000e-03), SC_(1.7981337871678406841642492453043897366803e-19), SC_(1.0495190269634074607073834037653829402006e-01), SC_(1.0495190269634074607073834037653829402006e-01), SC_(1.7981337871678406841642492453043939740522e-19) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(2.3122941919600886792668249687782875593639e-36), SC_(3.9812916097167231467626496469672188351153e-158), SC_(3.9812916097167231467626496469672188351153e-158), SC_(2.3122941919600886792668249687782875593639e-36) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(8.3043378913549558783327261855825175673694e-28), SC_(2.4581759695725395860704538164555741804867e-121), SC_(2.4581759695725395860704538164555741804867e-121), SC_(8.3043378913549558783327261855825175673694e-28) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(4.9330557913828619113126518326228874830219e-26), SC_(1.0610790113032433952325963425990996407485e-113), SC_(1.0610790113032433952325963425990996407485e-113), SC_(4.9330557913828619113126518326228874830219e-26) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(1.3534089925860414960872761958746843614471e-18), SC_(1.2147028817354921634965184502548621263422e-81), SC_(1.2147028817354921634965184502548621263422e-81), SC_(1.3534089925860414960872761958746843614471e-18) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(8.6618505751854067011228322278502408794112e-16), SC_(1.6003423354357394787081516501276202393955e-69), SC_(1.6003423354357394787081516501276202393955e-69), SC_(8.6618505751854067011228322278502408794112e-16) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(1.8591206240373062404351231906175937175363e-12), SC_(4.1979695685488647639132833584424834635570e-55), SC_(4.1979695685488647639132833584424834635570e-55), SC_(1.8591206240373062404351231906175937175363e-12) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(3.1600771091632093716325805824627626327794e-11), SC_(9.1032787069884175313568790067294385978387e-50), SC_(9.1032787069884175313568790067294385978387e-50), SC_(3.1600771091632093716325805824627626327794e-11) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(3.2107945970045853632326387592959033404933e-06), SC_(6.1529955805001741480990400756537162058948e-28), SC_(6.1529955805001741480990400756537162058948e-28), SC_(3.2107945970045853632326387592959033404933e-06) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(3.2402906005997394529674791599251187032631e-06), SC_(6.4050035094242889237399711811239245556878e-28), SC_(6.4050035094242889237399711811239245556878e-28), SC_(3.2402906005997394529674791599251187032631e-06) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(2.3470520927363113215746607541003824432805e-05), SC_(3.8781093957862794979225171162556810171291e-24), SC_(3.8781093957862794979225171162556810171291e-24), SC_(2.3470520927363113215746607541003824432805e-05) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(3.9614472780885540462985426813052361235849e-04), SC_(1.0471616980474839840593473747355829181362e-18), SC_(1.0471616980474839840593473747355829181362e-18), SC_(3.9614472780885540462985426813052361235849e-04) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(5.0180650358102531670656913320122830288902e-04), SC_(2.9980382018223608706347573031310681469267e-18), SC_(2.9980382018223608706347573031310681469267e-18), SC_(5.0180650358102531670656913320122830288902e-04) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(1.0517416379650347583615445393822316460396e-03), SC_(8.1230931927768766430582570524521038460890e-17), SC_(8.1230931927768766430582570524521038460890e-17), SC_(1.0517416379650347583615445393822316460396e-03) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(1.1305970101088376249464991388033556063093e-03), SC_(1.1220013951751066356866447663395099018142e-16), SC_(1.1220013951751066356866447663395099018142e-16), SC_(1.1305970101088376249464991388033556063093e-03) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(1.6821673036011417865016710333038951356452e-03), SC_(6.6354408871901199560830496840394663373192e-16), SC_(6.6354408871901199560830496840394663373192e-16), SC_(1.6821673036011417865016710333038951356452e-03) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(1.7912114156459653463462933985057797054651e-03), SC_(8.7910649297744933910722095249899739202058e-16), SC_(8.7910649297744933910722095249899739202058e-16), SC_(1.7912114156459653463462933985057797054651e-03) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(1.8340271226762282567673502906077916311400e-03), SC_(9.7723914074463439416765993010049761685257e-16), SC_(9.7723914074463439416765993010049761685257e-16), SC_(1.8340271226762282567673502906077916311400e-03) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(1.8521415710776509601744233375005491081259e-03), SC_(1.0212335174261001309895740201648123466957e-15), SC_(1.0212335174261001309895740201648123466957e-15), SC_(1.8521415710776509601744233375005491081259e-03) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(2.2531651559259363080354669298412020306923e-03), SC_(2.4588177795882791290373470666525460224849e-15), SC_(2.4588177795882791290373470666525460224849e-15), SC_(2.2531651559259363080354669298412020306923e-03) },
|
||||
{ SC_(1.0588741302490234375000000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(2.3180373695415124838779716112744157043625e-03), SC_(2.7927372964936536599938861422827776642204e-15), SC_(2.7927372964936536599938861422827776642204e-15), SC_(2.3180373695415124838779716112744157043625e-03) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(2.5476150428227392678715305000134335925798e-126), SC_(-2.2665036971062929857910288868782468762517e-54), SC_(2.2665036971062929857910288868782468762517e-54), SC_(2.5476150428227392678715305000134335925798e-126) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(6.6273936815595041723580460412384205376225e-97), SC_(-1.2206021225526338494688243646961895694975e-41), SC_(1.2206021225526338494688243646961895694975e-41), SC_(6.6273936815595041723580460412384205376225e-97) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(8.4223808184691039240652991216852615859555e-91), SC_(-5.3366008819742803647180852022429973446853e-39), SC_(5.3366008819742803647180852022429973446853e-39), SC_(8.4223808184691039240652991216852615859555e-91) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(3.5730058960436658723344035044736946009492e-65), SC_(-6.4105231321093486481718984007414544003942e-28), SC_(6.4105231321093486481718984007414544003942e-28), SC_(3.5730058960436658723344035044736946009492e-65) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(1.7376858729306831061605956755227887396677e-55), SC_(-9.7844091562993724293968445774053537076413e-24), SC_(9.7844091562993724293968445774053537076413e-24), SC_(1.7376858729306831061605956755227887396677e-55) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(5.7905083267633958779772477635279396276938e-44), SC_(-9.1621766066380866442106789589881214946978e-19), SC_(9.1621766066380866442106789589881214946978e-19), SC_(5.7905083267633958779772477635279396276938e-44) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(1.0626813835613392870997879802990912171947e-39), SC_(-6.3041245086943347411730086982129302552737e-17), SC_(6.3041245086943347411730086982129302552737e-17), SC_(1.0626813835613392870997879802990912171947e-39) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(2.8969753795010521179721781592201454570874e-22), SC_(-1.9707349123022683160971835266509408314260e-09), SC_(1.9707349123022683160971835266509408314260e-09), SC_(2.8969753795010521179721781592201454570874e-22) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(2.9913093219650172248641405914923897050862e-22), SC_(-1.9979773260764812412802241586505300817976e-09), SC_(1.9979773260764812412802241586505300817976e-09), SC_(2.9913093219650172248641405914923897050862e-22) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(3.1236399234905887034712789411310349132369e-19), SC_(-3.9148217131515580521143995609735832600497e-08), SC_(3.9148217131515580521143995609735832600497e-08), SC_(3.1236399234905887034712789411310349132369e-19) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(6.7283252871939885977633660945857990701516e-15), SC_(-2.7657739272617288977774577745378453487523e-06), SC_(2.7657739272617288977774577745378453487523e-06), SC_(6.7283252871939885977633660945857990701516e-15) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(1.5567713891071657203220261129057963781172e-14), SC_(-3.9525368056477915583674736993267726210776e-06), SC_(3.9525368056477915583674736993267726210776e-06), SC_(1.5567713891071657203220261129057963781172e-14) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(2.1615735020381152854845438308977430707572e-13), SC_(-1.2095931572266664451418193816767960840363e-05), SC_(1.2095931572266664451418193816767960840363e-05), SC_(2.1615735020381152854845438308977430707572e-13) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(2.7964244127369678662061851260779436648647e-13), SC_(-1.3493985606122761739468459135596061251000e-05), SC_(1.3493985606122761739468459135596061251000e-05), SC_(2.7964244127369678662061851260779436648647e-13) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(1.1532720077574773465063271474181765447387e-12), SC_(-2.4622902664546617053736553907009954233835e-05), SC_(2.4622902664546617053736553907009954233835e-05), SC_(1.1532720077574773465063271474181765447387e-12) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(1.4431653059317871364857346065117732660950e-12), SC_(-2.7080181648379894671860218449897559092660e-05), SC_(2.7080181648379894671860218449897559092660e-05), SC_(1.4431653059317871364857346065117732660950e-12) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(1.5701823449930989932433044261876197007745e-12), SC_(-2.8066645851516129045594312456678147568843e-05), SC_(2.8066645851516129045594312456678147568843e-05), SC_(1.5701823449930989932433044261876197007745e-12) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(1.6262743126230709615372563672796884085717e-12), SC_(-2.8487614547731800206099418303318531991248e-05), SC_(2.8487614547731800206099418303318531991248e-05), SC_(1.6262743126230709615372563672796884085717e-12) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(3.2760505314173501936377728744207077125807e-12), SC_(-3.8337533485508570958702302872136828123512e-05), SC_(3.8337533485508570958702302872136828123512e-05), SC_(3.2760505314173501936377728744207077125807e-12) },
|
||||
{ SC_(2.5177888870239257812500000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(3.6260053284189544593120969012851263888804e-12), SC_(-4.0022821308506040669775564295481895798215e-05), SC_(4.0022821308506040669775564295481895798215e-05), SC_(3.6260053284189544593120969012851263888804e-12) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(1.2993161342679565061622949864800878928760e-173), SC_(-2.0750769397921058831474517842953742811777e-29), SC_(2.0750769397921058831474517842953742811777e-29), SC_(1.2993161342679565061622949864800878928760e-173) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(3.1286462824717683344987219538152696990815e-133), SC_(-1.8196897880700531825333559222330856835734e-22), SC_(1.8196897880700531825333559222330856835734e-22), SC_(3.1286462824717683344987219538152696990815e-133) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(7.5153941331530805728905729948144468271485e-125), SC_(-5.0016581041629485865497513919250208757916e-21), SC_(5.0016581041629485865497513919250208757916e-21), SC_(7.5153941331530805728905729948144468271485e-125) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(1.1640477355864833364080724508288902656910e-89), SC_(-5.3894934921752602430788668784365687522654e-15), SC_(5.3894934921752602430788668784365687522654e-15), SC_(1.1640477355864833364080724508288902656910e-89) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(2.3455244521242777107939125524821917463612e-76), SC_(-1.0136894336221967888299481901422099364795e-12), SC_(1.0136894336221967888299481901422099364795e-12), SC_(2.3455244521242777107939125524821917463612e-76) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(1.5818320742615230335414950351270469848574e-60), SC_(-5.0641028732247261924161882323150237606725e-10), SC_(5.0641028732247261924161882323150237606725e-10), SC_(1.5818320742615230335414950351270469848574e-60) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(1.1415705087508329211048178255190615626266e-54), SC_(-5.0170022528083452547679969687797657726995e-09), SC_(5.0170022528083452547679969687797657726995e-09), SC_(1.1415705087508329211048178255190615626266e-54) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(1.0641117345033440878872531716821892403120e-30), SC_(-5.5812391221795155665776284238615354563421e-05), SC_(5.5812391221795155665776284238615354563421e-05), SC_(1.0641117345033440878872531716821892403120e-30) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(1.1120698163671566480173986732459741837389e-30), SC_(-5.6225509025559091093174902381725600278735e-05), SC_(5.6225509025559091093174902381725600278735e-05), SC_(1.1120698163671566480173986732459741837389e-30) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(1.5844624741690305079173473541291644635430e-26), SC_(-2.7733861586284890885263690398424536260163e-04), SC_(2.7733861586284890885263690398424536260163e-04), SC_(1.5844624741690305079173473541291644635430e-26) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(1.4654155515704986511175001114250123703574e-20), SC_(-2.6932728498399941283259872126637594248093e-03), SC_(2.6932728498399941283259872126637594248093e-03), SC_(1.4654155515704986511175001114250123703574e-20) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(4.6539843003405515264248742272793607815551e-20), SC_(-3.2564209058601638967995130816176312463602e-03), SC_(3.2564209058601638967995130816176312463602e-03), SC_(4.6539843003405515264248742272793607815551e-20) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(1.7461217253962078005871721626287661405025e-18), SC_(-5.8971691574328227797480110696208148177942e-03), SC_(5.8971691574328227797480110696208148177942e-03), SC_(1.7461217253962078005871721626287661405025e-18) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(2.4899652906053706469483648528888801624252e-18), SC_(-6.2492148097843837167926572288936815160354e-03), SC_(6.2492148097843837167926572288936815160354e-03), SC_(2.4899652906053706469483648528888801624252e-18) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(1.7550615207081695430943995874171375117099e-17), SC_(-8.5933917826207685293776513702927811161923e-03), SC_(8.5933917826207685293776513702927811161923e-03), SC_(1.7550615207081695430943995874171375117099e-17) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(2.3907433336397378547150570412028081496986e-17), SC_(-9.0369861462957829235654876306024236900746e-03), SC_(9.0369861462957829235654876306024236900746e-03), SC_(2.3907433336397378547150570412028081496986e-17) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(2.6855473209726364445581516602760124967880e-17), SC_(-9.2096674356648869974491261054837146377425e-03), SC_(9.2096674356648869974491261054837146377425e-03), SC_(2.6855473209726364445581516602760124967881e-17) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(2.8186841841471986392027866851133015766278e-17), SC_(-9.2824811499839181622940662964440256573081e-03), SC_(9.2824811499839181622940662964440256573081e-03), SC_(2.8186841841471986392027866851133015766279e-17) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(7.4021046234758446051346304774679659185348e-17), SC_(-1.0860582749498234023329828110304562715346e-02), SC_(1.0860582749498234023329828110304562715346e-02), SC_(7.4021046234758446051346304774679659185354e-17) },
|
||||
{ SC_(2.6800680160522460937500000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(8.5138269193839086635202104592147927352018e-17), SC_(-1.1110318091962087391854291468294230373426e-02), SC_(1.1110318091962087391854291468294230373426e-02), SC_(8.5138269193839086635202104592147927352028e-17) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-7.7879107787424887377630721042418950411500e-304), SC_(-8.9235007427925185697730055539532575883895e-01), SC_(8.9235007427925185697730055539532575883895e-01), SC_(7.7879107787424887377630721042418950411500e-304) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-2.9494571077971945074311899544727419484513e-233), SC_(-1.7939106280040397947526118582400704162530e+00), SC_(1.7939106280040397947526118582400704162530e+00), SC_(2.9494571077971945074311899544727419484513e-233) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-1.3146645425833625008209050519274483749306e-218), SC_(-2.0634495733188405009902222776384947797531e+00), SC_(2.0634495733188405009902222776384947797531e+00), SC_(1.3146645425833625008209050519274483749306e-218) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-4.3600082992602925885409195347997181747915e-157), SC_(-3.6090977702187997464624180615209958274309e+00), SC_(3.6090977702187997464624180615209958274309e+00), SC_(4.3600082992602925885409195347997181747915e-157) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-8.0219401389878722949112436947291625321476e-134), SC_(-4.3814591847708833597692458252508426765742e+00), SC_(4.3814591847708833597692458252508426765742e+00), SC_(8.0219401389878722949112436947291625321477e-134) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-3.8948530002701842002124820076323792898146e-106), SC_(-5.4077282492303881944754587478647270207831e+00), SC_(5.4077282492303881944754587478647270207831e+00), SC_(3.8948530002701842002124820076323960447404e-106) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-6.9152353153924541990820655781188156084883e-96), SC_(-5.8004522248414584101919288562748523263134e+00), SC_(5.8004522248414584101919288562748523263134e+00), SC_(6.9152353153924541990820655781603597200805e-96) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-6.3221468429649415094070649839228474758770e-54), SC_(-7.1405270346833606874050521934554959549334e+00), SC_(7.1405270346833606874050521934554959549334e+00), SC_(6.3221468429649418018883453155846831083903e-54) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-6.8297658649194119409729013442280899108918e-54), SC_(-7.1411396373340116929497824813813185257163e+00), SC_(7.1411396373340116929497824813813185257163e+00), SC_(6.8297658649194122645298999732429958917624e-54) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-1.2980879126349778601096067286402278735308e-46), SC_(-7.2390486012926846199735838169300073550249e+00), SC_(7.2390486012926846199735838169300073550249e+00), SC_(1.2980879126349885076233983912944656744120e-46) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-3.7625174336785168247895364350098527052790e-36), SC_(-7.2167606867289564274500896240084471868698e+00), SC_(7.2167606867289564274500896240084471868698e+00), SC_(3.7625174337297755451123776082916533853149e-36) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-2.8581424461468046298858341917876998871971e-35), SC_(-7.2031791196635683191380837924865443023025e+00), SC_(7.2031791196635683191380837924865443023025e+00), SC_(2.8581424462195236335725949156747991479529e-35) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-1.6559817071255046217481888171142874608284e-32), SC_(-7.1457698101842832769128330089089501739798e+00), SC_(7.1457698101842832769128330089089501739798e+00), SC_(1.6559817074247628996670372524100101427018e-32) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-3.0875239071999645114497749325857428718907e-32), SC_(-7.1388579265392401519030758133769124395432e+00), SC_(7.1388579265392401519030758133769124395432e+00), SC_(3.0875239078760454559824955315255413965602e-32) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-9.5204071710934058417644724486141255328765e-31), SC_(-7.0963587389182888392680475924713097150903e+00), SC_(7.0963587389182888392680475924713097150903e+00), SC_(9.5204071770930285622110950962999859953989e-31) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-1.6382566497559642977781029505879743617061e-30), SC_(-7.0889137615343603248991425981660589271531e+00), SC_(7.0889137615343603248991425981660589271531e+00), SC_(1.6382566509764703688229927854486145092412e-30) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-2.0093804345415882011603391776650132430939e-30), SC_(-7.0860605413409204466070338489930881180753e+00), SC_(7.0860605413409204466070338489930881180753e+00), SC_(2.0093804361358770490462818940570566883696e-30) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-2.1875778085938991145486880262017637408089e-30), SC_(-7.0848647681954371371822013205107153969338e+00), SC_(7.0848647681954371371822013205107153969338e+00), SC_(2.1875778103756541470252948843713330146402e-30) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-1.1922017278929563891526274706296560766950e-29), SC_(-7.0599412650269020882054638861952760558921e+00), SC_(7.0599412650269020882054638861952760558921e+00), SC_(1.1922017295310628476735381595125418346789e-29) },
|
||||
{ SC_(3.2463350296020507812500000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-1.5243370553959434898482274437638781436135e-29), SC_(-7.0561584255591462798452696881313767986816e+00), SC_(7.0561584255591462798452696881313767986816e+00), SC_(1.5243370576553459328438947259199126230575e-29) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-3.8218138710269477167954364630319909601686e-279), SC_(-4.2414888641666168518376605800213393138353e-03), SC_(4.2414888641666168518376605800213393138353e-03), SC_(3.8218138710269477167954364630319909601686e-279) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-2.7235635769596428029611745214144728484904e-214), SC_(-2.9475292915743551305378239333737327816054e-02), SC_(2.9475292915743551305378239333737327816054e-02), SC_(2.7235635769596428029611745214144728484904e-214) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-7.8645388186722345238574330666863514288129e-201), SC_(-4.3860508706408795021809038237528550972944e-02), SC_(4.3860508706408795021809038237528550972944e-02), SC_(7.8645388186722345238574330666863514288129e-201) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-2.6540669997080629579823180157652258472978e-144), SC_(-2.2624928857125692960585991917748440628900e-01), SC_(2.2624928857125692960585991917748440628900e-01), SC_(2.6540669997080629579823180157652258472978e-144) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-6.3115375163138397430770386781319031820800e-123), SC_(-4.1351540543244517688779513041123356792462e-01), SC_(4.1351540543244517688779513041123356792462e-01), SC_(6.3115375163138397430770386781319031820800e-123) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-1.7303761272495051424979346585586283335785e-97), SC_(-8.3063133465142462483823261160252439192850e-01), SC_(8.3063133465142462483823261160252439192850e-01), SC_(1.7303761272495051424979346585586283335785e-97) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-4.5175624703018364386316355453473921476800e-88), SC_(-1.0670511936939712629708234662588148326329e+00), SC_(1.0670511936939712629708234662588148326329e+00), SC_(4.5175624703018364386316355453473921476800e-88) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-1.6020002451971748512846188776997380801968e-49), SC_(-2.7504438123537830122639465995516459243693e+00), SC_(2.7504438123537830122639465995516459243693e+00), SC_(1.6020002451971748512846188948253104355109e-49) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-1.7197850802902198446896205514299583939590e-49), SC_(-2.7523068468532179445424707278135331864043e+00), SC_(2.7523068468532179445424707278135331864043e+00), SC_(1.7197850802902198446896205705171084257269e-49) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-8.3527117600612900079451243606561768976848e-43), SC_(-3.1721951299884651387181678602983073533749e+00), SC_(3.1721951299884651387181678602983073533749e+00), SC_(8.3527117600612900079454421077782736973156e-43) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-3.4003056969911075225540986281473287327436e-33), SC_(-3.8038721669865046750184461843252328176283e+00), SC_(3.8038721669865046750184461843252328176283e+00), SC_(3.4003056969911075383118969144262012951089e-33) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-2.1893335570154485523511177420597381773999e-32), SC_(-3.8562407072788424277762073973547671973628e+00), SC_(3.8562407072788424277762073973547671973628e+00), SC_(2.1893335570154485795593105674166751581984e-32) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-7.5491054347142114375812761534657303513422e-30), SC_(-4.0169311294712766841907462646881123731969e+00), SC_(4.0169311294712766841907462646881123731969e+00), SC_(7.5491054347142135120024857544975752812436e-30) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-1.3377451617461182415352576426792415195876e-29), SC_(-4.0322847031889961016449241695127967252344e+00), SC_(4.0322847031889961016449241695127967252344e+00), SC_(1.3377451617461187393646500797909339535577e-29) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-3.1181122154204677781408299524082852177561e-28), SC_(-4.1152076877932488824487440158561314568334e+00), SC_(4.1152076877932488824487440158561314568334e+00), SC_(3.1181122154204739384160550997320853353164e-28) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-5.1330548068998766229904911228618886047427e-28), SC_(-4.1280626529858052436379394775518022194387e+00), SC_(4.1280626529858052436379394775518022194387e+00), SC_(5.1330548068998898322708019025183430171473e-28) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-6.1918000947675980932600962348923984243506e-28), SC_(-4.1328775661170746768561679616181033716906e+00), SC_(4.1328775661170746768561679616181033716906e+00), SC_(6.1918000947676156930552731345420383574982e-28) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-6.6943107292332944824543581350629439404312e-28), SC_(-4.1348776682478570282951998011387186465643e+00), SC_(4.1348776682478570282951998011387186465643e+00), SC_(6.6943107292333143145147732951925109927958e-28) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-3.1766730197769476890906031547046264616432e-27), SC_(-4.1743464200409483976940849150461241550181e+00), SC_(4.1743464200409483976940849150461241550181e+00), SC_(3.1766730197769691819478520904737434883311e-27) },
|
||||
{ SC_(3.3070068359375000000000000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-3.9809726675797011028776864437398168389685e-27), SC_(-4.1799936885160899972900179845072694573110e+00), SC_(4.1799936885160899972900179845072694573110e+00), SC_(3.9809726675797314627549526189688066228583e-27) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-3.6031937707821603160156579772361603327406e-156), SC_(-2.5649905132695119460090859221610377671614e-37), SC_(2.5649905132695119460090859221610377671614e-37), SC_(3.6031937707821603160156579772361603327406e-156) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-7.8262624437152878817921286113791391605446e-120), SC_(-1.5338700711974470220563155441437663267656e-28), SC_(1.5338700711974470220563155441437663267656e-28), SC_(7.8262624437152878817921286113791391605446e-120) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-2.7195793891013347647637761615581465071404e-112), SC_(-1.0129036310335264517433396465867413036390e-26), SC_(1.0129036310335264517433396465867413036390e-26), SC_(2.7195793891013347647637761615581465071404e-112) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-1.2519619151441472700754468254776873985120e-80), SC_(-4.3348230114188805520184819609626158734371e-19), SC_(4.3348230114188805520184819609626158734371e-19), SC_(1.2519619151441472700754468254776873985120e-80) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-1.1686150061019689308150922320673855951047e-68), SC_(-3.2824367266398871658789930317300768216857e-16), SC_(3.2824367266398871658789930317300768216857e-16), SC_(1.1686150061019689308150922320673855951047e-68) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-2.0339269095930003086862738966129720237203e-54), SC_(-8.6068880155744659183949200601774224820951e-13), SC_(8.6068880155744659183949200601774224820951e-13), SC_(2.0339269095930003086862738966129720237203e-54) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-3.7889339485433925662270522758726777409447e-49), SC_(-1.5755657388696602196791144374269677304439e-11), SC_(1.5755657388696602196791144374269677304439e-11), SC_(3.7889339485433925662270522758726777409447e-49) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-1.3742705332194966824159173240684135808242e-27), SC_(-2.1691456951893061403507406704708919385051e-06), SC_(2.1691456951893061403507406704708919385051e-06), SC_(1.3742705332194966824159173240684135808242e-27) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-1.4298441048791369509443231834067638856995e-27), SC_(-2.1896047867848465635607265753786402557507e-06), SC_(2.1896047867848465635607265753786402557507e-06), SC_(1.4298441048791369509443231834067638856995e-27) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-7.7702009502039420279546143341839256722974e-24), SC_(-1.6719454686763630444498345300950451832001e-05), SC_(1.6719454686763630444498345300950451832001e-05), SC_(7.7702009502039420279546143341839256722974e-24) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-1.7958479534246915291363011834602349191541e-18), SC_(-3.0445591423991458677328064687436383356869e-04), SC_(3.0445591423991458677328064687436383356869e-04), SC_(1.7958479534246915291363011834602349191541e-18) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-5.0746042237352493686220216165342376456433e-18), SC_(-3.8813627888736398894736330872109968201328e-04), SC_(3.8813627888736398894736330872109968201328e-04), SC_(5.0746042237352493686220216165342376456433e-18) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-1.3195481084047234153967605417111778178482e-16), SC_(-8.2999267377321712433847991092372972832643e-04), SC_(8.2999267377321712433847991092372972832643e-04), SC_(1.3195481084047234153967605417111778178482e-16) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-1.8152969278021679045164968870511951275589e-16), SC_(-8.9397810512147852733933720907632339358793e-04), SC_(8.9397810512147852733933720907632339358793e-04), SC_(1.8152969278021679045164968870511951275589e-16) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-1.0500101129172192913013660027995048349565e-15), SC_(-1.3445856701088725867718937736105967515739e-03), SC_(1.3445856701088725867718937736105967515739e-03), SC_(1.0500101129172192913013660027995048349565e-15) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-1.3862459916380826882588093599051846244974e-15), SC_(-1.4342021327952091805978987717343136186003e-03), SC_(1.4342021327952091805978987717343136186003e-03), SC_(1.3862459916380826882588093599051846244974e-15) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-1.5389552344190380358528407465886929566839e-15), SC_(-1.4694312011375382946221193467338020326125e-03), SC_(1.4694312011375382946221193467338020326125e-03), SC_(1.5389552344190380358528407465886929566839e-15) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-1.6073537654590508119476855253274849385421e-15), SC_(-1.4843427377824311295669460605582040816529e-03), SC_(1.4843427377824311295669460605582040816529e-03), SC_(1.6073537654590508119476855253274849385421e-15) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-3.8277933956092457700190995976184180486032e-15), SC_(-1.8154247772420045742823398439244305395032e-03), SC_(1.8154247772420045742823398439244305395032e-03), SC_(3.8277933956092457700190995976184180486032e-15) },
|
||||
{ SC_(3.6600542068481445312500000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-4.3407185664699606374331998505812869695492e-15), SC_(-1.8691438023553833111065412878023167101253e-03), SC_(1.8691438023553833111065412878023167101253e-03), SC_(4.3407185664699606374331998505812869695492e-15) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-4.7565682883947096082134555253788489712165e-139), SC_(-1.7234774637787371972462841071851217459094e-46), SC_(1.7234774637787371972462841071851217459094e-46), SC_(4.7565682883947096082134555253788489712165e-139) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-1.1069751725969163303053561384808743593345e-106), SC_(-1.3807695283234627184406520681005357845162e-35), SC_(1.3807695283234627184406520681005357845162e-35), SC_(1.1069751725969163303053561384808743593345e-106) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-5.7670661775296736110296704772619130194529e-100), SC_(-2.5202506148312414452489679214132195805465e-33), SC_(2.5202506148312414452489679214132195805465e-33), SC_(5.7670661775296736110296704772619130194529e-100) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-9.1684616082402776227356181215159366125958e-72), SC_(-7.7186643496317904512713282839228628420428e-24), SC_(7.7186643496317904512713282839228628420428e-24), SC_(9.1684616082402776227356181215159366125958e-72) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-4.1960954464441621813907637255720077170127e-61), SC_(-2.9401720963252266545864663005767301159753e-20), SC_(2.9401720963252266545864663005767301159753e-20), SC_(4.1960954464441621813907637255720077170127e-61) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-2.0165340650771786513699168981959761802595e-48), SC_(-5.2751389981561688495934756790211983025914e-16), SC_(5.2751389981561688495934756790211983025914e-16), SC_(2.0165340650771786513699168981959761802595e-48) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-9.9425202767847260671923664392583420628782e-44), SC_(-1.9684230837965902778872319125250200739208e-14), SC_(1.9684230837965902778872319125250200739208e-14), SC_(9.9425202767847260671923664392583420628782e-44) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-1.5547505672121296130392106483675653383267e-24), SC_(-5.0150172527959559654652405291168344998614e-08), SC_(5.0150172527959559654652405291168344998614e-08), SC_(1.5547505672121296130392106483675653383267e-24) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-1.6105879691624656990643965248687892740491e-24), SC_(-5.0741523868123427323815545304454884750325e-08), SC_(5.0741523868123427323815545304454884750325e-08), SC_(1.6105879691624656990643965248687892740491e-24) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-3.3982709793018355281017391487035417427047e-21), SC_(-6.4320743472516763828922139501460122436524e-07), SC_(6.4320743472516763828922139501460122436524e-07), SC_(3.3982709793018355281017391487035417427047e-21) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-2.0136497286809957733934298034682036536482e-16), SC_(-2.4285786959496733718139757322284841751909e-05), SC_(2.4285786959496733718139757322284841751909e-05), SC_(2.0136497286809957733934298034682036536482e-16) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-5.0736746328711878406334529544462008880793e-16), SC_(-3.2922288619670063805684647412975026371992e-05), SC_(3.2922288619670063805684647412975026371992e-05), SC_(5.0736746328711878406334529544462008880793e-16) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-9.2058057971142669818632882451524624613577e-15), SC_(-8.5371319549431409033709016893117151261965e-05), SC_(8.5371319549431409033709016893117151261965e-05), SC_(9.2058057971142669818632882451524624613577e-15) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-1.2225768235815330577066371513013453198390e-14), SC_(-9.3705743590974651085860587222608723506366e-05), SC_(9.3705743590974651085860587222608723506366e-05), SC_(1.2225768235815330577066371513013453198390e-14) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-5.8244563475549547711832550232807702598061e-14), SC_(-1.5637782789278203687643524893232794453618e-04), SC_(1.5637782789278203687643524893232794453618e-04), SC_(5.8244563475549547711832550232807702598061e-14) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-7.4569229890505557163492853191970993034195e-14), SC_(-1.6956865811277653447283757678080383708998e-04), SC_(1.6956865811277653447283757678080383708998e-04), SC_(7.4569229890505557163492853191970993034195e-14) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-8.1832474817414181188415410600940013463095e-14), SC_(-1.7481304989667968846826785428556395456213e-04), SC_(1.7481304989667968846826785428556395456213e-04), SC_(8.1832474817414181188415410600940013463095e-14) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-8.5059411982764980534071732177545111604637e-14), SC_(-1.7704264719338504308223806319058499071023e-04), SC_(1.7704264719338504308223806319058499071023e-04), SC_(8.5059411982764980534071732177545111604637e-14) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-1.8402318273600467452585045665223788575081e-13), SC_(-2.2795885234545206358891363709107320723417e-04), SC_(2.2795885234545206358891363709107320723417e-04), SC_(1.8402318273600467452585045665223788575081e-13) },
|
||||
{ SC_(3.7191076278686523437500000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-2.0579887619346373499724955565261111626478e-13), SC_(-2.3646038645828192050187173122582470722607e-04), SC_(2.3646038645828192050187173122582470722607e-04), SC_(2.0579887619346373499724955565261111626478e-13) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-8.4527511233234616820681567685764871838811e-133), SC_(-3.0882937383097528454841062020993508240524e-50), SC_(3.0882937383097528454841062020993508240524e-50), SC_(8.4527511233234616820681567685764871838811e-133) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-6.9923886162786225290041059485642869099039e-102), SC_(-1.8290984735622862634822419238118624196110e-38), SC_(1.8290984735622862634822419238118624196110e-38), SC_(6.9923886162786225290041059485642869099039e-102) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-1.8222257388557590453891716200192517981943e-95), SC_(-5.0572327975659976126130334362619606452252e-36), SC_(5.0572327975659976126130334362619606452252e-36), SC_(1.8222257388557590453891716200192517981943e-95) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-1.5785837458587507689959719400887777839819e-68), SC_(-8.8630461887059148246282223853577530432909e-26), SC_(8.8630461887059148246282223853577530432909e-26), SC_(1.5785837458587507689959719400887777839819e-68) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-2.4031743689501148626789350545720960492598e-58), SC_(-6.5311928746345011085336459251009131488841e-22), SC_(6.5311928746345011085336459251009131488841e-22), SC_(2.4031743689501148626789350545720960492598e-58) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-3.1151821440951480299961396528104956264599e-46), SC_(-2.5704276337927733038201651165785059020184e-17), SC_(2.5704276337927733038201651165785059020184e-17), SC_(3.1151821440951480299961396528104956264599e-46) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-9.4545356213306515565760822975030854244578e-42), SC_(-1.2829941989444333089367016002348574442300e-15), SC_(1.2829941989444333089367016002348574442300e-15), SC_(9.4545356213306515565760822975030854244578e-42) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-2.0246145837701731243450397559432209225787e-23), SC_(-1.0765214977871771673245776912597883893598e-08), SC_(1.0765214977871771673245776912597883893598e-08), SC_(2.0246145837701731243450397559432209225787e-23) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-2.0939927147640952341785203616269429191389e-23), SC_(-1.0902547498242933540406289777245840869916e-08), SC_(1.0902547498242933540406289777245840869916e-08), SC_(2.0939927147640952341785203616269429191389e-23) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-3.1279858282645303350140088549775064559308e-20), SC_(-1.6999284989679718951529299499427442682618e-07), SC_(1.6999284989679718951529299499427442682618e-07), SC_(3.1279858282645303350140088549775064559308e-20) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-1.1277464129642928300941666952811474805926e-15), SC_(-8.6455189196899021323251860368081696280296e-06), SC_(8.6455189196899021323251860368081696280296e-06), SC_(1.1277464129642928300941666952811474805926e-15) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-2.7250430609569476201819037661856220392002e-15), SC_(-1.2017824151643068972482462583850751836402e-05), SC_(1.2017824151643068972482462583850751836402e-05), SC_(2.7250430609569476201819037661856220392002e-15) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-4.3357349168567137535522791181722264593265e-14), SC_(-3.3717013835998123364644285445432253519252e-05), SC_(3.3717013835998123364644285445432253519252e-05), SC_(4.3357349168567137535522791181722264593265e-14) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-5.6844572713629097346734022734939240078401e-14), SC_(-3.7295235754569334347577605455911310277809e-05), SC_(3.7295235754569334347577605455911310277809e-05), SC_(5.6844572713629097346734022734939240078401e-14) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-2.5229438265158936400163769272013868578036e-13), SC_(-6.4938654434549273266702408035073545441080e-05), SC_(6.4938654434549273266702408035073545441080e-05), SC_(2.5229438265158936400163769272013868578036e-13) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-3.1940468213896847812701395671104986554075e-13), SC_(-7.0891405780533738967872961853947418808754e-05), SC_(7.0891405780533738967872961853947418808754e-05), SC_(3.1940468213896847812701395671104986554075e-13) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-3.4903978375668985958002441064491941447463e-13), SC_(-7.3269016254197998713945946602449443518597e-05), SC_(7.3269016254197998713945946602449443518597e-05), SC_(3.4903978375668985958002441064491941447463e-13) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-3.6216721065083133826907744084647357774452e-13), SC_(-7.4281646011827824274379014599786094597594e-05), SC_(7.4281646011827824274379014599786094597594e-05), SC_(3.6216721065083133826907744084647357774452e-13) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-7.5655747115244396931399338225228512396960e-13), SC_(-9.7674876406170760452991734450208112207949e-05), SC_(9.7674876406170760452991734450208112207949e-05), SC_(7.5655747115244396931399338225228512396960e-13) },
|
||||
{ SC_(3.7415590286254882812500000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-8.4179543570306386015905476016228702472760e-13), SC_(-1.0162655133778969889301247926872770847275e-04), SC_(1.0162655133778969889301247926872770847275e-04), SC_(8.4179543570306386015905476016228702472760e-13) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-3.1378078422967139261503847470441251218059e-130), SC_(-7.6123015654161815557718386437425084946103e-52), SC_(7.6123015654161815557718386437425084946103e-52), SC_(3.1378078422967139261503847470441251218059e-130) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-6.5825464787594334539462446991769371401884e-100), SC_(-1.0640292290408846408130218819932202194483e-39), SC_(1.0640292290408846408130218819932202194483e-39), SC_(6.5825464787594334539462446991769371401884e-100) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-1.2902593332640932226590812157766322241372e-93), SC_(-3.5159529814195239790841481597306397605593e-37), SC_(3.5159529814195239790841481597306397605593e-37), SC_(1.2902593332640932226590812157766322241372e-93) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-3.3788540718576517742447099217325712093118e-67), SC_(-1.3028309216911078611312413492746299035821e-26), SC_(1.3028309216911078611312413492746299035821e-26), SC_(3.3788540718576517742447099217325712093118e-67) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-3.2714462175618158648607176001920073589808e-57), SC_(-1.2744028833336989688369358264201060926622e-22), SC_(1.2744028833336989688369358264201060926622e-22), SC_(3.2714462175618158648607176001920073589808e-57) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-2.4743573022989740528371956122703552516244e-45), SC_(-7.0267301468784198441453679814366693406750e-18), SC_(7.0267301468784198441453679814366693406750e-18), SC_(2.4743573022989740528371956122703552516244e-45) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-6.1513964429642307895891005021864666062681e-41), SC_(-3.9737420250153426505541627263816116272833e-16), SC_(3.9737420250153426505541627263816116272833e-16), SC_(6.1513964429642307895891005021864666062681e-41) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-5.8164075717643353616248157174602162557393e-23), SC_(-5.5614458167676913494301960743787231205590e-09), SC_(5.5614458167676913494301960743787231205590e-09), SC_(5.8164075717643353616248157174602162557393e-23) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-6.0117866203166835879237830021018563335732e-23), SC_(-5.6346997839893176463452574243450469400897e-09), SC_(5.6346997839893176463452574243450469400897e-09), SC_(6.0117866203166835879237830021018563335732e-23) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-7.7915842863141939389850304007552127974710e-20), SC_(-9.6021394039407643377378157359919283906547e-08), SC_(9.6021394039407643377378157359919283906547e-08), SC_(7.7915842863141939389850304007552127974710e-20) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-2.2900905941292586529733991035546983758788e-15), SC_(-5.5494983056632462563888547294917429062500e-06), SC_(5.5494983056632462563888547294917429062500e-06), SC_(2.2900905941292586529733991035546983758788e-15) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-5.4392750138794216834165539430787574783934e-15), SC_(-7.7976876104872485539767263473392923827483e-06), SC_(7.7976876104872485539767263473392923827483e-06), SC_(5.4392750138794216834165539430787574783934e-15) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-8.1992430106482233839122266425647512276357e-14), SC_(-2.2629211385118935725231482288076202844307e-05), SC_(2.2629211385118935725231482288076202844307e-05), SC_(8.1992430106482233839122266425647512276357e-14) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-1.0693071085451105916089099818643768030579e-13), SC_(-2.5113753002024507029439271381282483038360e-05), SC_(2.5113753002024507029439271381282483038360e-05), SC_(1.0693071085451105916089099818643768030579e-13) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-4.6097086355788453068515036947314365089586e-13), SC_(-4.4532494399592773360875507246909758858988e-05), SC_(4.4532494399592773360875507246909758858988e-05), SC_(4.6097086355788453068515036947314365089586e-13) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-5.8090429997558788905629209203401270290074e-13), SC_(-4.8755166214724664408167185191402879754196e-05), SC_(4.8755166214724664408167185191402879754196e-05), SC_(5.8090429997558788905629209203401270290074e-13) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-6.3370166007285993268578283462192033575324e-13), SC_(-5.0445093166106177735330494884077060478199e-05), SC_(5.0445093166106177735330494884077060478199e-05), SC_(6.3370166007285993268578283462192033575324e-13) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-6.5706076572777654888368477228670631596485e-13), SC_(-5.1165390720351863001494293605697086528187e-05), SC_(5.1165390720351863001494293605697086528187e-05), SC_(6.5706076572777654888368477228670631596485e-13) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-1.3529494175542795516129328354068212518024e-12), SC_(-6.7888067917223552374764755398210868167551e-05), SC_(6.7888067917223552374764755398210868167551e-05), SC_(1.3529494175542795516129328354068212518024e-12) },
|
||||
{ SC_(3.7509422302246093750000000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-1.5022397790238570533957611878828186607339e-12), SC_(-7.0727022966499727753011314110449501485728e-05), SC_(7.0727022966499727753011314110449501485728e-05), SC_(1.5022397790238570533957611878828186607339e-12) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-4.1713709257564405906218513107195237067111e-83), SC_(-2.9500148321152304064828487937308813529006e-90), SC_(2.9500148321152304064828487937308813529006e-90), SC_(4.1713709257564405906218513107195237067111e-83) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-1.0345423164793172977570752428831839024453e-63), SC_(-3.3295179990084659888672987021388023867952e-69), SC_(3.3295179990084659888672987021388023867952e-69), SC_(1.0345423164793172977570752428831839024453e-63) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-1.0930801661042691324566315757622799959063e-59), SC_(-7.7711401897993967553472958107550131498030e-65), SC_(7.7711401897993967553472958107550131498030e-65), SC_(1.0930801661042691324566315757622799959063e-59) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-8.4810275963385083892561342169041260823060e-43), SC_(-1.6830110141946545726544204256160603162940e-46), SC_(1.6830110141946545726544204256160603162940e-46), SC_(8.4810275963385083892561342169041260823060e-43) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-2.0417186939052755053223431130272292583183e-36), SC_(-1.4274560913888382219048736143854028947712e-39), SC_(1.4274560913888382219048736143854028947712e-39), SC_(2.0417186939052755053223431130272292583183e-36) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-7.9051560197339788766367376956917473595135e-29), SC_(-2.4748932286595005897727691188045019742552e-31), SC_(2.4748932286595005897727691188045019742552e-31), SC_(7.9051560197339788766367376956917473595135e-29) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-5.0635653232011455103829158765947940369312e-26), SC_(-2.7619070400040255094310280956368812744302e-28), SC_(2.7619070400040255094310280956368812744302e-28), SC_(5.0635653232011455103829158765947940369312e-26) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-1.4774460484196530650834605463743907452412e-14), SC_(-7.8374436163992375210150388101991579591329e-16), SC_(7.8374436163992375210150388101991579591329e-16), SC_(1.4774460484196530650834605463743907452412e-14) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-1.5088661440420338417226689776724128915015e-14), SC_(-8.0187008935246434780512048093736175089718e-16), SC_(8.0187008935246434780512048093736175089718e-16), SC_(1.5088661440420338417226689776724128915015e-14) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-1.4466811398103564156532053308013443691016e-12), SC_(-1.1413708603914626496619057728935710216152e-13), SC_(1.1413708603914626496619057728935710216152e-13), SC_(1.4466811398103564156532053308013443691016e-12) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-1.0036765360305196379411604137190374144519e-09), SC_(-1.3980624159861060629499860250436035900841e-10), SC_(1.3980624159861060629499860250436035900841e-10), SC_(1.0036765360305196379411604137190374144519e-09) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-1.7387082463064811963200142922934791715600e-09), SC_(-2.5407154843955499463213571551461520681004e-10), SC_(2.5407154843955499463213571551461520681004e-10), SC_(1.7387082463064811963200142922934791715600e-09) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-9.7340951778214803373298864255392015144328e-09), SC_(-1.6530925431265441280178159027013751596307e-09), SC_(1.6530925431265441280178159027013751596307e-09), SC_(9.7340951778214803373298864255392015144328e-09) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-1.1520981609328160761357573973849453322521e-08), SC_(-1.9855668682378720580326018134500931924412e-09), SC_(1.9855668682378720580326018134500931924412e-09), SC_(1.1520981609328160761357573973849453322521e-08) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-2.9115267094005380336206999576820997217823e-08), SC_(-5.4413907197081789107399644468235597819002e-09), SC_(5.4413907197081789107399644468235597819002e-09), SC_(2.9115267094005380336206999576820997217823e-08) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-3.3715308514962355773504436233980920429366e-08), SC_(-6.3824705075072844074371161377620951693296e-09), SC_(6.3824705075072844074371161377620951693296e-09), SC_(3.3715308514962355773504436233980920429366e-08) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-3.5627965839269457458268622952811305548834e-08), SC_(-6.7771824110679011119080311599992819429806e-09), SC_(6.7771824110679011119080311599992819429806e-09), SC_(3.5627965839269457458268622952811305548834e-08) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-3.6455445617846818484560024297325234998095e-08), SC_(-6.9485301785063638021784118834145670449721e-09), SC_(6.9485301785063638021784118834145670449721e-09), SC_(3.6455445617846818484560024297325234998095e-08) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-5.7636467233594629586969076386871000144855e-08), SC_(-1.1435061027210169208985744449071965847688e-08), SC_(1.1435061027210169208985744449071965847688e-08), SC_(5.7636467233594629586969076386871000144855e-08) },
|
||||
{ SC_(3.9430503845214843750000000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-6.1591795575045432944711115634962744103417e-08), SC_(-1.2291014619883267276651125656375882351262e-08), SC_(1.2291014619883267276651125656375882351262e-08), SC_(6.1591795575045432944711115634962744103417e-08) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.7540393471717834472656250000000000000000e-04), SC_(-5.6173489553322618088731015958471837000827e-77), SC_(-7.0360635913589259822406963090864947687824e-97), SC_(7.0360635913589259822406963090864947687824e-97), SC_(5.6173489553322618088731015958471837000827e-77) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.2698681093752384185791015625000000000000e-03), SC_(-5.2809884186037731075845628844174261664194e-59), SC_(-2.7261406698750549475005353229241972920506e-74), SC_(2.7261406698750549475005353229241972920506e-74), SC_(5.2809884186037731075845628844174261664194e-59) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.3547698035836219787597656250000000000000e-03), SC_(-2.8286335639023020687096687968060207767851e-55), SC_(-1.3256747236227021046170404409936042498238e-69), SC_(1.3256747236227021046170404409936042498238e-69), SC_(2.8286335639023020687096687968060207767851e-55) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(1.8838196992874145507812500000000000000000e-03), SC_(-1.2648881928850376725288837254305451739455e-39), SC_(-6.2674747188012459421900673516458930582759e-50), SC_(6.2674747188012459421900673516458930582759e-50), SC_(1.2648881928850376725288837254305451739455e-39) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(2.2103404626250267028808593750000000000000e-03), SC_(-1.0346215603089819476696547093184959030510e-33), SC_(-1.7065295783049726507389573182181263384480e-42), SC_(1.7065295783049726507389573182181263384480e-42), SC_(1.0346215603089819476696547093184959030510e-33) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(2.7849823236465454101562500000000000000000e-03), SC_(-1.1081579434732428339153166363715720493963e-26), SC_(-1.1860791983580166453724690845388598221551e-33), SC_(1.1860791983580166453724690845388598221551e-33), SC_(1.1081579434732428339153166363715720493963e-26) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(3.0816700309514999389648437500000000000000e-03), SC_(-4.4103696442359646961452416237039696522205e-24), SC_(-2.2134543824662188553918959881202119583486e-30), SC_(2.2134543824662188553918959881202119583486e-30), SC_(4.4103696442359646961452416237039696522205e-24) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(5.4688137024641036987304687500000000000000e-03), SC_(-1.8310904367219332010844067758416022426091e-13), SC_(-5.1641979752415536255106578856064382126707e-17), SC_(5.1641979752415536255106578856064382126707e-17), SC_(1.8310904367219332010844067758416022426091e-13) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(5.4722055792808532714843750000000000000000e-03), SC_(-1.8671158798297357218915719791713904778185e-13), SC_(-5.2925455180741283168482102122250827171543e-17), SC_(5.2925455180741283168482102122250827171543e-17), SC_(1.8671158798297357218915719791713904778185e-13) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(6.3235927373170852661132812500000000000000e-03), SC_(-1.2758514222409018931575116736030103520537e-11), SC_(-1.0862198675360034655022613824559574625590e-14), SC_(1.0862198675360034655022613824559574625590e-14), SC_(1.2758514222409018931575116736030103520537e-11) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(8.1472359597682952880859375000000000000000e-03), SC_(-5.4375162140194392613427188677521534157644e-09), SC_(-2.2525157326688803565679579886800560602050e-11), SC_(2.2525157326688803565679579886800560602050e-11), SC_(5.4375162140194392613427188677521534157644e-09) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(8.3500854671001434326171875000000000000000e-03), SC_(-9.0408041584808290554254899572317089415384e-09), SC_(-4.2791578528072197371349881749868837713689e-11), SC_(4.2791578528072197371349881749868837713689e-11), SC_(9.0408041584808290554254899572317089415384e-09) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.0579167008399963378906250000000000000000e-03), SC_(-4.4496476833876149950359226943594589957380e-08), SC_(-3.2000168315292794463277290470620585059264e-10), SC_(3.2000168315292794463277290470620585059264e-10), SC_(4.4496476833876149950359226943594589957380e-08) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.1337561607360839843750000000000000000000e-03), SC_(-5.2004288043651053596437064182942052960991e-08), SC_(-3.8963772806793672629722565038960258717719e-10), SC_(3.8963772806793672629722565038960258717719e-10), SC_(5.2004288043651053596437064182942052960991e-08) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.5750652253627777099609375000000000000000e-03), SC_(-1.2260343695853710995888073161591407125877e-07), SC_(-1.1510174503363983761669153800733184721993e-09), SC_(1.1510174503363983761669153800733184721993e-09), SC_(1.2260343695853710995888073161591407125877e-07) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.6488818526268005371093750000000000000000e-03), SC_(-1.4042108026568271788429691487456901458281e-07), SC_(-1.3662239827462324315451988095558208925344e-09), SC_(1.3662239827462324315451988095558208925344e-09), SC_(1.4042108026568271788429691487456901458281e-07) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.6769481897354125976562500000000000000000e-03), SC_(-1.4777437793291791135639522556921613031252e-07), SC_(-1.4572160219071226504142505428659079461409e-09), SC_(1.4572160219071226504142505428659079461409e-09), SC_(1.4777437793291791135639522556921613031252e-07) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.6886754035949707031250000000000000000000e-03), SC_(-1.5094638836532006324414453438350092758494e-07), SC_(-1.4968410537389376971043480357981388174792e-09), SC_(1.4968410537389376971043480357981388174792e-09), SC_(1.5094638836532006324414453438350092758494e-07) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.9288113415241241455078125000000000000000e-03), SC_(-2.3058634749348361720491150310227990973128e-07), SC_(-2.5565029274937194447020017467519802307083e-09), SC_(2.5565029274937194447020017467519802307083e-09), SC_(2.3058634749348361720491150310227990973128e-07) },
|
||||
{ SC_(3.9716901779174804687500000000000000000000e+00), SC_(9.9646113812923431396484375000000000000000e-03), SC_(-2.4518607206180375945908050567394504116941e-07), SC_(-2.7626949719007798133896374132255843417443e-09), SC_(2.7626949719007798133896374132255843417443e-09), SC_(2.4518607206180375945908050567394504116941e-07) }
|
||||
}};
|
||||
//#undef SC_
|
||||
|
||||
119
test/test_jacobi_theta.cpp
Normal file
@@ -0,0 +1,119 @@
|
||||
|
||||
#include <pch_light.hpp>
|
||||
#include <boost/math/concepts/real_concept.hpp>
|
||||
#include "test_jacobi_theta.hpp"
|
||||
|
||||
// Test file for the Jacobi Theta functions, a.k.a the four horsemen of the
|
||||
// Jacobi elliptic integrals. At the moment only Wolfrma Alpha spot checks are
|
||||
// used. We should generate extra-precise numbers with NTL::RR or some such.
|
||||
|
||||
void expected_results()
|
||||
{
|
||||
//
|
||||
// Define the max and mean errors expected for
|
||||
// various compilers and platforms.
|
||||
//
|
||||
//
|
||||
add_expected_result(
|
||||
".*", // compiler
|
||||
".*", // stdlib
|
||||
".*", // platform
|
||||
".*", // test type(s)
|
||||
".*Small Tau.*", // test data group
|
||||
".*", 1000, 200); // test function
|
||||
|
||||
add_expected_result(
|
||||
".*", // compiler
|
||||
".*", // stdlib
|
||||
".*", // platform
|
||||
".*", // test type(s)
|
||||
".*Wolfram Alpha.*", // test data group
|
||||
".*", 60, 15); // test function
|
||||
|
||||
// Catch all cases come last:
|
||||
//
|
||||
add_expected_result(
|
||||
".*", // compiler
|
||||
".*", // stdlib
|
||||
".*", // platform
|
||||
".*", // test type(s)
|
||||
".*", // test data group
|
||||
".*", 20, 5); // test function
|
||||
//
|
||||
// Finish off by printing out the compiler/stdlib/platform names,
|
||||
// we do this to make it easier to mark up expected error rates.
|
||||
//
|
||||
std::cout << "Tests run with " << BOOST_COMPILER << ", "
|
||||
<< BOOST_STDLIB << ", " << BOOST_PLATFORM << std::endl;
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE( test_main )
|
||||
{
|
||||
expected_results();
|
||||
BOOST_MATH_CONTROL_FP;
|
||||
BOOST_MATH_STD_USING
|
||||
|
||||
using namespace boost::math;
|
||||
|
||||
BOOST_CHECK_THROW(jacobi_theta1(0.0, 0.0), std::domain_error);
|
||||
BOOST_CHECK_THROW(jacobi_theta1(0.0, 1.0), std::domain_error);
|
||||
|
||||
BOOST_CHECK_THROW(jacobi_theta2(0.0, 0.0), std::domain_error);
|
||||
BOOST_CHECK_THROW(jacobi_theta2(0.0, 1.0), std::domain_error);
|
||||
|
||||
BOOST_CHECK_THROW(jacobi_theta3(0.0, 0.0), std::domain_error);
|
||||
BOOST_CHECK_THROW(jacobi_theta3(0.0, 1.0), std::domain_error);
|
||||
|
||||
BOOST_CHECK_THROW(jacobi_theta4(0.0, 0.0), std::domain_error);
|
||||
BOOST_CHECK_THROW(jacobi_theta4(0.0, 1.0), std::domain_error);
|
||||
|
||||
BOOST_CHECK_THROW(jacobi_theta1tau(0.0, 0.0), std::domain_error);
|
||||
BOOST_CHECK_THROW(jacobi_theta1tau(0.0, -1.0), std::domain_error);
|
||||
|
||||
BOOST_CHECK_THROW(jacobi_theta2tau(0.0, 0.0), std::domain_error);
|
||||
BOOST_CHECK_THROW(jacobi_theta2tau(0.0, -1.0), std::domain_error);
|
||||
|
||||
BOOST_CHECK_THROW(jacobi_theta3tau(0.0, 0.0), std::domain_error);
|
||||
BOOST_CHECK_THROW(jacobi_theta3tau(0.0, -1.0), std::domain_error);
|
||||
|
||||
BOOST_CHECK_THROW(jacobi_theta4tau(0.0, 0.0), std::domain_error);
|
||||
BOOST_CHECK_THROW(jacobi_theta4tau(0.0, -1.0), std::domain_error);
|
||||
|
||||
double eps = std::numeric_limits<double>::epsilon();
|
||||
for (double q=0.0078125; q<1.0; q += 0.0078125) { // = 1/128
|
||||
for (double z=-8.0; z<=8.0; z += 0.125) {
|
||||
test_periodicity(z, q, 100 * eps);
|
||||
test_argument_translation(z, q, 100 * eps);
|
||||
test_sums_of_squares(z, q, 100 * eps);
|
||||
// The addition formula is complicated, cut it some extra slack
|
||||
test_addition_formulas(z, constants::ln_two<double>(), q, sqrt(sqrt(eps)));
|
||||
test_duplication_formula(z, q, 100 * eps);
|
||||
test_transformations_of_nome(z, q, 100 * eps);
|
||||
test_watsons_identities(z, 0.5, q, 101 * eps);
|
||||
test_landen_transformations(z, -log(q)/constants::pi<double>(), sqrt(eps));
|
||||
test_elliptic_functions(z, q, 5 * sqrt(eps));
|
||||
}
|
||||
test_elliptic_integrals(q, 10 * eps);
|
||||
}
|
||||
|
||||
test_special_values(eps);
|
||||
|
||||
for (double s=0.125; s<3.0; s+=0.125) {
|
||||
test_mellin_transforms(2.0 + s, eps, 3 * eps);
|
||||
test_laplace_transforms(s, eps, 4 * eps);
|
||||
}
|
||||
|
||||
test_spots(0.0F, "float");
|
||||
test_spots(0.0, "double");
|
||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
test_spots(0.0L, "long double");
|
||||
#ifndef BOOST_MATH_NO_REAL_CONCEPT_TESTS
|
||||
test_spots(concepts::real_concept(0), "real_concept");
|
||||
#endif
|
||||
#else
|
||||
std::cout << "<note>The long double tests have been disabled on this platform "
|
||||
"either because the long double overloads of the usual math functions are "
|
||||
"not available at all, or because they are too inaccurate for these tests "
|
||||
"to pass.</note>" << std::endl;
|
||||
#endif
|
||||
}
|
||||
748
test/test_jacobi_theta.hpp
Normal file
@@ -0,0 +1,748 @@
|
||||
// Copyright John Maddock 2006.
|
||||
// Copyright Evan Miller 2020
|
||||
#define BOOST_TEST_MAIN
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include <boost/test/tools/floating_point_comparison.hpp>
|
||||
#include <boost/math/special_functions/ellint_rf.hpp>
|
||||
#include <boost/math/special_functions/jacobi_elliptic.hpp>
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
#include <boost/math/special_functions/zeta.hpp>
|
||||
#include <boost/math/constants/constants.hpp>
|
||||
#include <boost/math/quadrature/exp_sinh.hpp>
|
||||
#include <boost/type_traits/is_floating_point.hpp>
|
||||
#include <boost/array.hpp>
|
||||
#include "functor.hpp"
|
||||
|
||||
#include "handle_test_result.hpp"
|
||||
#include "table_type.hpp"
|
||||
|
||||
#ifndef SC_
|
||||
#define SC_(x) static_cast<typename table_type<T>::type>(BOOST_JOIN(x, L))
|
||||
#endif
|
||||
|
||||
template <class Real, class T>
|
||||
void do_test_jacobi_theta1(const T& data, const char* type_name, const char* test_name) {
|
||||
typedef Real value_type;
|
||||
typedef value_type (*pg)(value_type, value_type);
|
||||
std::cout << "Testing: " << test_name << std::endl;
|
||||
#ifdef JACOBI_THETA1_FUNCTION_TO_TEST
|
||||
pg fp2 = JACOBI_THETA1_FUNCTION_TO_TEST;
|
||||
#elif defined(BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS)
|
||||
pg fp2 = boost::math::jacobi_theta1<value_type, value_type>;
|
||||
#else
|
||||
pg fp2 = boost::math::jacobi_theta1;
|
||||
#endif
|
||||
boost::math::tools::test_result<value_type> result;
|
||||
result = boost::math::tools::test_hetero<Real>(
|
||||
data,
|
||||
bind_func<Real>(fp2, 0, 1),
|
||||
extract_result<Real>(2));
|
||||
handle_test_result(result, data[result.worst()], result.worst(),
|
||||
type_name, "jacobi_theta1", test_name);
|
||||
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
template <class Real, class T>
|
||||
void do_test_jacobi_theta2(const T& data, const char* type_name, const char* test_name) {
|
||||
typedef Real value_type;
|
||||
typedef value_type (*pg)(value_type, value_type);
|
||||
std::cout << "Testing: " << test_name << std::endl;
|
||||
#ifdef JACOBI_THETA2_FUNCTION_TO_TEST
|
||||
pg fp2 = JACOBI_THETA2_FUNCTION_TO_TEST;
|
||||
#elif defined(BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS)
|
||||
pg fp2 = boost::math::jacobi_theta2<value_type, value_type>;
|
||||
#else
|
||||
pg fp2 = boost::math::jacobi_theta2;
|
||||
#endif
|
||||
boost::math::tools::test_result<value_type> result;
|
||||
result = boost::math::tools::test_hetero<Real>(
|
||||
data,
|
||||
bind_func<Real>(fp2, 0, 1),
|
||||
extract_result<Real>(2));
|
||||
handle_test_result(result, data[result.worst()], result.worst(),
|
||||
type_name, "jacobi_theta2", test_name);
|
||||
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
template <class Real, class T>
|
||||
void do_test_jacobi_theta3(const T& data, const char* type_name, const char* test_name) {
|
||||
typedef Real value_type;
|
||||
typedef value_type (*pg)(value_type, value_type);
|
||||
std::cout << "Testing: " << test_name << std::endl;
|
||||
#ifdef JACOBI_THETA3_FUNCTION_TO_TEST
|
||||
pg fp2 = JACOBI_THETA3_FUNCTION_TO_TEST;
|
||||
#elif defined(BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS)
|
||||
pg fp2 = boost::math::jacobi_theta3<value_type, value_type>;
|
||||
#else
|
||||
pg fp2 = boost::math::jacobi_theta3;
|
||||
#endif
|
||||
boost::math::tools::test_result<value_type> result;
|
||||
result = boost::math::tools::test_hetero<Real>(
|
||||
data,
|
||||
bind_func<Real>(fp2, 0, 1),
|
||||
extract_result<Real>(2));
|
||||
handle_test_result(result, data[result.worst()], result.worst(),
|
||||
type_name, "jacobi_theta3", test_name);
|
||||
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
template <class Real, class T>
|
||||
void do_test_jacobi_theta4(const T& data, const char* type_name, const char* test_name) {
|
||||
typedef Real value_type;
|
||||
typedef value_type (*pg)(value_type, value_type);
|
||||
std::cout << "Testing: " << test_name << std::endl;
|
||||
#ifdef JACOBI_THETA4_FUNCTION_TO_TEST
|
||||
pg fp2 = JACOBI_THETA4_FUNCTION_TO_TEST;
|
||||
#elif defined(BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS)
|
||||
pg fp2 = boost::math::jacobi_theta4<value_type, value_type>;
|
||||
#else
|
||||
pg fp2 = boost::math::jacobi_theta4;
|
||||
#endif
|
||||
boost::math::tools::test_result<value_type> result;
|
||||
result = boost::math::tools::test_hetero<Real>(
|
||||
data,
|
||||
bind_func<Real>(fp2, 0, 1),
|
||||
extract_result<Real>(2));
|
||||
handle_test_result(result, data[result.worst()], result.worst(),
|
||||
type_name, "jacobi_theta4", test_name);
|
||||
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
template <class Real, class T>
|
||||
void do_test_jacobi_theta_tau(const T& data, const char* type_name, const char* test_name) {
|
||||
typedef Real value_type;
|
||||
typedef value_type (*pg)(value_type, value_type);
|
||||
std::cout << "Testing: " << test_name << std::endl;
|
||||
#if defined(BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS)
|
||||
pg fp1 = boost::math::jacobi_theta1tau<value_type, value_type>;
|
||||
pg fp2 = boost::math::jacobi_theta2tau<value_type, value_type>;
|
||||
pg fp3 = boost::math::jacobi_theta3tau<value_type, value_type>;
|
||||
pg fp4 = boost::math::jacobi_theta4tau<value_type, value_type>;
|
||||
#else
|
||||
pg fp1 = boost::math::jacobi_theta1tau;
|
||||
pg fp2 = boost::math::jacobi_theta2tau;
|
||||
pg fp3 = boost::math::jacobi_theta3tau;
|
||||
pg fp4 = boost::math::jacobi_theta4tau;
|
||||
#endif
|
||||
boost::math::tools::test_result<value_type> result;
|
||||
|
||||
result = boost::math::tools::test_hetero<Real>(
|
||||
data,
|
||||
bind_func<Real>(fp1, 0, 1),
|
||||
extract_result<Real>(2));
|
||||
handle_test_result(result, data[result.worst()], result.worst(),
|
||||
type_name, "jacobi_theta1tau", test_name);
|
||||
|
||||
result = boost::math::tools::test_hetero<Real>(
|
||||
data,
|
||||
bind_func<Real>(fp2, 0, 1),
|
||||
extract_result<Real>(3));
|
||||
handle_test_result(result, data[result.worst()], result.worst(),
|
||||
type_name, "jacobi_theta2tau", test_name);
|
||||
|
||||
result = boost::math::tools::test_hetero<Real>(
|
||||
data,
|
||||
bind_func<Real>(fp3, 0, 1),
|
||||
extract_result<Real>(4));
|
||||
handle_test_result(result, data[result.worst()], result.worst(),
|
||||
type_name, "jacobi_theta3tau", test_name);
|
||||
|
||||
result = boost::math::tools::test_hetero<Real>(
|
||||
data,
|
||||
bind_func<Real>(fp4, 0, 1),
|
||||
extract_result<Real>(5));
|
||||
handle_test_result(result, data[result.worst()], result.worst(),
|
||||
type_name, "jacobi_theta4tau", test_name);
|
||||
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void test_spots(T, const char* type_name)
|
||||
{
|
||||
// Function values calculated on https://wolframalpha.com/
|
||||
// EllipticTheta[1, z, q]
|
||||
static const boost::array<boost::array<typename table_type<T>::type, 3>, 22> data1 = {{
|
||||
{{ SC_(0.25), SC_(0.5), SC_(0.1540230688155610552510349122197994458164480291364308) }},
|
||||
{{ SC_(0.5), SC_(0.5), SC_(0.402768575854814314826394321410682828786027207014725) }},
|
||||
{{ SC_(1.0), SC_(0.5), SC_(1.330378498179274650272750199052730280058943456725878763411) }},
|
||||
{{ SC_(2.0), SC_(0.5), SC_(1.632025902952598833772353216268208997235004608799433589257) }},
|
||||
{{ SC_(4.0), SC_(0.5), SC_(-1.02330632494166272025903454492708687979388431668700575889) }},
|
||||
{{ SC_(10.0), SC_(0.5), SC_(-0.506725689219604598643739369857898454980617737596340) }},
|
||||
|
||||
{{ SC_(0.25), SC_(0.0078125), SC_(0.147082536469061213804178649159394420990352754783257117514) }},
|
||||
{{ SC_(0.5), SC_(0.0078125), SC_(0.285031930001354337576834900191853014429316815453397057542) }},
|
||||
{{ SC_(1.0), SC_(0.0078125), SC_(0.500336519612853406200885943502694674511080381314798446615) }},
|
||||
{{ SC_(2.0), SC_(0.0078125), SC_(0.540681625286624428872671041984657483294251553554422250931) }},
|
||||
{{ SC_(4.0), SC_(0.0078125), SC_(-0.44997798288122032252205899314355127447793127666845934004) }},
|
||||
{{ SC_(10.0), SC_(0.0078125), SC_(-0.32344103052261772036606444750254248788211904932304982822) }},
|
||||
|
||||
{{ SC_(1.5), SC_(0.9375), SC_(6.455616598043074010374387709748431776849714249419980311428) }},
|
||||
{{ SC_(1.5), SC_(0.96875), SC_(8.494748959742732967152146642136570398472098411842769875811) }},
|
||||
{{ SC_(1.5), SC_(0.984375), SC_(10.27394960641515008799474668007745853274050682503839614462) }},
|
||||
{{ SC_(1.5), SC_(0.9921875), SC_(10.56322418602486655878408856907764433121023675569880599668) }},
|
||||
|
||||
{{ SC_(0.0), SC_(0.0078125), SC_(0.0) }},
|
||||
{{ SC_(0.0), SC_(0.5), SC_(0.0) }},
|
||||
{{ SC_(0.0), SC_(0.9375), SC_(0.0) }},
|
||||
{{ SC_(0.0), SC_(0.96875), SC_(0.0) }},
|
||||
{{ SC_(0.0), SC_(0.984375), SC_(0.0) }},
|
||||
{{ SC_(0.0), SC_(0.9921875), SC_(0.0) }},
|
||||
}};
|
||||
|
||||
// EllipticTheta[2, z, q]
|
||||
static const boost::array<boost::array<typename table_type<T>::type, 3>, 22> data2 = {{
|
||||
{{ SC_(0.25), SC_(0.5), SC_(1.945359087094512287818938605108992884433591043123906291186) }},
|
||||
{{ SC_(0.5), SC_(0.5), SC_(1.484216087659583107499509464625356597654932790316228596683) }},
|
||||
{{ SC_(1.0), SC_(0.5), SC_(0.500198138514456200618643558666164246520575297293771869190) }},
|
||||
{{ SC_(2.0), SC_(0.5), SC_(-0.31816282165462356641101267196568721591143313305914629995) }},
|
||||
{{ SC_(4.0), SC_(0.5), SC_(-0.73416812893190753892245332974270105112878210782122749389) }},
|
||||
{{ SC_(10.0), SC_(0.5), SC_(-1.32067302962326803616213092008760707610192812421263609239) }},
|
||||
|
||||
{{ SC_(0.25), SC_(0.0078125), SC_(0.576145327104766930654951565363812166642791552142749996541) }},
|
||||
{{ SC_(0.5), SC_(0.0078125), SC_(0.521816280475855206768414007009226207248962173223429288460) }},
|
||||
{{ SC_(1.0), SC_(0.0078125), SC_(0.321229744663905222607893889592775291250157432381753805004) }},
|
||||
{{ SC_(2.0), SC_(0.0078125), SC_(-0.24740754322178854446297728714315695332313383557595139996) }},
|
||||
{{ SC_(4.0), SC_(0.0078125), SC_(-0.38862819739105110692686845441417046539892089911988041243) }},
|
||||
{{ SC_(10.0), SC_(0.0078125), SC_(-0.49890931813624527541778224812869556711737103111567319268) }},
|
||||
|
||||
{{ SC_(3.0), SC_(0.9375), SC_(-5.11392816786538016035153925334241975210394670067130953352) }},
|
||||
{{ SC_(3.0), SC_(0.96875), SC_(-5.29012912680048642016398403857878652305705819627897707515) }},
|
||||
{{ SC_(3.0), SC_(0.984375), SC_(-3.95437444890235969862463149250591376362876865922981295660) }},
|
||||
{{ SC_(3.0), SC_(0.9921875), SC_(-1.55309936234390798246955842243578030972976727248025068776) }},
|
||||
|
||||
{{ SC_(0.0), SC_(0.0078125), SC_(0.594639849222534631954791856184512118943710280851563329851) }},
|
||||
{{ SC_(0.0), SC_(0.5), SC_(2.128931250513027558591613402575350180853805396958448940968) }},
|
||||
{{ SC_(0.0), SC_(0.9375), SC_(6.976947123071698246084428957201676843908839940030780606850) }},
|
||||
{{ SC_(0.0), SC_(0.96875), SC_(9.947454796978382607130245293535173220560623896730670936855) }},
|
||||
{{ SC_(0.0), SC_(0.984375), SC_(14.12398706491126638681068088410435889335374416476169364474) }},
|
||||
{{ SC_(0.0), SC_(0.9921875), SC_(20.01377050922054864039693105446212500742825758308336203414) }},
|
||||
}};
|
||||
|
||||
// EllipticTheta[3, z, q]
|
||||
static const boost::array<boost::array<typename table_type<T>::type, 3>, 22> data3 = {{
|
||||
{{ SC_(0.25), SC_(0.5), SC_(1.945383919743612326705943032930976804537995814958244156964) }},
|
||||
{{ SC_(0.5), SC_(0.5), SC_(1.484396862425166928164115914328477415075581759665236164625) }},
|
||||
{{ SC_(1.0), SC_(0.5), SC_(0.505893885730484607919474452677852065978820023168006719298) }},
|
||||
{{ SC_(2.0), SC_(0.5), SC_(0.331435978324530423856445870208355989399154547338364678855) }},
|
||||
{{ SC_(4.0), SC_(0.5), SC_(0.736474899103717622792604836948158645655031914452730542597) }},
|
||||
{{ SC_(10.0), SC_(0.5), SC_(1.320991123572679837556511698539830878932277973655257733968) }},
|
||||
|
||||
{{ SC_(0.25), SC_(0.0078125), SC_(1.013712231555102950279020764520600278509143561359073286704) }},
|
||||
{{ SC_(0.5), SC_(0.0078125), SC_(1.008442220428654137020348371834353416731512133091516925412) }},
|
||||
{{ SC_(1.0), SC_(0.0078125), SC_(0.993497700808926421501904684196885527471205379480110676883) }},
|
||||
{{ SC_(2.0), SC_(0.0078125), SC_(0.989786817339946335270527719280367827578464526769825119042) }},
|
||||
{{ SC_(4.0), SC_(0.0078125), SC_(0.997726554836621271192712333586918701234666824689471509074) }},
|
||||
{{ SC_(10.0), SC_(0.0078125), SC_(1.006376277246758468079371354566456368238591100751823541324) }},
|
||||
|
||||
{{ SC_(3.0), SC_(0.9375), SC_(5.113928167865380160351539253342419752103946700671309533529) }},
|
||||
{{ SC_(3.0), SC_(0.96875), SC_(5.290129126800486420163984038578786523057058196278977075158) }},
|
||||
{{ SC_(3.0), SC_(0.984375), SC_(3.954374448902359698624631492505913763628768659229812956604) }},
|
||||
{{ SC_(3.0), SC_(0.9921875), SC_(1.553099362343907982469558422435780309729767272480250687761) }},
|
||||
|
||||
{{ SC_(0.0), SC_(0.0078125), SC_(1.015625007450580597140668559497101271987479437621158995242) }},
|
||||
{{ SC_(0.0), SC_(0.5), SC_(2.128936827211877158669458548544951324612516539940878092889) }},
|
||||
{{ SC_(0.0), SC_(0.9375), SC_(6.976947123071698246084428957201676843908839940030780606850) }},
|
||||
{{ SC_(0.0), SC_(0.96875), SC_(9.947454796978382607130245293535173220560623896730670936855) }},
|
||||
{{ SC_(0.0), SC_(0.984375), SC_(14.12398706491126638681068088410435889335374416476169364474) }},
|
||||
{{ SC_(0.0), SC_(0.9921875), SC_(20.01377050922054864039693105446212500742825758308336203414) }},
|
||||
}};
|
||||
|
||||
// EllipticTheta[4, z, q]
|
||||
static const boost::array<boost::array<typename table_type<T>::type, 3>, 20> data4 = {{
|
||||
{{ SC_(0.25), SC_(0.5), SC_(0.189666257078605856907477593562312286776776156459895303534) }},
|
||||
{{ SC_(0.5), SC_(0.5), SC_(0.411526533253405515206323680892825857445581901774756902114) }},
|
||||
{{ SC_(1.0), SC_(0.5), SC_(1.330686328485433289294314954726283002076056588770122570003) }},
|
||||
{{ SC_(2.0), SC_(0.5), SC_(1.632130562351990831100773069064726698266264072056233877584) }},
|
||||
{{ SC_(4.0), SC_(0.5), SC_(1.024161147731330827103564503229671566751499815308607281771) }},
|
||||
{{ SC_(10.0), SC_(0.5), SC_(0.512267623558970547872956225451763774220817155272291299008) }},
|
||||
|
||||
{{ SC_(0.25), SC_(0.0078125), SC_(0.986287776496028802869709593974763104913490530471778951141) }},
|
||||
{{ SC_(0.5), SC_(0.0078125), SC_(0.991557773370274771280909909075180928934876164736866576523) }},
|
||||
{{ SC_(1.0), SC_(0.0078125), SC_(1.006502289451024620679171207071841795644771897492095505061) }},
|
||||
{{ SC_(2.0), SC_(0.0078125), SC_(1.010213180491934207237038406874868068814754041886231359135) }},
|
||||
{{ SC_(4.0), SC_(0.0078125), SC_(1.002273430893140443692155306258136796608858362734966941965) }},
|
||||
{{ SC_(10.0), SC_(0.0078125), SC_(0.993623712815089968927968772900270119031604138870447126142) }},
|
||||
|
||||
{{ SC_(1.5), SC_(0.9375), SC_(6.455616598043074010374387709748431776849714249419980311428) }},
|
||||
{{ SC_(1.5), SC_(0.96875), SC_(8.494748959742732967152146642136570398472098411842769875811) }},
|
||||
{{ SC_(1.5), SC_(0.984375), SC_(10.27394960641515008799474668007745853274050682503839614462) }},
|
||||
{{ SC_(1.5), SC_(0.9921875), SC_(10.56322418602486655878408856907764433121023675569880599668) }},
|
||||
|
||||
{{ SC_(0.0), SC_(0.0078125), SC_(0.984375007450580596706987690502899498384498317273182227148) }},
|
||||
{{ SC_(0.0), SC_(0.5), SC_(0.121124208002580502460849293181867505809858246820960597233) }},
|
||||
{{ SC_(0.0), SC_(0.9375), SC_(3.4752705802238602772154431927173524635861732774491547e-16) }},
|
||||
{{ SC_(0.0), SC_(0.96875), SC_(3.5224799214778391114074447929704379790977217720041291e-33) }}
|
||||
// {{ SC_(0.0), SC_(0.984375), SC_(0.0) }},
|
||||
// {{ SC_(0.0), SC_(0.9921875), SC_(0.0) }},
|
||||
}};
|
||||
|
||||
do_test_jacobi_theta1<T>(data1, type_name, "Jacobi Theta 1: Wolfrom Alpha Data");
|
||||
do_test_jacobi_theta2<T>(data2, type_name, "Jacobi Theta 2: Wolfram Alpha Data");
|
||||
do_test_jacobi_theta3<T>(data3, type_name, "Jacobi Theta 3: Wolfram Alpha Data");
|
||||
do_test_jacobi_theta4<T>(data4, type_name, "Jacobi Theta 4: Wolfram Alpha Data");
|
||||
|
||||
#include "jacobi_theta_data.ipp"
|
||||
|
||||
do_test_jacobi_theta_tau<T>(jacobi_theta_data, type_name, "Jacobi Theta: Random Data");
|
||||
|
||||
#include "jacobi_theta_small_tau.ipp"
|
||||
|
||||
do_test_jacobi_theta_tau<T>(jacobi_theta_small_tau_data, type_name, "Jacobi Theta: Random Data (Small Tau)");
|
||||
}
|
||||
|
||||
#define _check_close(a, b, eps) \
|
||||
if (abs(a) < 2 * eps * eps || abs(b) < 2 * eps * eps) { \
|
||||
BOOST_CHECK_SMALL((a) - (b), eps); \
|
||||
} else { \
|
||||
BOOST_CHECK_CLOSE_FRACTION(a, b, eps); \
|
||||
}
|
||||
|
||||
template <typename RealType>
|
||||
inline void test_periodicity(RealType z, RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
|
||||
_check_close(
|
||||
jacobi_theta1(z, q),
|
||||
jacobi_theta1(z + constants::two_pi<RealType>(), q),
|
||||
eps);
|
||||
|
||||
_check_close(
|
||||
jacobi_theta2(z, q),
|
||||
jacobi_theta2(z + constants::two_pi<RealType>(), q),
|
||||
eps);
|
||||
|
||||
_check_close(
|
||||
jacobi_theta3(z, q),
|
||||
jacobi_theta3(z + constants::pi<RealType>(), q),
|
||||
eps);
|
||||
|
||||
_check_close(
|
||||
jacobi_theta4(z, q),
|
||||
jacobi_theta4(z + constants::pi<RealType>(), q),
|
||||
eps);
|
||||
}
|
||||
|
||||
// DLMF 20.2(iii) Translation of the Argument by Half-Periods
|
||||
template <typename RealType>
|
||||
inline void test_argument_translation(RealType z, RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
|
||||
_check_close( // DLMF 20.2.11
|
||||
jacobi_theta1(z, q),
|
||||
-jacobi_theta2(z + constants::half_pi<RealType>(), q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.2.12
|
||||
jacobi_theta2(z, q),
|
||||
jacobi_theta1(z + constants::half_pi<RealType>(), q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.2.13
|
||||
jacobi_theta3(z, q),
|
||||
jacobi_theta4(z + constants::half_pi<RealType>(), q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.2.14
|
||||
jacobi_theta4(z, q),
|
||||
jacobi_theta3(z + constants::half_pi<RealType>(), q),
|
||||
eps);
|
||||
}
|
||||
|
||||
// DLMF 20.7(i) Sums of Squares
|
||||
template <typename RealType>
|
||||
inline void test_sums_of_squares(RealType z, RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
|
||||
_check_close( // DLMF 20.7.1
|
||||
jacobi_theta3(RealType(0), q) * jacobi_theta3(z, q),
|
||||
hypot(
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta4(z, q),
|
||||
jacobi_theta2(RealType(0), q) * jacobi_theta2(z, q)),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.2
|
||||
jacobi_theta3(RealType(0), q) * jacobi_theta4(z, q),
|
||||
hypot(
|
||||
jacobi_theta2(RealType(0), q) * jacobi_theta1(z, q),
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta3(z, q)),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.3
|
||||
jacobi_theta2(RealType(0), q) * jacobi_theta4(z, q),
|
||||
hypot(
|
||||
jacobi_theta3(RealType(0), q) * jacobi_theta1(z, q),
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta2(z, q)),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.4
|
||||
jacobi_theta2(RealType(0), q) * jacobi_theta3(z, q),
|
||||
hypot(
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta1(z, q),
|
||||
jacobi_theta3(RealType(0), q) * jacobi_theta2(z, q)),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.5 (no z)
|
||||
jacobi_theta3(RealType(0), q) * jacobi_theta3(RealType(0), q),
|
||||
hypot(
|
||||
jacobi_theta2(RealType(0), q) * jacobi_theta2(RealType(0), q),
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta4(RealType(0), q)),
|
||||
eps);
|
||||
}
|
||||
|
||||
// DLMF 20.7(ii) Addition Formulas
|
||||
template <typename RealType>
|
||||
inline void test_addition_formulas(RealType z, RealType w, RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
|
||||
_check_close( // DLMF 20.7.6
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta4(RealType(0), q) *
|
||||
jacobi_theta1(w + z, q) * jacobi_theta1(w - z, q),
|
||||
jacobi_theta3(w, q) * jacobi_theta3(w, q) * jacobi_theta2(z, q) * jacobi_theta2(z, q) -
|
||||
jacobi_theta2(w, q) * jacobi_theta2(w, q) * jacobi_theta3(z, q) * jacobi_theta3(z, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.7
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta4(RealType(0), q) *
|
||||
jacobi_theta2(w + z, q) * jacobi_theta2(w - z, q),
|
||||
jacobi_theta4(w, q) * jacobi_theta4(w, q) * jacobi_theta2(z, q) * jacobi_theta2(z, q) -
|
||||
jacobi_theta1(w, q) * jacobi_theta1(w, q) * jacobi_theta3(z, q) * jacobi_theta3(z, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.8
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta4(RealType(0), q) *
|
||||
jacobi_theta3(w + z, q) * jacobi_theta3(w - z, q),
|
||||
jacobi_theta4(w, q) * jacobi_theta4(w, q) * jacobi_theta3(z, q) * jacobi_theta3(z, q) -
|
||||
jacobi_theta1(w, q) * jacobi_theta1(w, q) * jacobi_theta2(z, q) * jacobi_theta2(z, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.9
|
||||
jacobi_theta4(RealType(0), q) * jacobi_theta4(RealType(0), q) *
|
||||
jacobi_theta4(w + z, q) * jacobi_theta4(w - z, q),
|
||||
jacobi_theta3(w, q) * jacobi_theta3(w, q) * jacobi_theta3(z, q) * jacobi_theta3(z, q) -
|
||||
jacobi_theta2(w, q) * jacobi_theta2(w, q) * jacobi_theta2(z, q) * jacobi_theta2(z, q),
|
||||
eps);
|
||||
}
|
||||
|
||||
// DLMF 20.7(iii) Duplication Formula
|
||||
template <typename RealType>
|
||||
inline void test_duplication_formula(RealType z, RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
|
||||
_check_close( // DLMF 20.7.10
|
||||
jacobi_theta1(z + z, q) * jacobi_theta2(RealType(0), q) * jacobi_theta3(RealType(0), q) * jacobi_theta4(RealType(0), q),
|
||||
RealType(2) * jacobi_theta1(z, q) * jacobi_theta2(z, q) * jacobi_theta3(z, q) * jacobi_theta4(z, q),
|
||||
eps);
|
||||
}
|
||||
|
||||
// DLMF 20.7(iv) Transformations of Nome
|
||||
template <typename RealType>
|
||||
inline void test_transformations_of_nome(RealType z, RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
|
||||
_check_close( // DLMF 20.7.11
|
||||
jacobi_theta1(z, q) * jacobi_theta2(z, q) * jacobi_theta4(z + z, q * q),
|
||||
jacobi_theta3(z, q) * jacobi_theta4(z, q) * jacobi_theta1(z + z, q * q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.12
|
||||
jacobi_theta1(z, q * q) * jacobi_theta4(z, q * q) * jacobi_theta2(z, q),
|
||||
jacobi_theta2(z, q * q) * jacobi_theta3(z, q * q) * jacobi_theta1(z, q),
|
||||
eps);
|
||||
}
|
||||
|
||||
// DLMF 20.7(v) Watson's Identities
|
||||
template <typename RealType>
|
||||
inline void test_watsons_identities(RealType z, RealType w, RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
|
||||
// Rearrange DLMF equations to get q*q on each side of the equality
|
||||
|
||||
_check_close( // DLMF 20.7.13
|
||||
jacobi_theta1(z, q) * jacobi_theta1(w, q)
|
||||
+ jacobi_theta2(z + w, q * q) * jacobi_theta3(z - w, q * q),
|
||||
jacobi_theta3(z + w, q * q) * jacobi_theta2(z - w, q * q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.14
|
||||
jacobi_theta3(z, q) * jacobi_theta3(w, q)
|
||||
- jacobi_theta2(z + w, q * q) * jacobi_theta2(z - w, q * q),
|
||||
jacobi_theta3(z + w, q * q) * jacobi_theta3(z - w, q * q),
|
||||
eps);
|
||||
|
||||
_check_close( // MathWorld Eqn. 48
|
||||
jacobi_theta3(z, q) - jacobi_theta2(z + z, q*q*q*q),
|
||||
jacobi_theta3(z + z, q*q*q*q),
|
||||
eps);
|
||||
|
||||
_check_close( // MathWorld Eqn. 49
|
||||
jacobi_theta4(z, q) + jacobi_theta2(z + z, q*q*q*q),
|
||||
jacobi_theta3(z + z, q*q*q*q),
|
||||
eps);
|
||||
}
|
||||
|
||||
template <typename RealType>
|
||||
inline void test_landen_transformations(RealType z, RealType tau, RealType eps) {
|
||||
// A and B below are the reciprocals of their DLMF definitions
|
||||
using namespace boost::math;
|
||||
|
||||
// DLMF 20.7.15 (reciprocal)
|
||||
RealType A = jacobi_theta4tau(RealType(0), tau + tau);
|
||||
|
||||
_check_close( // DLMF 20.7.16
|
||||
jacobi_theta1tau(z + z, tau + tau) * A,
|
||||
jacobi_theta1tau(z, tau) * jacobi_theta2tau(z, tau),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.17
|
||||
jacobi_theta2tau(z + z, tau + tau) * A,
|
||||
jacobi_theta1tau(constants::quarter_pi<RealType>() - z, tau) * jacobi_theta1tau(constants::quarter_pi<RealType>() + z, tau),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.18
|
||||
jacobi_theta3tau(z + z, tau + tau) * A,
|
||||
jacobi_theta3tau(constants::quarter_pi<RealType>() - z, tau) * jacobi_theta3tau(constants::quarter_pi<RealType>() + z, tau),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.19
|
||||
jacobi_theta4tau(z + z, tau + tau) * A,
|
||||
jacobi_theta3tau(z, tau) * jacobi_theta4tau(z, tau),
|
||||
eps);
|
||||
|
||||
// DLMF 20.7.20 (reciprocal)
|
||||
RealType B = jacobi_theta3tau(RealType(0), tau) * jacobi_theta4tau(RealType(0), tau) * jacobi_theta3tau(constants::quarter_pi<RealType>(), tau);
|
||||
|
||||
_check_close( // DLMF 20.7.21
|
||||
jacobi_theta1tau(4*z, 4*tau) * B,
|
||||
jacobi_theta1tau(z, tau)
|
||||
* jacobi_theta1tau(constants::quarter_pi<RealType>() - z, tau)
|
||||
* jacobi_theta1tau(constants::quarter_pi<RealType>() + z, tau)
|
||||
* jacobi_theta2tau(z, tau),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.22
|
||||
jacobi_theta2tau(4*z, 4*tau) * B,
|
||||
jacobi_theta2tau(constants::quarter_pi<RealType>()/2 - z, tau)
|
||||
* jacobi_theta2tau(constants::quarter_pi<RealType>()/2 + z, tau)
|
||||
* jacobi_theta2tau(constants::three_quarters_pi<RealType>()/2 - z, tau)
|
||||
* jacobi_theta2tau(constants::three_quarters_pi<RealType>()/2 + z, tau),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.23
|
||||
jacobi_theta3tau(4*z, 4*tau) * B,
|
||||
jacobi_theta3tau(constants::quarter_pi<RealType>()/2 - z, tau)
|
||||
* jacobi_theta3tau(constants::quarter_pi<RealType>()/2 + z, tau)
|
||||
* jacobi_theta3tau(constants::three_quarters_pi<RealType>()/2 - z, tau)
|
||||
* jacobi_theta3tau(constants::three_quarters_pi<RealType>()/2 + z, tau),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 20.7.24
|
||||
jacobi_theta4tau(4*z, 4*tau) * B,
|
||||
jacobi_theta4tau(z, tau)
|
||||
* jacobi_theta4tau(constants::quarter_pi<RealType>() - z, tau)
|
||||
* jacobi_theta4tau(constants::quarter_pi<RealType>() + z, tau)
|
||||
* jacobi_theta3tau(z, tau),
|
||||
eps);
|
||||
}
|
||||
|
||||
template <typename RealType>
|
||||
inline void test_special_values(RealType eps) {
|
||||
// https://mathworld.wolfram.com/JacobiThetaFunctions.html (Eq. 45)
|
||||
using namespace boost::math;
|
||||
BOOST_MATH_STD_USING
|
||||
|
||||
_check_close(
|
||||
tgamma(RealType(0.75)) * jacobi_theta3tau(RealType(0), RealType(1)),
|
||||
sqrt(constants::root_pi<RealType>()),
|
||||
eps);
|
||||
|
||||
_check_close(
|
||||
tgamma(RealType(1.25))
|
||||
* constants::root_pi<RealType>()
|
||||
* sqrt(sqrt(constants::root_two<RealType>()))
|
||||
* jacobi_theta3tau(RealType(0), constants::root_two<RealType>()),
|
||||
tgamma(RealType(1.125))
|
||||
* sqrt(tgamma(RealType(0.25))),
|
||||
eps);
|
||||
|
||||
_check_close(
|
||||
tgamma(RealType(0.75))
|
||||
* sqrt(constants::root_two<RealType>())
|
||||
* jacobi_theta4tau(RealType(0), RealType(1)),
|
||||
sqrt(constants::root_pi<RealType>()),
|
||||
eps);
|
||||
}
|
||||
|
||||
template <typename RealType>
|
||||
inline void test_mellin_transforms(RealType s, RealType integration_eps, RealType result_eps) {
|
||||
using namespace boost::math;
|
||||
BOOST_MATH_STD_USING
|
||||
|
||||
boost::math::quadrature::exp_sinh<RealType> integrator;
|
||||
|
||||
auto f2 = [&, s](RealType t)
|
||||
{
|
||||
if (t*t == 0.f)
|
||||
return RealType(0);
|
||||
if (t > sqrt(sqrt(std::numeric_limits<RealType>::max())))
|
||||
return RealType(0);
|
||||
|
||||
return pow(t, s-1) * jacobi_theta2tau(RealType(0), t*t);
|
||||
};
|
||||
|
||||
auto f3 = [&, s](RealType t)
|
||||
{
|
||||
if (t*t == 0.f)
|
||||
return RealType(0);
|
||||
if (t > sqrt(sqrt(std::numeric_limits<RealType>::max())))
|
||||
return RealType(0);
|
||||
|
||||
return pow(t, s-1) * jacobi_theta3m1tau(RealType(0), t*t);
|
||||
};
|
||||
|
||||
auto f4 = [&, s](RealType t)
|
||||
{
|
||||
if (t*t == 0.f)
|
||||
return RealType(0);
|
||||
if (t > sqrt(sqrt(std::numeric_limits<RealType>::max())))
|
||||
return RealType(0);
|
||||
|
||||
return -pow(t, s-1) * jacobi_theta4m1tau(RealType(0), t*t);
|
||||
};
|
||||
|
||||
_check_close( // DLMF 20.10.1
|
||||
integrator.integrate(f2, integration_eps),
|
||||
(pow(RealType(2), s) - 1) * pow(constants::pi<RealType>(), -0.5*s) * tgamma(0.5*s) * zeta(s),
|
||||
result_eps);
|
||||
|
||||
_check_close( // DLMF 20.10.2
|
||||
integrator.integrate(f3, integration_eps),
|
||||
pow(constants::pi<RealType>(), -0.5*s) * tgamma(0.5*s) * zeta(s),
|
||||
result_eps);
|
||||
|
||||
_check_close( // DLMF 20.10.3
|
||||
integrator.integrate(f4, integration_eps),
|
||||
(1 - pow(RealType(2), 1 - s)) * pow(constants::pi<RealType>(), -0.5*s) * tgamma(0.5*s) * zeta(s),
|
||||
result_eps);
|
||||
}
|
||||
|
||||
template <typename RealType>
|
||||
inline void test_laplace_transforms(RealType s, RealType integration_eps, RealType result_eps) {
|
||||
using namespace boost::math;
|
||||
BOOST_MATH_STD_USING
|
||||
|
||||
RealType beta = -0.5;
|
||||
RealType l = sinh(abs(beta)) + 1.0;
|
||||
|
||||
boost::math::quadrature::exp_sinh<RealType> integrator;
|
||||
|
||||
auto f1 = [&, s, l, beta](RealType t)
|
||||
{
|
||||
return exp(-s*t) * jacobi_theta1tau(0.5 * beta * constants::pi<RealType>() / l,
|
||||
constants::pi<RealType>() * t / l / l);
|
||||
};
|
||||
|
||||
auto f4 = [&, s, l, beta](RealType t)
|
||||
{
|
||||
return exp(-s*t) * jacobi_theta4tau(0.5 * beta * constants::pi<RealType>() / l,
|
||||
constants::pi<RealType>() * t / l / l);
|
||||
};
|
||||
|
||||
_check_close( // DLMF 20.10.4 says the RHS should be negative?
|
||||
integrator.integrate(f1, integration_eps),
|
||||
l/sqrt(s)*sinh(beta*sqrt(s))/cosh(l*sqrt(s)),
|
||||
result_eps);
|
||||
|
||||
_check_close( // DLMF 20.10.5
|
||||
integrator.integrate(f4, integration_eps),
|
||||
l/sqrt(s)*cosh(beta*sqrt(s))/sinh(l*sqrt(s)),
|
||||
result_eps);
|
||||
|
||||
// TODO - DLMF defines two additional relations for theta2 and theta3, but
|
||||
// these do not match the computed values at all.
|
||||
}
|
||||
|
||||
template <typename RealType>
|
||||
inline void test_elliptic_functions(RealType z, RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
BOOST_MATH_STD_USING
|
||||
|
||||
RealType t2 = jacobi_theta2(RealType(0), q);
|
||||
RealType t3 = jacobi_theta3(RealType(0), q);
|
||||
RealType t4 = jacobi_theta4(RealType(0), q);
|
||||
RealType k = t2 * t2 / (t3 * t3);
|
||||
RealType xi = z / (t3 * t3);
|
||||
|
||||
_check_close( // DLMF 22.2.4
|
||||
jacobi_sn(k, z) *
|
||||
t2 * jacobi_theta4(xi, q),
|
||||
t3 * jacobi_theta1(xi, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 22.2.5
|
||||
jacobi_cn(k, z) *
|
||||
t2 * jacobi_theta4(xi, q),
|
||||
t4 * jacobi_theta2(xi, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 22.2.6
|
||||
jacobi_dn(k, z) *
|
||||
t3 * jacobi_theta4(xi, q),
|
||||
t4 * jacobi_theta3(xi, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 22.2.7
|
||||
jacobi_sd(k, z) *
|
||||
t2 * t4 * jacobi_theta3(xi, q),
|
||||
t3 * t3 * jacobi_theta1(xi, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 22.2.8
|
||||
jacobi_cd(k, z) *
|
||||
t2 * jacobi_theta3(xi, q),
|
||||
t3 * jacobi_theta2(xi, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 22.2.9
|
||||
jacobi_cd(k, z) *
|
||||
t2 * jacobi_theta3(xi, q),
|
||||
t3 * jacobi_theta2(xi, q),
|
||||
eps);
|
||||
|
||||
_check_close( // DLMF 22.2.9
|
||||
jacobi_sc(k, z) *
|
||||
t4 * jacobi_theta2(xi, q),
|
||||
t3 * jacobi_theta1(xi, q),
|
||||
eps);
|
||||
}
|
||||
|
||||
template <typename RealType>
|
||||
inline void test_elliptic_integrals(RealType q, RealType eps) {
|
||||
using namespace boost::math;
|
||||
BOOST_MATH_STD_USING
|
||||
|
||||
RealType t2 = jacobi_theta2(RealType(0), q);
|
||||
RealType t3 = jacobi_theta3(RealType(0), q);
|
||||
RealType t4 = jacobi_theta4(RealType(0), q);
|
||||
RealType k = t2*t2 / (t3*t3);
|
||||
RealType k1= t4*t4 / (t3*t3);
|
||||
|
||||
if (t3*t3*t3*t3 != 0.f && t4*t4*t4*t4 != 0.f) {
|
||||
_check_close( // DLMF 20.9.4
|
||||
ellint_rf(RealType(0), t3*t3*t3*t3, t4*t4*t4*t4),
|
||||
constants::half_pi<RealType>(),
|
||||
eps);
|
||||
}
|
||||
|
||||
if (k*k != 0.f && k1*k1 != 0.f) {
|
||||
_check_close( // DLMF 20.9.5
|
||||
ellint_rf(RealType(0), k1*k1, RealType(1))
|
||||
* log(q) / constants::pi<RealType>(),
|
||||
-ellint_rf(RealType(0), k*k, RealType(1)),
|
||||
eps);
|
||||
}
|
||||
}
|
||||
@@ -189,6 +189,9 @@ install hermite_data_install : hermite_data : <location>bin ;
|
||||
exe hyp_2f1_data : hyp_2f1_data.cpp ;
|
||||
install hyp_2f1_data_install : hyp_2f1_data : <location>bin ;
|
||||
|
||||
exe jacobi_theta_data : jacobi_theta_data.cpp ;
|
||||
install jacobi_theta_data_install : jacobi_theta_data : <location>bin ;
|
||||
|
||||
exe jacobi_zeta_data : jacobi_zeta_data.cpp ;
|
||||
install jacobi_zeta_data_install : jacobi_zeta_data : <location>bin ;
|
||||
|
||||
|
||||
66
tools/jacobi_theta_data.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
#include "mp_t.hpp"
|
||||
#include <boost/math/tools/test_data.hpp>
|
||||
#include <boost/test/included/prg_exec_monitor.hpp>
|
||||
#include <boost/math/special_functions/jacobi_theta.hpp>
|
||||
#include <fstream>
|
||||
#include <boost/math/tools/test_data.hpp>
|
||||
|
||||
using namespace boost::math::tools;
|
||||
using namespace boost::math;
|
||||
using namespace std;
|
||||
|
||||
struct jacobi_theta_data_generator
|
||||
{
|
||||
boost::math::tuple<mp_t, mp_t, mp_t, mp_t> operator()(mp_t z, mp_t tau)
|
||||
{
|
||||
return boost::math::make_tuple(
|
||||
jacobi_theta1tau(z, tau),
|
||||
jacobi_theta2tau(z, tau),
|
||||
jacobi_theta3tau(z, tau),
|
||||
jacobi_theta4tau(z, tau));
|
||||
}
|
||||
};
|
||||
|
||||
int cpp_main(int argc, char*argv [])
|
||||
{
|
||||
parameter_info<mp_t> arg1, arg2;
|
||||
test_data<mp_t> data;
|
||||
|
||||
bool cont;
|
||||
std::string line;
|
||||
|
||||
if(argc < 1)
|
||||
return 1;
|
||||
|
||||
std::cout << "Welcome.\n"
|
||||
"This program will generate spot tests for the Jacobi Theta functions.\n"
|
||||
;
|
||||
|
||||
do{
|
||||
if(0 == get_user_parameter_info(arg1, "z"))
|
||||
return 1;
|
||||
if(0 == get_user_parameter_info(arg2, "tau"))
|
||||
return 1;
|
||||
|
||||
data.insert(jacobi_theta_data_generator(), arg1, arg2);
|
||||
|
||||
std::cout << "Any more data [y/n]?";
|
||||
std::getline(std::cin, line);
|
||||
boost::algorithm::trim(line);
|
||||
cont = (line == "y");
|
||||
} while(cont);
|
||||
|
||||
std::cout << "Generating " << data.size() << " test points.";
|
||||
|
||||
std::cout << "Enter name of test data file [default=jacobi_theta.ipp]";
|
||||
std::getline(std::cin, line);
|
||||
boost::algorithm::trim(line);
|
||||
if(line == "")
|
||||
line = "jacobi_theta.ipp";
|
||||
std::ofstream ofs(line.c_str());
|
||||
ofs << std::scientific << std::setprecision(40);
|
||||
write_code(ofs, data, "jacobi_theta_data");
|
||||
|
||||
return 0;
|
||||
}
|
||||