[/ Copyright (c) 2012 John Maddock 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:airy Airy Functions] [section:ai Airy Ai Function] [heading Synopsis] `` #include `` namespace boost { namespace math { template ``__sf_result`` airy_ai(T x); template ``__sf_result`` airy_ai(T x, const Policy&); }} // namespaces [heading Description] The function __airy_ai calculates the Airy function Ai which is the first solution to the differential equation: [equation airy] See Weisstein, Eric W. "Airy Functions." From MathWorld--A Wolfram Web Resource. [@http://mathworld.wolfram.com/AiryFunctions.html]; [optional_policy] The following graph illustrates how this function changes as /x/ changes: for negative /x/ the function is cyclic, while for positive /x/ the value tends to zero: [graph airy_ai] [heading Accuracy] This function is implemented entirely in terms of the Bessel functions __cyl_bessel_j and __cyl_bessel_k - refer to those functions for detailed accuracy information. In general though, the relative error is low (less than 100 [epsilon]) for /x > 0/ while only the absolute error is low for /x < 0/. [heading Testing] Since this function is implemented in terms of other special functions, there are only a few basic sanity checks, using test values from [@http://functions.wolfram.com/ Wolfram Airy Functions]. [heading Implementation] This function is implemented in terms of the Bessel functions using the relations: [equation airy_ai] [endsect] [section:bi Airy Bi Function] [heading Synopsis] `` #include `` namespace boost { namespace math { template ``__sf_result`` airy_bi(T x); template ``__sf_result`` airy_bi(T x, const Policy&); }} // namespaces [heading Description] The function __airy_bi calculates the Airy function Bi which is the second solution to the differential equation: [equation airy] [optional_policy] The following graph illustrates how this function changes as /x/ changes: for negative /x/ the function is cyclic, while for positive /x/ the value tends to infinity: [graph airy_bi] [heading Accuracy] This function is implemented entirely in terms of the Bessel functions __cyl_bessel_i and __cyl_bessel_j - refer to those functions for detailed accuracy information. In general though, the relative error is low (less than 100 [epsilon]) for /x > 0/ while only the absolute error is low for /x < 0/. [heading Testing] Since this function is implemented in terms of other special functions, there are only a few basic sanity checks, using test values from [@http://functions.wolfram.com functions.wolfram.com]. [heading Implementation] This function is implemented in terms of the Bessel functions using the relations: [equation airy_bi] [endsect] [section:aip Airy Ai' Function] [heading Synopsis] `` #include `` namespace boost { namespace math { template ``__sf_result`` airy_ai_prime(T x); template ``__sf_result`` airy_ai_prime(T x, const Policy&); }} // namespaces [heading Description] The function __airy_ai_prime calculates the Airy function Ai' which is the derivative of the first solution to the differential equation: [equation airy] [optional_policy] The following graph illustrates how this function changes as /x/ changes: for negative /x/ the function is cyclic, while for positive /x/ the value tends to zero: [graph airy_aip] [heading Accuracy] This function is implemented entirely in terms of the Bessel functions __cyl_bessel_j and __cyl_bessel_k - refer to those functions for detailed accuracy information. In general though, the relative error is low (less than 100 [epsilon]) for /x > 0/ while only the absolute error is low for /x < 0/. [heading Testing] Since this function is implemented in terms of other special functions, there are only a few basic sanity checks, using test values from [@http://functions.wolfram.com functions.wolfram.com]. [heading Implementation] This function is implemented in terms of the Bessel functions using the relations: [equation airy_aip] [endsect] [section:bip Airy Bi' Function] [heading Synopsis] `` #include `` namespace boost { namespace math { template ``__sf_result`` airy_bi_prime(T x); template ``__sf_result`` airy_bi_prime(T x, const Policy&); }} // namespaces [heading Description] The function __airy_bi_prime calculates the Airy function Bi' which is the derivative of the second solution to the differential equation: [equation airy] [optional_policy] The following graph illustrates how this function changes as /x/ changes: for negative /x/ the function is cyclic, while for positive /x/ the value tends to infinity: [graph airy_bi] [heading Accuracy] This function is implemented entirely in terms of the Bessel functions __cyl_bessel_i and __cyl_bessel_j - refer to those functions for detailed accuracy information. In general though, the relative error is low (less than 100 [epsilon]) for /x > 0/ while only the absolute error is low for /x < 0/. [heading Testing] Since this function is implemented in terms of other special functions, there are only a few basic sanity checks, using test values from [@http://functions.wolfram.com functions.wolfram.com]. [heading Implementation] This function is implemented in terms of the Bessel functions using the relations: [equation airy_bip] [endsect] [endsect]