|
||||
File indexing completed on 2025-01-18 09:40:05
0001 0002 /////////////////////////////////////////////////////////////////////////////// 0003 // Copyright 2018 John Maddock 0004 // Distributed under the Boost 0005 // Software License, Version 1.0. (See accompanying file 0006 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 0007 // 0008 #ifndef BOOST_MATH_HYPERGEOMETRIC_1F1_CF_HPP 0009 #define BOOST_MATH_HYPERGEOMETRIC_1F1_CF_HPP 0010 // 0011 // Evaluation of 1F1 by continued fraction 0012 // by asymptotic approximation for large a, 0013 // see https://dlmf.nist.gov/13.8#E9 0014 // 0015 // This is not terribly useful, as it only gets a few digits correct even for very 0016 // large a, also needs b and z small: 0017 // 0018 0019 0020 namespace boost { namespace math { namespace detail { 0021 0022 template <class T, class Policy> 0023 T hypergeometric_1F1_large_neg_a_asymtotic_dlmf_13_8_9(T a, T b, T z, const Policy& pol) 0024 { 0025 T result = boost::math::cyl_bessel_j(b - 1, sqrt(2 * z * (b - 2 * a)), pol); 0026 result *= boost::math::tgamma(b, pol) * exp(z / 2); 0027 T p = pow((b / 2 - a) * z, (1 - b) / 4); 0028 result *= p; 0029 result *= p; 0030 return result; 0031 } 0032 0033 } } } // namespaces 0034 0035 #endif // BOOST_MATH_HYPERGEOMETRIC_1F1_BESSEL_HPP
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |