Commit Graph

  • a250691ed1 Begin rearrangement. Nick Thompson 2018-12-27 18:59:44 -0700
  • ff09a81d67 Reduce the number of stack variables and hopefully increase the probability of inlining discriminant calculation [CI SKIP] Nick Thompson 2018-12-27 18:21:07 -0700
  • 7c82eb75cf Test for scale invariance of M2M4 SNR estimator. [CI SKIP] Nick Thompson 2018-12-27 15:02:36 -0700
  • ae17d3a8a3 Use quadratic_roots to simplify M2M4 SNR estimator. [CI SKIP] Nick Thompson 2018-12-27 14:22:12 -0700
  • bee2889e85 Change solve_quadratic to quadratic_roots. [CI SKIP] Nick Thompson 2018-12-27 12:44:46 -0700
  • 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] jzmaddock 2018-12-27 19:17:50 +0000
  • 1c99408605 hypergeometric_pFq_checked_series.hpp: Big update to correctly handle negative b crossing the origin, also variable b values. jzmaddock 2018-12-27 19:13:59 +0000
  • 020271df64 hypergeometric_1F1_by_ratios.hpp: rescale when the first value is large. jzmaddock 2018-12-27 19:11:07 +0000
  • 9151be85c5 hypergeometric_1f1_addition_theorems_on_z.hpp: remove dead code. jzmaddock 2018-12-27 19:10:20 +0000
  • 43a07c92f9 Recurrence: correct forward recurrence algorithm. jzmaddock 2018-12-27 19:09:31 +0000
  • dd8681a81c 1F1: add correction to hypergeometric_1F1_AS_13_3_6. jzmaddock 2018-12-27 19:08:49 +0000
  • 1de89f997a Clarify documentation [CI SKIP] Nick Thompson 2018-12-27 11:08:29 -0700
  • eab2b5260e Solve quadratic equations Nick Thompson 2018-12-26 18:30:02 -0700
  • 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] Nick Thompson 2018-12-25 23:00:46 -0700
  • f0d7c5a3ae 1F1: apply scaling consistently throughout the recurrence relations. jzmaddock 2018-12-24 10:51:23 +0000
  • 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. jzmaddock 2018-12-24 09:54:00 +0000
  • 5e3f679cbe 1F1: Use scaling in recurrence relations. jzmaddock 2018-12-24 09:52:33 +0000
  • 21dcbe3278 1F1: Implement scaling in recurrence relations. jzmaddock 2018-12-24 09:51:38 +0000
  • 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] jzmaddock 2018-12-23 15:58:03 +0000
  • 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] jzmaddock 2018-12-23 11:57:36 +0000
  • 53ba643528 Merge branch 'develop' into sequence_tools Nick Thompson 2018-12-20 10:58:49 -0700
  • 456538ddd4 Merge branch 'develop' into hypergeometric_soc_2014 [CI SKIP] jzmaddock 2018-12-20 09:09:29 +0000
  • 1006c2d2ca Update CI scripts to handle new module layout. jzmaddock 2018-12-20 09:07:59 +0000
  • 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] jzmaddock 2018-12-20 08:55:46 +0000
  • f51e55c3cb Take advice of cppcheck [CI SKIP] Nick Thompson 2018-12-18 11:46:46 -0700
  • 01ba0fea91 Meaningless commit to kick off build. Nick Thompson 2018-12-17 15:20:46 -0700
  • aa91164f0e Documentation cleanup [CI SKIP] Nick Thompson 2018-12-17 15:11:15 -0700
  • d509957642 Instead of using 'population_stat' in calls, simply call 'stat', and provide 'sample_stat' when an unbiased estimator of stat exists. [CI SKIP] Nick Thompson 2018-12-17 14:39:30 -0700
  • 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] Nick Thompson 2018-12-17 11:45:38 -0700
  • 1e3e547427 Apply fine-tooth comb to Hoyer sparsity. [CI SKIP] Nick Thompson 2018-12-17 11:02:24 -0700
  • 4d85b85a5c Do not allow computation of sparsity of a vector with a single element. [CI SKIP] Nick Thompson 2018-12-17 00:18:16 -0700
  • cee62a833c Add unit tests for Gini coefficient for uniform and exponential distribution of values. [CI SKIP] Nick Thompson 2018-12-16 23:05:00 -0700
  • 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] jzmaddock 2018-12-15 11:59:25 +0000
  • d907eb347a 1F1: Improve bessel approximation fallback methods. jzmaddock 2018-12-15 11:57:16 +0000
  • b8a94228ad 1F1: rewrite the large-z asymptotic approximation to prevent moving into the divergent area. jzmaddock 2018-12-15 11:56:44 +0000
  • efdafa2643 Add notes about beliefs about M2M4; add notes about potential improvements [CI SKIP] Nick Thompson 2018-12-14 13:02:12 -0700
  • 3c13c588b0 Pearson's correlation coefficient [CI SKIP] Nick Thompson 2018-12-14 12:27:10 -0700
  • 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] Nick Thompson 2018-12-13 11:45:52 -0700
  • d940760e0b Implement the M2M4 SNR estimator. Nick Thompson 2018-12-12 22:40:30 -0700
  • 87f4bc9b11 Add skewness and kurtosis [CI SKIP] Nick Thompson 2018-12-11 14:01:28 -0700
  • b0b0a6bb59 Add oracle_snr to signal_statistics [CI SKIP] Nick Thompson 2018-12-11 10:53:33 -0700
  • 1bf2d261b8 Merge branch 'develop' into sequence_tools [CI SKIP] Nick Thompson 2018-12-10 15:24:32 -0700
  • fb2ae307d6 Computation of covariance. [CI SKIP] Nick Thompson 2018-12-10 14:38:42 -0700
  • 5b57659e49 Merge branch 'develop' of https://github.com/boostorg/math into develop jzmaddock 2018-12-10 19:31:59 +0000
  • 0f3365c576 test_roots.cpp: Fix macro usage (again), also split up CI tests a bit more to handle timeouts. jzmaddock 2018-12-10 19:31:42 +0000
  • 0816bf0e87 1F1: improve bessel function failure modes, and improve selection logic. jzmaddock 2018-12-10 19:26:56 +0000
  • 9ec255e82a Merge branch 'develop' into sequence_tools [CI SKIP] Nick Thompson 2018-12-10 12:19:03 -0700
  • 65c8b7ea6a Add OSX debug symbol directories to .gitignore [CI SKIP] Nick Thompson 2018-12-10 12:10:54 -0700
  • 94ceca1e43 Split descriptive_statistics.hpp into univariate_statistics.hpp and a currently-hypothetical bivariate_statistics.hpp [CI SKIP] Nick Thompson 2018-12-10 12:05:05 -0700
  • ce6b50fb90 1F1: Fix up issues with very small a. [CI SKIP] jzmaddock 2018-12-09 16:45:09 +0000
  • bf1b9729be test_roots.cpp: Fix Boost.Config macro usage from merged PR. jzmaddock 2018-12-09 08:54:02 +0000
  • 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] jzmaddock 2018-12-09 08:47:56 +0000
  • 1a246db791 Change from vector_functionals.hpp to descriptive_statistics.hpp and norms.hpp. Nick Thompson 2018-12-08 20:53:14 -0700
  • 38dd139b0a Get rid of grotesque typedefs and change to using declaration. [CI SKIP] Nick Thompson 2018-12-08 20:11:38 -0700
  • 5f143244f5 Fully qualify std::nth_element, add tests for std::array. [CI SKIP] Nick Thompson 2018-12-08 14:09:21 -0700
  • 37c9b68aa6 Merge branch 'develop' into sequence_tools [CI SKIP] Nick Thompson 2018-12-08 12:29:36 -0700
  • b7dabe272c Add branches for integral input types where sensible. [CI SKIP] Nick Thompson 2018-12-08 12:29:05 -0700
  • 5a0ff712bd Add range calls. [CI SKIP] Nick Thompson 2018-12-08 11:11:35 -0700
  • 7427cae1c7
    Merge pull request #165 from boostorg/complex_newton jzmaddock 2018-12-08 11:35:55 +0000
  • bce92d78ba Add Shannon entropy and kick off build. Nick Thompson 2018-12-07 18:44:40 -0700
  • 60f653a1fe L1 and L2 norms. [CI SKIP] Nick Thompson 2018-12-07 15:05:14 -0700
  • 53d4ffe99e Merge branch 'develop' into sequence_tools Nick Thompson 2018-12-07 10:35:50 -0700
  • 5818b07728 Make sure huge roots and tiny roots are found. [CI SKIP] Nick Thompson 2018-12-07 10:35:02 -0700
  • 01c004bb06 Remove useless termination criteria [CI SKIP] Nick Thompson 2018-12-07 10:17:33 -0700
  • d2bf1b18fd Merge branch 'develop' into complex_newton Nick Thompson 2018-12-07 09:03:08 -0700
  • a9985e3e1c Hoyer sparsity [CI SKIP] Nick Thompson 2018-12-07 09:02:25 -0700
  • 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. jzmaddock 2018-12-07 09:37:50 +0000
  • aa43b5b52b Vector functionals, first pass [CI SKIP] Nick Thompson 2018-12-06 20:33:05 -0700
  • 37336e2372 Merge branch 'develop' into complex_newton Nick Thompson 2018-12-04 14:28:52 -0700
  • cb71b06c10 You would think a double precision complex division would be the same on every compiler. You would be wrong. Nick Thompson 2018-12-04 14:28:04 -0700
  • 2b63df0ee6
    Merge pull request #95 from boostorg/catmull_rom jzmaddock 2018-12-04 19:27:36 +0000
  • 847b39a0ab 1F1: rework recurrence relations. [CI SKIP] jzmaddock 2018-12-04 19:24:14 +0000
  • 6e25e27d01 Merge branch 'develop' into complex_newton Nick Thompson 2018-12-04 11:09:06 -0700
  • 8c6740463a Meaningless commit to kick off CI build. Nick Thompson 2018-12-03 17:06:21 -0700
  • 081842118b Give advice about first and last interpolator segments in the open-curve case. [CI SKIP] Nick Thompson 2018-12-03 12:33:45 -0700
  • baddf9509a The move constructor is 30% faster than the copy; hence remove the data copy and only allow move construction. [CI SKIP] Nick Thompson 2018-12-02 13:34:51 -0700
  • 5169fc9e75 Actually test the initializer list constructor [CI SKIP] Nick Thompson 2018-12-02 12:04:31 -0700
  • fd519a73d6 Implement suggestions from code review [CI SKIP] Nick Thompson 2018-12-02 11:18:41 -0700
  • 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] jzmaddock 2018-12-02 18:04:09 +0000
  • c0f236e251 Merge branch 'develop' into catmull_rom jzmaddock 2018-12-01 19:38:16 +0000
  • 33d3d0942f Merge branch 'polynomial_constructor' into develop jzmaddock 2018-12-01 11:21:27 +0000
  • 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 jzmaddock 2018-12-01 10:09:39 +0000
  • 0a46a6530a test_polynomial.cpp: Fix defect macro usage and use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX. jzmaddock 2018-12-01 09:57:35 +0000
  • 889793b51e Add missing file. jzmaddock 2018-11-30 19:59:06 +0000
  • db408fde2b roots.hpp: clean up code so that there is no division by zero possible. Fixes: https://github.com/boostorg/math/issues/160. jzmaddock 2018-11-30 19:54:34 +0000
  • 451afc3102 Fix polynomial template constructors. jzmaddock 2018-11-30 19:31:51 +0000
  • d46f746cb3 Move to clustered roots termination criteria rather than range magnitude. [CI SKIP] Nick Thompson 2018-11-28 16:31:13 -0700
  • 66373a0b22 Fix failing unit test by using semi-scale invariant termination criteria. [CI SKIP] Nick Thompson 2018-11-28 14:35:34 -0700
  • 24694847dc Attempt to green up build by making it more obvious that the initializer list constructor should be called. Nick Thompson 2018-11-28 13:35:10 -0700
  • 4041d6ee55 Merge branch 'hypergeometric_soc_2014' of https://github.com/boostorg/math into hypergeometric_soc_2014 jzmaddock 2018-11-28 19:19:21 +0000
  • 19150f8c0b 1F1: add addition theorem routines. None of these are used yet... [CI SKIP] jzmaddock 2018-11-28 19:18:58 +0000
  • af5b91a5be Let x* be the root of f. Add failing unit test for function such that f(x*) > sqrt(eps). [CI SKIP] Nick Thompson 2018-11-26 14:10:14 -0700
  • 3b62d7cd72 Trivial changes to green up build. Nick Thompson 2018-11-25 11:23:06 -0700
  • f78578b42b Remove float128 tests to green up builds. Plenty of multiprecision is being tested as it stands. Nick Thompson 2018-11-25 01:24:19 -0700
  • 3ab69d00ee Complex Newton's method. Zero derivatives handled by Muller's Method. Nick Thompson 2018-11-25 00:19:11 -0700
  • 51107199b5
    Merge pull request #159 from boostorg/polynomial_improvements Nick 2018-11-24 18:24:06 -0700
  • eb042c06d8 Only run tests requiring C++11 in C++11 mode. Nick Thompson 2018-11-24 18:10:06 -0700
  • fb71b01cfc Remove initialization order warning [CI SKIP] Nick Thompson 2018-11-24 17:41:03 -0700
  • de90c41131 Merge branch 'develop' into polynomial_improvements Nick Thompson 2018-11-24 12:41:46 -0700
  • 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). jzmaddock 2018-11-24 12:10:10 +0000