2
0
mirror of https://github.com/boostorg/math.git synced 2026-02-13 00:22:23 +00:00
Commit Graph

4369 Commits

Author SHA1 Message Date
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
jzmaddock
c0f236e251 Merge branch 'develop' into catmull_rom
Fixed Conflicts:
	doc/Jamfile.v2

Corrected some doc formatting, and regenerated the docs.
2018-12-01 19:38:16 +00:00
jzmaddock
33d3d0942f Merge branch 'polynomial_constructor' into develop 2018-12-01 11:21:27 +00:00
jzmaddock
7abcd6ef4a roots.hpp: Don't allow division by zero (or overflow) even though it's harmless in this case.
Fixes: https://github.com/boostorg/math/issues/164
2018-12-01 10:09:39 +00:00
jzmaddock
0a46a6530a test_polynomial.cpp: Fix defect macro usage and use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX. 2018-12-01 09:57:35 +00:00
jzmaddock
889793b51e Add missing file. 2018-11-30 19:59:06 +00:00
jzmaddock
db408fde2b roots.hpp: clean up code so that there is no division by zero possible.
Fixes: https://github.com/boostorg/math/issues/160.
2018-11-30 19:54:34 +00:00
jzmaddock
451afc3102 Fix polynomial template constructors. 2018-11-30 19:31:51 +00:00
Nick Thompson
d46f746cb3 Move to clustered roots termination criteria rather than range magnitude. [CI SKIP] 2018-11-28 16:31:13 -07:00
Nick Thompson
66373a0b22 Fix failing unit test by using semi-scale invariant termination criteria. [CI SKIP] 2018-11-28 14:35:34 -07:00
Nick Thompson
24694847dc Attempt to green up build by making it more obvious that the initializer list constructor should be called. 2018-11-28 13:35:10 -07: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
af5b91a5be Let x* be the root of f. Add failing unit test for function such that f(x*) > sqrt(eps). [CI SKIP] 2018-11-26 14:10:14 -07:00
Nick Thompson
3b62d7cd72 Trivial changes to green up build. 2018-11-25 11:23:06 -07:00
Nick Thompson
f78578b42b Remove float128 tests to green up builds. Plenty of multiprecision is being tested as it stands. 2018-11-25 01:24:19 -07:00
Nick Thompson
3ab69d00ee Complex Newton's method. Zero derivatives handled by Muller's Method. 2018-11-25 00:19:11 -07:00
Nick
51107199b5 Merge pull request #159 from boostorg/polynomial_improvements
Add call operator, .prime(), .integrate(), and move constructor to po…
2018-11-24 18:24:06 -07:00
Nick Thompson
eb042c06d8 Only run tests requiring C++11 in C++11 mode. 2018-11-24 18:10:06 -07:00
Nick Thompson
fb71b01cfc Remove initialization order warning [CI SKIP] 2018-11-24 17:41:03 -07:00
Nick Thompson
de90c41131 Merge branch 'develop' into polynomial_improvements 2018-11-24 12:41:46 -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