3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Airy Ai Function</title>
5 <link rel="stylesheet" href="../../math.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../index.html" title="Math Toolkit 2.11.0">
8 <link rel="up" href="../airy.html" title="Airy Functions">
9 <link rel="prev" href="../airy.html" title="Airy Functions">
10 <link rel="next" href="bi.html" title="Airy Bi Function">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="../airy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.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="bi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="math_toolkit.airy.ai"></a><a class="link" href="ai.html" title="Airy Ai Function">Airy Ai Function</a>
28 </h3></div></div></div>
30 <a name="math_toolkit.airy.ai.h0"></a>
31 <span class="phrase"><a name="math_toolkit.airy.ai.synopsis"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.synopsis">Synopsis</a>
33 <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">airy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
35 <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>
37 <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
38 <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">airy_ai</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
40 <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">Policy</span><span class="special">></span>
41 <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">airy_ai</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&);</span>
43 <span class="special">}}</span> <span class="comment">// namespaces</span>
46 <a name="math_toolkit.airy.ai.h1"></a>
47 <span class="phrase"><a name="math_toolkit.airy.ai.description"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.description">Description</a>
50 The function <a class="link" href="ai.html" title="Airy Ai Function">airy_ai</a> calculates
51 the Airy function Ai which is the first solution to the differential equation:
53 <div class="blockquote"><blockquote class="blockquote"><p>
54 <span class="inlinemediaobject"><img src="../../../equations/airy.svg"></span>
56 </p></blockquote></div>
58 See Weisstein, Eric W. "Airy Functions." From MathWorld--A Wolfram
59 Web Resource. <a href="http://mathworld.wolfram.com/AiryFunctions.html" target="_top">http://mathworld.wolfram.com/AiryFunctions.html</a>
62 and <a href="https://en.wikipedia.org/wiki/Airy_zeta_function" target="_top">Airy Zeta
66 The final <a class="link" href="../../policy.html" title="Chapter 20. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
67 be used to control the behaviour of the function: how it handles errors,
68 what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 20. Policies: Controlling Precision, Error Handling etc">policy
69 documentation for more details</a>.
72 The following graph illustrates how this function changes as <span class="emphasis"><em>x</em></span>
73 changes: for negative <span class="emphasis"><em>x</em></span> the function is cyclic, while
74 for positive <span class="emphasis"><em>x</em></span> the value tends to zero:
76 <div class="blockquote"><blockquote class="blockquote"><p>
77 <span class="inlinemediaobject"><img src="../../../graphs/airy_ai.svg" align="middle"></span>
79 </p></blockquote></div>
81 <a name="math_toolkit.airy.ai.h2"></a>
82 <span class="phrase"><a name="math_toolkit.airy.ai.accuracy"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.accuracy">Accuracy</a>
85 This function is implemented entirely in terms of the Bessel functions <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a> and <a class="link" href="../bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a> - refer to those
86 functions for detailed accuracy information.
89 In general though, the relative error is low (less than 100 ε) for <span class="emphasis"><em>x
90 > 0</em></span> while only the absolute error is low for <span class="emphasis"><em>x <
91 0</em></span> as the following error plot illustrates:
93 <div class="blockquote"><blockquote class="blockquote"><p>
94 <span class="inlinemediaobject"><img src="../../../graphs/ai__double.svg" align="middle"></span>
96 </p></blockquote></div>
98 <a name="math_toolkit.airy.ai.h3"></a>
99 <span class="phrase"><a name="math_toolkit.airy.ai.testing"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.testing">Testing</a>
102 Since this function is implemented in terms of other special functions, there
103 are only a few basic sanity checks, using test values from <a href="http://functions.wolfram.com/" target="_top">Wolfram
107 <a name="math_toolkit.airy.ai.h4"></a>
108 <span class="phrase"><a name="math_toolkit.airy.ai.implementation"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.implementation">Implementation</a>
111 This function is implemented in terms of the Bessel functions using the relations:
113 <div class="blockquote"><blockquote class="blockquote"><p>
114 <span class="inlinemediaobject"><img src="../../../equations/airy_ai.svg"></span>
116 </p></blockquote></div>
118 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
119 <td align="left"></td>
120 <td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar
121 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
122 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
123 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
124 Daryle Walker and Xiaogang Zhang<p>
125 Distributed under the Boost Software License, Version 1.0. (See accompanying
126 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
131 <div class="spirit-nav">
132 <a accesskey="p" href="../airy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.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="bi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>