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

2005 Commits

Author SHA1 Message Date
jzmaddock
7386544439 1F1: Fixes for small b values when recursing. 2019-02-23 18:37:56 +00:00
jzmaddock
d92810c00b 1F1: Use a checked series summation for the Tricomi approximation as we can't always tell when it will be divergent in advance. 2019-02-23 18:37:23 +00:00
jzmaddock
bf4f3b6ced 1F1: Apply scaling to hypergeometric_1f1_recurrence_on_z_minus_zero. 2019-02-23 18:35:45 +00:00
jzmaddock
332fb32919 Merge branch 'develop' into hypergeometric_soc_2014
[CI SKIP]
2019-02-21 13:03:04 +00:00
jzmaddock
a3bb22494a Root finding: correct bug where we could incorrectly terminate when the last iteration was pathological and we had to bisect. Fixes: https://github.com/boostorg/math/issues/184. 2019-02-20 20:53:00 +00:00
jzmaddock
2d0e3db2db 1F1: Picked off a couple more bug cases, some more are currently "unfixable" and lodged as such.
[CI SKIP]
2019-02-18 19:31:17 +00:00
jzmaddock
23de7a57af big_constant.hpp: fully qualify names so they can be used outside namespace boost::math.
[CI SKIP]
2019-02-17 15:58:40 +00:00
jzmaddock
5c663c558d 1F1: Correct cancellation bug in log_pochhammer.
Refine termination condition for series.
Add previously failing tests to bug cases.
2019-02-17 15:57:33 +00:00
jzmaddock
f4e5abfbb1 pFq: Add timeout support to hypergeometric_pFq_precision.
[CI SKIP]
2019-02-17 10:00:53 +00:00
jzmaddock
867b68440c 1F1: Fix bug in recurrence relations. 2019-02-17 10:00:03 +00:00
jzmaddock
bd9599fe3f 1F1: hypergeometric_1F1_small_a_negative_b_by_ratio doesn't work when b + i == a for some integer i. 2019-02-16 12:13:07 +00:00
jzmaddock
00dfd44470 1F1, asymptotic-z region: don't use logs unless we really have to.
Also don't take this branch when |a| is really small.
2019-02-16 12:11:49 +00:00
jzmaddock
612c827bc6 Hypergeometrics: add pFq to specified precision. 2019-02-15 20:00:55 +00:00
jzmaddock
a060a48a01 1F1: Add better support for very small a when b < 0. 2019-02-15 20:00:15 +00:00
jzmaddock
da18aae70f More warning suppression, fix function signatures. 2019-02-15 19:59:21 +00:00
jzmaddock
76cb52af91 Bit of msvc warning suppression. 2019-02-15 19:58:15 +00:00
Nick Thompson
b44f37845a Use m_x(std::move(x)) rather than m_x{std::move(x)}. 2019-02-12 11:50:21 -07:00
jzmaddock
a71c2c0887 1F1, A&S 13.3.6 selection logic: improve estimate of Bessel I convergence rate so we don't accidentally take this method when it is non-convergent. 2019-02-12 18:14:28 +00:00
jzmaddock
fa3e94ff79 1F1: large z case: can't have b-a as a negative integer. 2019-02-12 18:09:14 +00:00
jzmaddock
9eb6d5fc58 1F1, hypergeometric_1F1_backwards_recursion_on_b_for_negative_a: correct use of scaling. 2019-02-12 18:08:21 +00:00
jzmaddock
61af0415f4 1F1: large abz: Can't use A&S 13.3.6 when b-a = 1/2. 2019-02-12 18:07:19 +00:00
jzmaddock
71340ca0ad 1F1: extend A&S 13.3.6 to large z. 2019-02-12 18:06:15 +00:00
Nick Thompson
5212ce1276 Merge branch 'develop' into barycentric_move_constructor [CI SKIP] 2019-02-09 18:10:11 -07:00
jzmaddock
ae71780588 1F1: Don't use special case for b-a == -1 when a is small. 2019-02-06 19:37:43 +00:00
jzmaddock
c603bf78a7 Hypergeometrics: Fix up some testing and conceptual errors flagged up by first CI run. 2019-02-06 18:42:09 +00:00
jzmaddock
978d10cacf 1F1: Fixes for expression template enabled types. 2019-02-04 18:21:48 +00:00
jzmaddock
9c238c07e4 1F1: Add some limits to the circumstances where we will try out the Bessel function approximations.
[CI SKIP]
2019-02-03 19:11:18 +00:00
jzmaddock
3dddfaa916 1F1: Calculate and cache Bessel I and J values for A&S 13.3.7 Tricomi via recurrences.
This completes the Bessel approximation TODO's.
2019-02-03 19:09:39 +00:00
jzmaddock
bc96c5c44f 1F1: correct hypergeometric_1F1_backwards_recursion_on_b_for_negative_a for the case where b > 0. 2019-02-03 18:52:46 +00:00
jzmaddock
4f0f6817e0 1F1: Add missing typecast to enum. 2019-02-03 18:51:35 +00:00
jzmaddock
40d3871ea0 Bessel Iterators: Add missing constructor to bessel_j_backwards_iterator and new bessel_i_forwards_iterator for forward iteration on I_v(x) with v < 0. 2019-02-03 18:50:51 +00:00
jzmaddock
0f1dd75f08 BesselJY: Correct overflow handling so we get infinity rather than a NaN 2019-02-03 18:46:40 +00:00
Nick Thompson
c6d6f876d5 Take advice from https://codereview.stackexchange.com/questions/210762/discrete-lanczos-derivatives [CI SKIP] 2019-02-01 15:25:00 -07:00
Nick Thompson
6742ed83f6 Merge branch 'develop' into barycentric_move_constructor [CI SKIP] 2019-02-01 11:21:23 -07:00
Nick Thompson
9362bae4fc Add extra cxx11 feature tests to example. Prevent macro substitution of min. Decrease length of unit tests for barycentric_rational from 90 seconds to 24 seconds. 2019-02-01 11:19:56 -07:00
jzmaddock
a187b714e9 1F1: Apply backwards recurrence relations for GammaP in large a,b,z approximation.
[CI SKIP]
2019-01-31 19:06:17 +00:00
jzmaddock
30af3aebd2 Rewrite recurrence for negative a and b to use more efficient shifts.
Removes one more TODO.
[CI SKIP]
2019-01-30 18:28:24 +00:00
Nick Thompson
c8dfc96f88 Merge commit [CI SKIP] 2019-01-29 17:34:41 -07:00
Nick Thompson
680719b0c8 Add test for exponential sum [CI SKIP] 2019-01-29 17:23:04 -07:00
Nick Thompson
4c48f2d6e2 Lanczos smoothing now works with boost::range [CI SKIP] 2019-01-29 12:46:52 -07:00
Nick Thompson
037b6fe5eb Add tests for std::array and boost::numeric::ublas::vector. Clean up docs. [CI SKIP] 2019-01-28 14:06:14 -07:00
Nick Thompson
1a00352994 Second attempt at condition numbers file. [CI SKIP] 2019-01-28 13:48:36 -07:00
Nick Thompson
341c6a6c78 I dream of the day when it doesn't take me 12 builds to accomplish a simple task. 2019-01-27 23:02:17 -07:00
Nick Thompson
c00623da74 Add move constructor for barycentric rational interpolation. 2019-01-27 16:28:31 -07:00
Nick Thompson
12bc3eb885 Delete copy constructor, allow move constructor. Allow reuse of memory space for derivatives. [CI SKIP] 2019-01-27 07:24:46 -07:00
jzmaddock
8845f0d02a Remove unused recurrence relations. 2019-01-27 09:54:15 +00:00
jzmaddock
ff5ee61c69 hypergeometric_1F1_backward_recurrence_for_negative_a: remove dead code that can never be called in current version (code was inherited from original SOC project).
Also comment out some unused approximations.
2019-01-27 09:50:42 +00:00
jzmaddock
f00093cdf3 Test special cases, code tidy up, fix a couple of bugs exposed by new tests. 2019-01-27 09:28:56 +00:00
Nick Thompson
a1cade5a90 Save an xorpd instruction by initializing not to zero, but to the first value. Save a division for each element by dividing the filters by the spacing (square of the spacing for the second derivative). [CI SKIP] 2019-01-26 21:34:16 -07:00
Nick Thompson
d49133027a Remove (in this case harmless) division by zero to appease UBSan [CI SKIP] 2019-01-26 14:54:08 -07:00