mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05:00 
			
		
		
		
	
		
			
	
	
		
			154 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			154 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								[section:issues Known Issues, and TODO List]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Predominantly this is a TODO list, or a list of possible
							 | 
						||
| 
								 | 
							
								future enhancements.  Items labled "High Priority" effect
							 | 
						||
| 
								 | 
							
								the proper functioning of the component, and should be fixed
							 | 
						||
| 
								 | 
							
								as soon as possible.  Items labled "Medium Priority" are
							 | 
						||
| 
								 | 
							
								desirable enhancements, often pertaining to the performance
							 | 
						||
| 
								 | 
							
								of the component, but do not effect it's accuracy or functionality.
							 | 
						||
| 
								 | 
							
								Items labled "Low Priority" should probably be investigated at
							 | 
						||
| 
								 | 
							
								some point.  Such classifications are obviously highly subjective.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If you don't see a component listed here, then we don't have any known
							 | 
						||
| 
								 | 
							
								issues with it.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Derivatives of Bessel functions (and their zeros)]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Potentially, there could be native support
							 | 
						||
| 
								 | 
							
								for `cyl_bessel_j_prime()` and `cyl_neumann_prime()`.
							 | 
						||
| 
								 | 
							
								One could also imagine supporting the zeros
							 | 
						||
| 
								 | 
							
								thereof, but they might be slower to calculate
							 | 
						||
| 
								 | 
							
								since root bracketing might be needed instead
							 | 
						||
| 
								 | 
							
								of Newton iteration (for the lack of 2nd derivatives).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Since Boost.Math's Bessel functions are so excellent,
							 | 
						||
| 
								 | 
							
								the quick way to `cyl_bessel_j_prime()` and
							 | 
						||
| 
								 | 
							
								`cyl_neumann_prime()` would be via relationship with
							 | 
						||
| 
								 | 
							
								`cyl_bessel_j()` and `cyl_neumann()`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 tgamma]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* Can the __lanczos be optimized any further?  (low priority)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Incomplete Beta]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* Investigate Didonato and Morris' asymptotic expansion for large a and b
							 | 
						||
| 
								 | 
							
								(medium priority).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Inverse Gamma]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* Investigate whether we can skip iteration altogether if the first approximation
							 | 
						||
| 
								 | 
							
								is good enough (Medium Priority).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Polynomials]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* The Legendre and Laguerre Polynomials have surprisingly different error
							 | 
						||
| 
								 | 
							
								rates on different platforms, considering they are evaluated with only
							 | 
						||
| 
								 | 
							
								basic arithmetic operations.  Maybe this is telling us something, or maybe not
							 | 
						||
| 
								 | 
							
								(Low Priority).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Elliptic Integrals]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* [para Carlson's algorithms (mainly R[sub J]) are somewhat prone to
							 | 
						||
| 
								 | 
							
								internal overflow/underflow when the arguments are very large or small.
							 | 
						||
| 
								 | 
							
								The homogeneity relations:]
							 | 
						||
| 
								 | 
							
								[para R[sub F](ka, kb, kc) = k[super -1/2] R[sub F](a, b, c)]
							 | 
						||
| 
								 | 
							
								[para and]
							 | 
						||
| 
								 | 
							
								[para R[sub J](ka, kb, kc, kr) = k[super -3/2] R[sub J](a, b, c, r)]
							 | 
						||
| 
								 | 
							
								[para could be used to sidestep trouble here: provided the problem domains
							 | 
						||
| 
								 | 
							
								can be accurately identified. (Medium Priority).]
							 | 
						||
| 
								 | 
							
								* There are a several other integrals: Bulirsch's ['el] functions that could
							 | 
						||
| 
								 | 
							
								be implemented using Carlson's integrals (Low Priority).
							 | 
						||
| 
								 | 
							
								* The integrals K(k) and E(k) could be implemented using rational
							 | 
						||
| 
								 | 
							
								approximations (both for efficiency and accuracy),
							 | 
						||
| 
								 | 
							
								assuming we can find them. (Medium Priority).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Owen's T Function]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There is a problem area at arbitrary precision when ['a] is very close to 1.  However, note that
							 | 
						||
| 
								 | 
							
								the value for ['T(h, 1)] is well known and easy to compute, and if we replaced the
							 | 
						||
| 
								 | 
							
								['a[super k]] terms in series T1, T2 or T4 by ['(a[super k] - 1)] then we would have the
							 | 
						||
| 
								 | 
							
								difference between ['T(h, a)] and ['T(h, 1)].  Unfortunately this doesn't improve the
							 | 
						||
| 
								 | 
							
								convergence of those series in that area.  It certainly looks as though a new series in terms
							 | 
						||
| 
								 | 
							
								of ['(1-a)[super k]] is both possible and desirable in this area, but it remains elusive at present.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Jocobi elliptic functions]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								These are useful in engineering applications - we have had a request to add these.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Statistical distributions]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* Student's t Perhaps switch to normal distribution
							 | 
						||
| 
								 | 
							
								as a better approximation for very large degrees of freedom?
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[h4 Feature Requests]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								We have a request for the Lambert W function, see [@https://svn.boost.org/trac/boost/ticket/11027 #11027].
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following table lists distributions that are found in other packages
							 | 
						||
| 
								 | 
							
								but which are not yet present here, the more frequently the distribution
							 | 
						||
| 
								 | 
							
								is found, the higher the priority for implementing it:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[table
							 | 
						||
| 
								 | 
							
								[[Distribution][R][Mathematica 6][NIST][Regress+][Matlab]]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[/3 votes:]
							 | 
						||
| 
								 | 
							
								[[Geometric][X][X][-][-][X]]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[/2 votes:]
							 | 
						||
| 
								 | 
							
								[[Multinomial][X][-][-][-][X]]
							 | 
						||
| 
								 | 
							
								[[Tukey Lambda][X][-][X][-][-]]
							 | 
						||
| 
								 | 
							
								[[Half Normal / Folded Normal][-][X][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Chi][-][X][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Gumbel][-][X][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Discrete Uniform][-][X][-][-][X]]
							 | 
						||
| 
								 | 
							
								[[Log Series][-][X][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Nakagami (generalised Chi)][-][-][-][X][X]]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[/1 vote:]
							 | 
						||
| 
								 | 
							
								[[Log Logistic][-][-][-][-][X]]
							 | 
						||
| 
								 | 
							
								[[Tukey (Studentized range)][X][-][-][-][-]]
							 | 
						||
| 
								 | 
							
								[[Wilcoxon rank sum][X][-][-][-][-]]
							 | 
						||
| 
								 | 
							
								[[Wincoxon signed rank][X][-][-][-][-]]
							 | 
						||
| 
								 | 
							
								[[Non-central Beta][X][-][-][-][-]]
							 | 
						||
| 
								 | 
							
								[[Maxwell][-][X][-][-][-]]
							 | 
						||
| 
								 | 
							
								[[Beta-Binomial][-][X][-][-][-]]
							 | 
						||
| 
								 | 
							
								[[Beta-negative Binomial][-][X][-][-][-]]
							 | 
						||
| 
								 | 
							
								[[Zipf][-][X][-][-][-]]
							 | 
						||
| 
								 | 
							
								[[Birnbaum-Saunders / Fatigue Life][-][-][X][-][-]]
							 | 
						||
| 
								 | 
							
								[[Double Exponential][-][-][X][-][-]]
							 | 
						||
| 
								 | 
							
								[[Power Normal][-][-][X][-][-]]
							 | 
						||
| 
								 | 
							
								[[Power Lognormal][-][-][X][-][-]]
							 | 
						||
| 
								 | 
							
								[[Cosine][-][-][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Double Gamma][-][-][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Double Weibul][-][-][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Hyperbolic Secant][-][-][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Semicircular][-][-][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Bradford][-][-][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Birr / Fisk][-][-][-][X][-]]
							 | 
						||
| 
								 | 
							
								[[Reciprocal][-][-][-][X][-]]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[/0 votes but useful anyway?]
							 | 
						||
| 
								 | 
							
								[[Kolmogorov Distribution][-][-][-][-][-]]
							 | 
						||
| 
								 | 
							
								]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Also asked for more than once:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* Add support for interpolated distributions, possibly combine with numeric
							 | 
						||
| 
								 | 
							
								integration and differentiation.
							 | 
						||
| 
								 | 
							
								* Add support for bivariate and multivariate distributions: most especially the normal.
							 | 
						||
| 
								 | 
							
								* Add support for the log of the cdf and pdf:
							 | 
						||
| 
								 | 
							
								this is mainly a performance optimisation since we can avoid
							 | 
						||
| 
								 | 
							
								some special function calls for some distributions
							 | 
						||
| 
								 | 
							
								by returning the log of the result.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[endsect] [/section:issues Known Issues, and Todo List]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[/
							 | 
						||
| 
								 | 
							
								  Copyright 2006, 2010 John Maddock and Paul A. Bristow.
							 | 
						||
| 
								 | 
							
								  Distributed under the Boost Software License, Version 1.0.
							 | 
						||
| 
								 | 
							
								  (See accompanying file LICENSE_1_0.txt or copy at
							 | 
						||
| 
								 | 
							
								  http://www.boost.org/LICENSE_1_0.txt).
							 | 
						||
| 
								 | 
							
								]
							 | 
						||
| 
								 | 
							
								
							 |