2
0
mirror of https://github.com/boostorg/math.git synced 2026-02-11 11:52:21 +00:00
Commit Graph

1842 Commits

Author SHA1 Message Date
jzmaddock
d907eb347a 1F1: Improve bessel approximation fallback methods. 2018-12-15 11:57:16 +00:00
jzmaddock
b8a94228ad 1F1: rewrite the large-z asymptotic approximation to prevent moving into the divergent area. 2018-12-15 11:56:44 +00:00
jzmaddock
0816bf0e87 1F1: improve bessel function failure modes, and improve selection logic. 2018-12-10 19:26:56 +00:00
jzmaddock
ce6b50fb90 1F1: Fix up issues with very small a.
[CI SKIP]
2018-12-09 16:45:09 +00:00
jzmaddock
a6e2b2107e 1F1: change parameters to hypergeometric_1F1_AS_13_3_6.
In case we're applying Kummer's relation and then calling this.
[CI SKIP]
2018-12-09 08:47:56 +00:00
jzmaddock
847b39a0ab 1F1: rework recurrence relations.
[CI SKIP]
2018-12-04 19:24:34 +00:00
jzmaddock
fad061124f 1F1: Slowly improving accuracy for small a, b, z.
Also added a new bessel approximation (which is not that useful to be honest).
[CI SKIP]
2018-12-02 18:04:27 +00:00
jzmaddock
4041d6ee55 Merge branch 'hypergeometric_soc_2014' of https://github.com/boostorg/math into hypergeometric_soc_2014 2018-11-28 19:19:21 +00:00
jzmaddock
19150f8c0b 1F1: add addition theorem routines.
None of these are used yet...
[CI SKIP]
2018-11-28 19:18:58 +00:00
Nick Thompson
fb71b01cfc Remove initialization order warning [CI SKIP] 2018-11-24 17:41:03 -07:00
jzmaddock
2a0f5f111c 1F1: more changes to negative a and b domain.
* Bessel approximation is now good for b-2a <= 0 via Tricomi's relations.
* Selection condition based on convergence is now more rigorous, or at least more conservative.  But...
* Error rates are much higher because a poorly converging bessel approximation has slightly less cancellation than the generic series.  Hopefully this can be fixed via https://dlmf.nist.gov/13.13.  And...
* We need to rewrite these new versions to use recurrence relations on the Bessel functions (but these need to be backwards, so we would calculate and cache say 50 evaluations, then the next 50 and so on).  And...
* Bessel approximations can underflow spuriously when b is large.... really need a log_bessel_j to fix this as we will be multiplying by tgamma(b).

[CI SKIP]
2018-11-24 12:10:10 +00:00
jzmaddock
20cab7704e Merge branch 'hypergeometric_soc_2014' of https://github.com/boostorg/math into hypergeometric_soc_2014 2018-11-12 19:39:18 +00:00
jzmaddock
2a3dfb5030 1F1: add some more (currently unused) evaluation methods. 2018-11-12 19:39:06 +00:00
Nick Thompson
b306f54bee Silence incredibly verbose -Wsign-compare warning emitted from gcc 8. 2018-11-12 11:51:54 -07:00
jzmaddock
b8839ad167 1F1: Rationalise method selection logic - more tests fail but the code is in overall better shape.
[CI SKIP]
2018-11-10 17:51:40 +00:00
jzmaddock
bfb204937e Hypergeometric 1F1: Tentatively fix more issues. 2018-11-07 16:23:35 +00:00
Nick Thompson
3f5e730d03 Fix compilation error by including trunc.hpp 2018-10-27 16:01:20 -06:00
jzmaddock
f066827858 1F1: Improve large-z asymptotic region.
[CI SKIP]
2018-10-25 10:42:26 +01:00
jzmaddock
b329c74f5a Add missing include. 2018-10-23 19:56:07 +01:00
jzmaddock
841233f034 Fix more F cases. 2018-10-23 19:50:29 +01:00
jzmaddock
62ef341156 Merge branch 'hypergeometric_soc_2014' of https://github.com/boostorg/math into hypergeometric_soc_2014
Fixed Conflicts:
	include/boost/math/special_functions/detail/hypergeometric_series.hpp
	include/boost/math/special_functions/hypergeometric_1F1.hpp
2018-10-23 19:49:30 +01:00
jzmaddock
d8225e6b06 hypergeometric_1F1: rework to better handle over/underflow. 2018-10-23 19:29:02 +01:00
Nick Thompson
60edddae72 Add Laplace and Mellin transform test so that 1F1 is tested over its entire domain. 2018-10-23 10:23:23 -06:00
Nick Thompson
1791a4b597 Make casing of pFq, 0F1, 1F1, etc, uniform. Make filename casing uniform to prevent compiler warnings/errors on non-portable include paths. 2018-10-22 14:13:29 -06:00
jzmaddock
a7c68f1c87 hypergeometrics: Update Jamfile so it can build the tests.
Fix missing includes in hypergeometric_0f1_bessel.hpp.
Remove unneeded includes from test files.
2018-10-22 18:46:15 +01:00
Nick Thompson
885cb0d998 Replace exp(z) -1 by expm1(z) to improve accuracy for small |z|. 2018-10-22 10:40:07 -06:00
jzmaddock
8de36dd6f8 hypergeometric_1F1: better comments and 2 more degenerate cases.
[CI SKIP]
2018-10-20 10:09:37 +01:00
jzmaddock
833b4c9b5f hypergeometric_1F1: begin to fix up remaining difficult cases.
Adds a checked series for those we can't fix.
[CI SKIP]
2018-10-20 09:58:11 +01:00
jzmaddock
52079d2d23 Merge branch 'develop' into hypergeometric_soc_2014
Fixed Conflicts:
	doc/equations/generate.sh
2018-10-18 11:11:13 +01:00
jzmaddock
d78af61023 Tentative fix for MacOS X test failure in relative_difference. 2018-10-15 13:48:56 +01:00
jzmaddock
5eca86157b Modify tanh_sinh to work with complex integrals. 2018-10-08 20:45:15 +01:00
Nikita Kniazev
5152160fea constants: Removed extra semicolons 2018-10-01 18:37:45 +03:00
jzmaddock
34e6afacc2 Fixes that allow Math to be used with multiprecision::mpfr_float. 2018-09-26 18:10:05 +01:00
jzmaddock
bfabc65564 Merge pull request #150 from boostorg/remove_endian_deprecated
Remove deprecation warning from the BOOST_BIG_ENDIAN and BOOST_LITTLE…
2018-09-14 17:29:49 +01:00
Nick Thompson
6ec5838685 Change #if defined(BOOST_ENDIAN_*_BYTE) to #if BOOST_ENDIAN_*_BYTE on the advice of code review from pdimov. 2018-09-12 11:37:31 -06:00
Nick Thompson
a180b490f2 Remove deprecation warning from the BOOST_BIG_ENDIAN and BOOST_LITTLE_ENDIAN macros. 2018-09-12 10:20:05 -06:00
jzmaddock
95680e179d Merge pull request #121 from boostorg/rational_derivatives
Add derivative of barycentric rational interpolation.
2018-09-04 13:01:31 +01:00
jzmaddock
0f02355a1c LambertW: remove dead file and move lambert_w_lookup_table.ipp into /detail/.
[CI SKIP]
2018-09-02 18:00:07 +01:00
jzmaddock
628ffd1c80 Merge branch 'develop' into rational_derivatives 2018-09-02 12:58:59 +01:00
jzmaddock
79871fe747 LambertW: CI fixes.
Fix definition of lambert_w0_small_z_series_term.
Move rational approximations into smaller functions to try and keep msvc happy.
2018-08-31 19:53:34 +01:00
jzmaddock
02c7df005d LambertW: Fix more CI failures:
Add fallback for 128-bit lambertW implementation.
Disable real_concept tests for msvc-12 and earlier as the compiler can't cope.
2018-08-31 09:56:03 +01:00
jzmaddock
982d82b2b5 LambertW: Hook up real_concept tests and fix resulting errors. 2018-08-30 19:48:27 +01:00
jzmaddock
3104f3ad79 LambertW: Fix for types with no numeric_limits.
Configuration fix for __float128 support.
2018-08-30 18:47:40 +01:00
jzmaddock
364952fd8a LambertW: pedantic changes to docs.
[CI SKIP]
2018-08-30 18:21:28 +01:00
jzmaddock
bed980e202 Merge branch 'develop' into lambertw 2018-08-30 10:17:19 +01:00
jzmaddock
3abd04ce50 LambertW: Hook up concept checks, and fix failures. 2018-08-30 08:57:35 +01:00
jzmaddock
45b86cf115 LambertW: Fix up GCC support.
Split tests into smaller units so as not to generate over-large object files.
2018-08-29 19:34:30 +01:00
jzmaddock
10e6f0d68f Lambert W: Add tests near the singularity.
Fix a couple of minor issues in the implementation to improve error rates.
NB: errors very near the singularity are still very high - this is an intrinsic property of the function - we are solving z = w exp(w) for w, but there are actually a wide range of w values which satisfy the equation once we get very close to the singularity.
2018-08-26 19:51:15 +01:00
jzmaddock
d002d1491a LambertW: Tidy up header includes. 2018-08-22 19:31:22 +01:00
jzmaddock
5f495d259e Correct spelling of "boost" ! 2018-08-21 08:34:21 +01:00