Commit Graph

5028 Commits

Author SHA1 Message Date
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
7c82eb75cf Test for scale invariance of M2M4 SNR estimator. [CI SKIP] 2018-12-27 15:02:36 -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
1de89f997a Clarify documentation [CI SKIP] 2018-12-27 11:08:29 -07: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
Nick Thompson
53ba643528 Merge branch 'develop' into sequence_tools 2018-12-20 10:58:49 -07: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
Nick Thompson
f51e55c3cb Take advice of cppcheck [CI SKIP] 2018-12-18 11:46:46 -07:00
Nick Thompson
01ba0fea91 Meaningless commit to kick off build. 2018-12-17 15:20: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
1e3e547427 Apply fine-tooth comb to Hoyer sparsity. [CI SKIP] 2018-12-17 11:02:24 -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
1bf2d261b8 Merge branch 'develop' into sequence_tools [CI SKIP] 2018-12-10 15:24:32 -07:00
Nick Thompson
fb2ae307d6 Computation of covariance. [CI SKIP] 2018-12-10 14:38:42 -07: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
9ec255e82a Merge branch 'develop' into sequence_tools [CI SKIP] 2018-12-10 12:19:03 -07:00
Nick Thompson
65c8b7ea6a Add OSX debug symbol directories to .gitignore [CI SKIP] 2018-12-10 12:10:54 -07: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