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.5.2">
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:
54 <span class="inlinemediaobject"><img src="../../../equations/airy.svg"></span>
57 See Weisstein, Eric W. "Airy Functions." From MathWorld--A Wolfram
58 Web Resource. <a href="http://mathworld.wolfram.com/AiryFunctions.html" target="_top">http://mathworld.wolfram.com/AiryFunctions.html</a>;
61 The final <a class="link" href="../../policy.html" title="Chapter 15. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
62 be used to control the behaviour of the function: how it handles errors,
63 what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 15. Policies: Controlling Precision, Error Handling etc">policy
64 documentation for more details</a>.
67 The following graph illustrates how this function changes as <span class="emphasis"><em>x</em></span>
68 changes: for negative <span class="emphasis"><em>x</em></span> the function is cyclic, while
69 for positive <span class="emphasis"><em>x</em></span> the value tends to zero:
72 <span class="inlinemediaobject"><img src="../../../graphs/airy_ai.svg" align="middle"></span>
75 <a name="math_toolkit.airy.ai.h2"></a>
76 <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>
79 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
80 functions for detailed accuracy information.
83 In general though, the relative error is low (less than 100 ε) for <span class="emphasis"><em>x
84 > 0</em></span> while only the absolute error is low for <span class="emphasis"><em>x <
88 <a name="math_toolkit.airy.ai.h3"></a>
89 <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>
92 Since this function is implemented in terms of other special functions, there
93 are only a few basic sanity checks, using test values from <a href="http://functions.wolfram.com/" target="_top">Wolfram
97 <a name="math_toolkit.airy.ai.h4"></a>
98 <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>
101 This function is implemented in terms of the Bessel functions using the relations:
104 <span class="inlinemediaobject"><img src="../../../equations/airy_ai.svg"></span>
107 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
108 <td align="left"></td>
109 <td align="right"><div class="copyright-footer">Copyright © 2006-2010, 2012-2014 Nikhar Agrawal,
110 Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
111 Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Johan Råde, Gautam Sewani,
112 Benjamin Sobotta, Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
113 Distributed under the Boost Software License, Version 1.0. (See accompanying
114 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>)
119 <div class="spirit-nav">
120 <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>