Nick Thompson
b576cb0ce7
Fix non-portable include path warning. [CI SKIP]
2019-01-18 20:45:36 -07:00
jzmaddock
695486b1ce
hypergeometrics: Correct all the conceptual errors, fix up concept tests and generally test many more types.
...
[CI SKIP]
2019-01-18 19:31:50 +00:00
jzmaddock
73cf58243e
1F1: Correct typo in type name.
2019-01-17 18:16:13 +00:00
jzmaddock
def238994e
Improve and test the recurrence tools.
...
[CI SKIP]
2019-01-15 19:31:31 +00:00
jzmaddock
7936e9892f
1F1: Lots of small corrections to support multiprecision types.
2019-01-14 18:58:45 +00:00
jzmaddock
bb4f333ff1
Merge branch 'hypergeometric_soc_2014' of https://github.com/boostorg/math into hypergeometric_soc_2014
2019-01-11 19:44:20 +00:00
Nick Thompson
66f942fe2c
Documentation cleanup for hypergeometrics. [CI SKIP]
2019-01-11 10:16:33 -07:00
jzmaddock
0703952423
1F1: Add special handling for a,b,z all positive and large.
...
[CI SKIP]
2019-01-03 12:00:58 +00:00
jzmaddock
f145a69538
1F1: Fix special case in Bessel approximation where b-a == 0
2019-01-03 11:59:51 +00:00
jzmaddock
16f7c25c18
1F1: big method selection logic update:
...
* Hook up A&S 13.3.6 Bessel approximation for a ~ b.
* Refactor selection logic into separate functions.
* Remove one workaround-method that is no longer needed.
* Apply rescaling for a == b special case.
[CI SKIP]
2018-12-27 19:17:50 +00:00
jzmaddock
1c99408605
hypergeometric_pFq_checked_series.hpp: Big update to correctly handle negative b crossing the origin, also variable b values.
2018-12-27 19:13:59 +00:00
jzmaddock
020271df64
hypergeometric_1F1_by_ratios.hpp: rescale when the first value is large.
2018-12-27 19:11:07 +00:00
jzmaddock
9151be85c5
hypergeometric_1f1_addition_theorems_on_z.hpp: remove dead code.
2018-12-27 19:10:20 +00:00
jzmaddock
43a07c92f9
Recurrence: correct forward recurrence algorithm.
2018-12-27 19:09:31 +00:00
jzmaddock
dd8681a81c
1F1: add correction to hypergeometric_1F1_AS_13_3_6.
2018-12-27 19:08:49 +00:00
jzmaddock
f0d7c5a3ae
1F1: apply scaling consistently throughout the recurrence relations.
2018-12-24 10:51:23 +00:00
jzmaddock
9759161f10
1F1: refactor fallbacks for negative a and b into separate routine. Hook up recursion for negative a and b when better than the series.
2018-12-24 09:54:00 +00:00
jzmaddock
5e3f679cbe
1F1: Use scaling in recurrence relations.
2018-12-24 09:52:33 +00:00
jzmaddock
21dcbe3278
1F1: Implement scaling in recurrence relations.
2018-12-24 09:51:38 +00:00
jzmaddock
2bc20f88e2
1F1: Add method of function ratios for a,b < 0.
...
We now have a broadly acceptable error (< 10^4eps) or an exception over all domains.
[CI SKIP]
2018-12-23 15:58:03 +00:00
jzmaddock
a128331e9c
1F1: Add support for calculating function ratios directly from recurrence relations.
...
Use this to implement 1F1 for b < 0 < a,z and z << -b.
[CI SKIP]
2018-12-23 11:57:53 +00:00
jzmaddock
456538ddd4
Merge branch 'develop' into hypergeometric_soc_2014
...
[CI SKIP]
2018-12-20 09:09:29 +00:00
jzmaddock
1006c2d2ca
Update CI scripts to handle new module layout.
2018-12-20 09:07:59 +00:00
jzmaddock
8164299495
1F1: improve recurrence code and hook up the selection logic.
...
This probably completes 1F1 for the domain a < 0 < b,z, although the code is still on the brain-dead side and badly needs optimizing.
[CI SKIP]
2018-12-20 08:56:06 +00:00
jzmaddock
298c83e71c
1F1: improve method selection logic.
...
The only really gross failures now are exceptions due to non-convergence.
There are also some large errors in certain regions - notable b large and negative, a large and positive, we don't currently have a method that works for that, need to investigate Miller type methods.
[CI SKIP]
2018-12-15 11:59:25 +00:00
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
5b57659e49
Merge branch 'develop' of https://github.com/boostorg/math into develop
2018-12-10 19:31:59 +00:00
jzmaddock
0f3365c576
test_roots.cpp: Fix macro usage (again), also split up CI tests a bit more to handle timeouts.
2018-12-10 19:31:42 +00:00
jzmaddock
0816bf0e87
1F1: improve bessel function failure modes, and improve selection logic.
2018-12-10 19:26:56 +00:00
Nick Thompson
65c8b7ea6a
Add OSX debug symbol directories to .gitignore [CI SKIP]
2018-12-10 12:10:54 -07:00
jzmaddock
ce6b50fb90
1F1: Fix up issues with very small a.
...
[CI SKIP]
2018-12-09 16:45:09 +00:00
jzmaddock
bf1b9729be
test_roots.cpp: Fix Boost.Config macro usage from merged PR.
2018-12-09 08:54:02 +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
7427cae1c7
Merge pull request #165 from boostorg/complex_newton
...
Complex Newton's method
2018-12-08 11:35:55 +00:00
Nick Thompson
5818b07728
Make sure huge roots and tiny roots are found. [CI SKIP]
2018-12-07 10:35:02 -07:00
Nick Thompson
01c004bb06
Remove useless termination criteria [CI SKIP]
2018-12-07 10:17:33 -07:00
Nick Thompson
d2bf1b18fd
Merge branch 'develop' into complex_newton
2018-12-07 09:03:08 -07:00
jzmaddock
0152cfa2a9
Incomplete gamma: add asymptotic approximation for large argument.
...
Allows the functions to be used with very large (or infinite) argument.
Fixes: https://github.com/boostorg/math/issues/168 .
2018-12-07 09:37:50 +00:00
Nick Thompson
37336e2372
Merge branch 'develop' into complex_newton
2018-12-04 14:28:52 -07:00
Nick Thompson
cb71b06c10
You would think a double precision complex division would be the same on every compiler. You would be wrong.
2018-12-04 14:28:04 -07:00
jzmaddock
2b63df0ee6
Merge pull request #95 from boostorg/catmull_rom
...
First pass at a Catmull-Rom curve interpolator.
2018-12-04 19:27:36 +00:00
jzmaddock
847b39a0ab
1F1: rework recurrence relations.
...
[CI SKIP]
2018-12-04 19:24:34 +00:00
Nick Thompson
6e25e27d01
Merge branch 'develop' into complex_newton
2018-12-04 11:09:06 -07:00
Nick Thompson
8c6740463a
Meaningless commit to kick off CI build.
2018-12-03 17:06:21 -07:00
Nick Thompson
081842118b
Give advice about first and last interpolator segments in the open-curve case. [CI SKIP]
2018-12-03 12:33:45 -07:00
Nick Thompson
baddf9509a
The move constructor is 30% faster than the copy; hence remove the data copy and only allow move construction. [CI SKIP]
2018-12-02 13:34:51 -07:00
Nick Thompson
5169fc9e75
Actually test the initializer list constructor [CI SKIP]
2018-12-02 12:04:31 -07:00
Nick Thompson
fd519a73d6
Implement suggestions from code review [CI SKIP]
2018-12-02 11:18:41 -07: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