| [/ |
| 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 <boost/math/special_functions/airy.hpp> |
| `` |
| |
| namespace boost { namespace math { |
| |
| template <class T> |
| ``__sf_result`` airy_ai(T x); |
| |
| template <class T, class Policy> |
| ``__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 <boost/math/special_functions/airy.hpp> |
| `` |
| |
| namespace boost { namespace math { |
| |
| template <class T> |
| ``__sf_result`` airy_bi(T x); |
| |
| template <class T, class Policy> |
| ``__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 <boost/math/special_functions/airy.hpp> |
| `` |
| |
| namespace boost { namespace math { |
| |
| template <class T> |
| ``__sf_result`` airy_ai_prime(T x); |
| |
| template <class T, class Policy> |
| ``__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 <boost/math/special_functions/airy.hpp> |
| `` |
| |
| namespace boost { namespace math { |
| |
| template <class T> |
| ``__sf_result`` airy_bi_prime(T x); |
| |
| template <class T, class Policy> |
| ``__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] |
| |