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