blob: 1f7641c1d4aadb9e2b5cb0e636b8603233154e8c [file] [log] [blame]
[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).
]