Nick Thompson
166e5fb513
Remove control character(?) from comment. [CI SKIP]
2019-04-03 19:39:49 -04:00
jzmaddock
4bc056bf9e
Make __float128 iostream operator inline.
2019-04-02 08:34:25 +01:00
jzmaddock
35dfb36af2
Add <ionstream> include for __float128 io operator.
2019-03-30 08:35:29 +00:00
jzmaddock
16ffd8b7e9
Fix typos in last commit
2019-03-27 18:58:35 +00:00
jzmaddock
05360ce5e8
Big reformat of cstdfloat header and code, removes the tabs.
2019-03-27 18:29:25 +00:00
jzmaddock
a9201f9a44
Add more cstdfloat functions for __float128
2019-03-26 19:57:11 +00:00
jzmaddock
f7f3e2301f
Apply __float128 patches from Gero Peterhoff.
2019-03-24 19:08:49 +00:00
jzmaddock
072ebaac25
Apply numeric_limits patches for __float128 from Gero Peterhoff.
2019-03-22 19:45:35 +00:00
jzmaddock
08b7a6145f
Correct lgamma multiprecision case to correctly return sign of tgamma when requested.
...
Found while testing 1F1.
2019-03-21 20:14:48 +00:00
jzmaddock
1313bf6d28
1F1: refine b < 0 a > 0 region.
2019-03-21 12:45:36 +00:00
jzmaddock
a41421a8e5
1F1: Correct selection logic for forward-ratio on negative b method.
...
[CI SKIP]
2019-03-17 19:08:55 +00:00
jzmaddock
aa916169d4
1F1: Add better support for a > 0, b < 0 with additional method of ratios.
...
[CI SKIP]
2019-03-17 17:00:54 +00:00
jzmaddock
31cc6ee069
1F1: Add missing doc files.
...
[CI SKIP]
2019-03-16 16:58:58 +00:00
jzmaddock
e07c435a0c
1F1: Fine tune recurrence on a and b for large abz case.
...
Update tests.
2019-03-11 19:20:36 +00:00
jzmaddock
33e67bb94d
1F1: Fine tune negative a,b fallback code, update tests.
2019-03-11 12:05:04 +00:00
jzmaddock
f28a934dcd
1F1: fine tune when Tricomi's approximation is taken.
2019-03-11 12:02:53 +00:00
jzmaddock
38d281e86a
1F1: correct spurious overflow in hypergeometric_1f1_recurrence_on_z.
2019-03-11 12:01:46 +00:00
jzmaddock
8d0a794b38
Suppress gcc warning from the use of Q constants when -pedantic is in effect
2019-03-02 19:43:41 +00:00
pulver
2ffd44200a
Merge branch 'develop' into autodiff
2019-02-28 08:45:53 -05:00
jzmaddock
9a41f39707
1F1: Add missing using declaration.
2019-02-26 18:39:44 +00:00
jzmaddock
28f5e46528
lgamma: switch to taylor series at z = 1 for lgamma with no lanczos support.
...
Previous version was non-convergent under some conditions.
2019-02-26 18:39:14 +00:00
jzmaddock
7c75df1a21
1F1: fix conceptual error in hypergeometric_1F1_small_a_negative_b_by_ratio.
2019-02-26 18:36:20 +00:00
jzmaddock
39c3d03db2
1F1: simplify log_pochhammer, add new test cases.
...
[CI SKIP]
2019-02-24 09:43:54 +00:00
jzmaddock
fa875495e2
1F1: Update logic to determine when to apply Kummer's transformation.
...
[CI SKIP]
2019-02-23 19:25:27 +00:00
jzmaddock
2618f779e6
1F1: correct/improv e method selection logic.
2019-02-23 18:39:51 +00:00
jzmaddock
9416a8d1c3
1F1: temporarily use ADL to find tgamma/lgamma to improve mpfr performance when generating test values.
2019-02-23 18:39:05 +00:00
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
pulver
4d8622d9bd
Merge branch 'develop' into autodiff
2019-02-16 15:06:12 -05: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
Matt Pulver
1bf3ba6bd2
Fix example compiler requirements. Add <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj to test/Jamefile.v2. Minor doc/code updates.
2019-02-14 10:54:42 -05: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
Matt Pulver
9418a4e2d4
Doc: Add sections Migrating Code, and Function Writing Guidelines. Additional math function overloads: acosh, asinh, atanh, cosh, erf, lambert_w0, sinc, sinh, tanh. Attempt to fix appveyor errors.
2019-02-12 07:43:04 -05: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
pulver
04aeb5fdd9
Merge branch 'develop' into autodiff
2019-02-03 20:59:39 -05:00
Matt Pulver
7748f2ea19
Feedback from boostorg/math/#176
2019-02-03 20:45:35 -05: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
Matt Pulver
ad96b617cc
Add differentiation/autodiff.hpp.
2019-01-23 14:17:02 -05:00
Nick Thompson
afdd37bf00
Also change concept and include test [CI SKIP]
2019-01-23 14:17:01 -05:00
Nick Thompson
1f1e9974f0
Begin rearrangement.
2019-01-23 14:17:01 -05:00
Nick Thompson
175e375934
Rename filter computation functions to reflect the fact that multiple orders of differentiation may be computed. [CI SKIP]
2019-01-23 10:10:36 -07:00
Nick Thompson
b2f3054e2f
Compute filters in higher precision and cast back to low precision so that high-p filters are accurate. [CI SKIP]
2019-01-22 15:46:19 -07:00
Nick Thompson
c9020ceb48
Consider using higher precision for calculation of filters. [CI SKIP]
2019-01-22 12:14:21 -07:00
Nick Thompson
b8cc83e49e
Refactor so as to not store a reference member, make call threadsafe, compute entire vector in one go.
2019-01-22 12:14:21 -07:00
Nick Thompson
941bb1a008
Add denoising second derivative.
2019-01-22 12:14:21 -07:00
Nick Thompson
31ec7a9b0c
Cleanup [CI SKIP]
2019-01-22 12:14:21 -07:00
Nick Thompson
bc10441044
Remove sign-compare warnings. Take advice of cppcheck. Grammar in documentation [CI SKIP]
2019-01-22 12:14:21 -07:00
Nick Thompson
119aff9ff2
Lanczos smoothing differentiators.
2019-01-22 12:14:21 -07:00
Nick Thompson
fedeabb06e
Also change concept and include test [CI SKIP]
2019-01-22 12:12:11 -07:00
Nick Thompson
de584cc4ae
Begin rearrangement.
2019-01-22 12:12:11 -07:00
Nick Thompson
1bface6481
Merge branch 'develop' into differentiation
2019-01-21 12:55:26 -07:00
Nick Thompson
e6f97af63f
Add comment from Higham about overflow resistance. [CI SKIP]
2019-01-21 12:40:33 -07:00
Nick Thompson
c21ba1ad55
Include is_complex.hpp [CI SKIP]
2019-01-20 15:57:01 -07:00
Nick Thompson
dad9010fbe
Do not include boost/type_traits.hpp; narrow the scope and include is_complex.hpp [CI SKIP]
2019-01-20 15:50:24 -07:00
jzmaddock
bb104ce44f
1F1: optimise performance of A&S 13.6.4 approximation.
...
Cache Bessel I values via backwards recursion.
[CI SKIP]
2019-01-20 18:26:59 +00:00
jzmaddock
d57b689b86
Merge branch 'hypergeometric_soc_2014' of https://github.com/boostorg/math into hypergeometric_soc_2014
2019-01-20 11:28:05 +00:00
jzmaddock
fbba64a30c
1F1: Fix some multiprecision errors, refactor difficult/unsolved cases into separate tests and only test where appropriate.
...
[CI SKIP]
2019-01-20 11:27:38 +00:00
Nick Thompson
8fd1d3cfae
Do not include all of type traits, only include is_complex.hpp.
2019-01-19 15:00:03 -07:00
Nick Thompson
b576cb0ce7
Fix non-portable include path warning. [CI SKIP]
2019-01-18 20:45:36 -07:00
Nick Thompson
74de9889f9
Performance improvements for Hoyer sparsity [CI SKIP]
2019-01-18 20:19:27 -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
Nick Thompson
ff366e85a2
Add variance of N-sided die as unit test [CI SKIP]
2019-01-18 10:00:43 -07:00
Nick Thompson
8930420005
Performance improvements [CI SKIP]
2019-01-17 16:49:59 -07:00
jzmaddock
73cf58243e
1F1: Correct typo in type name.
2019-01-17 18:16:13 +00:00
Nick Thompson
d8514771ac
Merge branch 'develop' into differentiation
2019-01-16 11:25:45 -07:00
Nick Thompson
75e7832a54
Add unsigned integer tests for Hoyer sparsity.
2019-01-16 11:14:53 -07:00
Nick Thompson
21e9e6cbc4
Merge branch 'develop' into sequence_tools [CI SKIP]
2019-01-16 10:52:30 -07: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
Nick Thompson
f3af883c6d
Patch up univariate statistics for some integer types. [CI SKIP]
2019-01-12 14:57:16 -07:00
Nick Thompson
ce7fdbe581
Take care of integer overflow. [CI SKIP]
2019-01-12 12:53:53 -07:00
Nick Thompson
fb4f7748cd
Refactor kurtosis calculation to use first_four_moments.
2019-01-11 15:19:48 -07:00
Nick Thompson
8d267da5e1
Add hamming_distance, l1_distance, l2_distance, sup_distance, lp_distance. Add more tests for integer datatypes. [CI SKIP]
2019-01-11 14:23:39 -07:00
Nick Thompson
df447ae00d
Rename 'absolute_median' to 'median_absolute_deviation' [CI SKIP]
2019-01-07 10:50:06 -07:00
Matt Pulver
bdbf7d0206
return static_cast<result_type>(0) in round() for types whose arithmetic constructors are declared explicit.
2019-01-05 11:44:48 -05: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
Nick Thompson
12a36657aa
Merge branch 'develop' into differentiation
2018-12-29 10:57:02 -07:00
Nikita Kniazev
27c7e57b51
Do not include the whole Predef for a single macro
2018-12-28 14:56:27 +03:00
Nick Thompson
a27c4bc96c
Also change concept and include test [CI SKIP]
2018-12-27 20:38:27 -07:00
Nick Thompson
a250691ed1
Begin rearrangement.
2018-12-27 18:59:44 -07:00
Nick Thompson
ff09a81d67
Reduce the number of stack variables and hopefully increase the probability of inlining discriminant calculation [CI SKIP]
2018-12-27 18:21:07 -07:00
Nick Thompson
ae17d3a8a3
Use quadratic_roots to simplify M2M4 SNR estimator. [CI SKIP]
2018-12-27 14:22:12 -07:00
Nick Thompson
bee2889e85
Change solve_quadratic to quadratic_roots. [CI SKIP]
2018-12-27 12:44:46 -07: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
Nick Thompson
eab2b5260e
Solve quadratic equations
2018-12-26 18:30:02 -07:00
Nick Thompson
4848accb77
Add unit tests demonstrating that the kurtosis of various continuous distributions is calculated correctly. Add excess_kurtosis to make clear the working definition of kurtosis. [CI SKIP]
2018-12-25 23:00:46 -07: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
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
Nick Thompson
f51e55c3cb
Take advice of cppcheck [CI SKIP]
2018-12-18 11:46:46 -07:00
Nick Thompson
aa91164f0e
Documentation cleanup [CI SKIP]
2018-12-17 15:11:15 -07:00
Nick Thompson
d509957642
Instead of using 'population_stat' in calls, simply call 'stat', and provide 'sample_stat' when an unbiased estimator of stat exists. [CI SKIP]
2018-12-17 14:39:30 -07:00
Nick Thompson
b93acf94b2
Do not add Shannon entropy and Shannon cost until I have an use for them; without a use, serious design errors are easily made. [CI SKIP]
2018-12-17 11:45:38 -07:00
Nick Thompson
4d85b85a5c
Do not allow computation of sparsity of a vector with a single element. [CI SKIP]
2018-12-17 00:18:16 -07:00
Nick Thompson
cee62a833c
Add unit tests for Gini coefficient for uniform and exponential distribution of values. [CI SKIP]
2018-12-16 23:05:00 -07: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
Nick Thompson
efdafa2643
Add notes about beliefs about M2M4; add notes about potential improvements [CI SKIP]
2018-12-14 13:02:12 -07:00
Nick Thompson
3c13c588b0
Pearson's correlation coefficient [CI SKIP]
2018-12-14 12:27:10 -07:00
Nick Thompson
dc521aeb11
Clarify a case where solution to M2M4 estimator system does not exist. Split off a degenerate case where the signal is constant. [CI SKIP]
2018-12-13 11:45:52 -07:00
Nick Thompson
d940760e0b
Implement the M2M4 SNR estimator.
2018-12-12 22:40:30 -07:00
Nick Thompson
87f4bc9b11
Add skewness and kurtosis [CI SKIP]
2018-12-11 14:01:28 -07:00
Nick Thompson
b0b0a6bb59
Add oracle_snr to signal_statistics [CI SKIP]
2018-12-11 10:53:33 -07:00
Nick Thompson
fb2ae307d6
Computation of covariance. [CI SKIP]
2018-12-10 14:38:42 -07:00
jzmaddock
0816bf0e87
1F1: improve bessel function failure modes, and improve selection logic.
2018-12-10 19:26:56 +00:00
Nick Thompson
94ceca1e43
Split descriptive_statistics.hpp into univariate_statistics.hpp and a currently-hypothetical bivariate_statistics.hpp [CI SKIP]
2018-12-10 12:05:05 -07: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
Nick Thompson
1a246db791
Change from vector_functionals.hpp to descriptive_statistics.hpp and norms.hpp.
2018-12-08 20:53:14 -07:00
Nick Thompson
38dd139b0a
Get rid of grotesque typedefs and change to using declaration. [CI SKIP]
2018-12-08 20:11:38 -07:00
Nick Thompson
5f143244f5
Fully qualify std::nth_element, add tests for std::array. [CI SKIP]
2018-12-08 14:09:21 -07:00
Nick Thompson
37c9b68aa6
Merge branch 'develop' into sequence_tools [CI SKIP]
2018-12-08 12:29:36 -07:00
Nick Thompson
b7dabe272c
Add branches for integral input types where sensible. [CI SKIP]
2018-12-08 12:29:05 -07:00
Nick Thompson
5a0ff712bd
Add range calls. [CI SKIP]
2018-12-08 11:11:35 -07:00
Nick Thompson
bce92d78ba
Add Shannon entropy and kick off build.
2018-12-07 18:44:40 -07:00
Nick Thompson
60f653a1fe
L1 and L2 norms. [CI SKIP]
2018-12-07 15:05:14 -07:00
Nick Thompson
53d4ffe99e
Merge branch 'develop' into sequence_tools
2018-12-07 10:35:50 -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
Nick Thompson
a9985e3e1c
Hoyer sparsity [CI SKIP]
2018-12-07 09:02:25 -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
aa43b5b52b
Vector functionals, first pass [CI SKIP]
2018-12-06 20:33:05 -07:00
Nick Thompson
37336e2372
Merge branch 'develop' into complex_newton
2018-12-04 14:28:52 -07: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
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
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
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
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
3ab69d00ee
Complex Newton's method. Zero derivatives handled by Muller's Method.
2018-11-25 00:19:11 -07: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
Nick Thompson
5c790ac358
Polynomials now work with float128 [CI SKIP]
2018-11-15 01:58:46 -07:00
Nick Thompson
207303585a
Small changes so that we can template the polynomials on complex types.
2018-11-14 21:38:41 -07:00
Nick Thompson
54f475e58f
Add call operator, .prime(), .integrate(), and move constructor to polynomial.hpp
2018-11-14 17:04:57 -07:00
jzmaddock
b5eb687556
Tanh_sinh: Fix for https://github.com/boostorg/math/issues/155 .
2018-11-14 18:55:11 +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
381f663517
Merge and run CI
2018-10-28 23:27:41 -06: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
jzmaddock
386898c089
Update continued fractions and series:
...
To support complex types, and better docs.
Fixes: https://github.com/boostorg/math/issues/129 .
2018-08-20 21:22:06 +01:00
jzmaddock
7cd5d420da
roots.hpp: suppress warning and fix logic error caused by previous commit.
2018-08-20 10:30:37 +01:00
jzmaddock
5d590c812e
Prevent logic error leading to infinite loop in toms748_solve.
...
Fixes: https://github.com/boostorg/math/issues/138 .
2018-08-19 18:57:06 +01:00
jzmaddock
d7d6b1a99b
Fix mean and standard_deviation for extreme_value_distribution.
...
Fixes: https://github.com/boostorg/math/issues/139 .
2018-08-19 17:46:52 +01:00
jzmaddock
91c193d2d2
Improve heuristics used in newton_raphson_iterate.
...
Copies heuristics already in place for halley_iterate for the case where convergence fails.
Fixes: https://github.com/boostorg/math/issues/145
2018-08-19 16:27:45 +01:00
jzmaddock
26e2e61de9
Fix erf(NaN).
...
Fixes https://github.com/boostorg/math/issues/141
2018-08-19 09:28:37 +01:00
jzmaddock
9e3bf4e3e1
Fix for platforms where we have no atomic types: fixes https://github.com/boostorg/math/issues/134 .
2018-07-30 18:15:31 +01:00
jzmaddock
bdb3f0e903
Fix for integer overflow in exponent calculation on decimal types in next.hpp: See https://github.com/boostorg/math/issues/135
2018-07-29 18:12:35 +01:00
pabristow
aaa38c3fee
first draft of no-precision policy version.
2018-07-17 17:39:27 +01:00