Imported Upstream version 1.49.0
[platform/upstream/boost.git] / libs / math / doc / sf_and_dist / issues.qbk
1 [section:issues Known Issues, and TODO List]
2
3 Predominantly this is a TODO list, or a list of possible
4 future enhancements.  Items labled "High Priority" effect
5 the proper functioning of the component, and should be fixed
6 as soon as possible.  Items labled "Medium Priority" are
7 desirable enhancements, often pertaining to the performance
8 of the component, but do not effect it's accuracy or functionality.
9 Items labled "Low Priority" should probably be investigated at
10 some point.  Such classifications are obviously highly subjective.
11
12 If you don't see a component listed here, then we don't have any known 
13 issues with it.
14
15 [h4 tgamma]
16
17 * Can the __lanczos be optimized any further?  (low priority)
18
19 [h4 Incomplete Beta]
20
21 * Investigate Didonato and Morris' asymptotic expansion for large a and b 
22 (medium priority).
23
24 [h4 Inverse Gamma]
25
26 * Investigate whether we can skip iteration altogether if the first approximation
27 is good enough (Medium Priority).
28
29 [h4 Polynomials]
30
31 * The Legendre and Laguerre Polynomials have surprisingly different error
32 rates on different platforms, considering they are evaluated with only
33 basic arithmetic operations.  Maybe this is telling us something, or maybe not
34 (Low Priority).
35
36 [h4 Elliptic Integrals]
37
38 * Carlson's algorithms are essentially unchanged from Xiaogang Zhang's
39 Google Summer of Code student project, and are based on Carlson's
40 original papers.  However, Carlson has revised his algorithms since then
41 (refer to the references in the elliptic integral docs for a list), to
42 improve performance and accuracy, we may be able to take advantage
43 of these improvements too (Low Priority).
44 * [para Carlson's algorithms (mainly R[sub J]) are somewhat prone to
45 internal overflow/underflow when the arguments are very large or small.
46 The homogeneity relations:]
47 [para R[sub F](ka, kb, kc) = k[super -1/2] R[sub F](a, b, c)]
48 [para and]
49 [para R[sub J](ka, kb, kc, kr) = k[super -3/2] R[sub J](a, b, c, r)]
50 [para could be used to sidestep trouble here: provided the problem domains
51 can be accurately identified. (Medium Priority).]
52 * Carlson's R[sub C] can be reduced to elementary funtions (asin and log),
53 would it be more efficient evaluated this way, rather than by Carlson's
54 algorithms? (Low Priority).
55 * Should we add an implementation of Carlson's R[sub G]?  It's not
56 required for the Legendre form integrals, but some people may find it 
57 useful (Low Priority).
58 * There are a several other integrals: D([phi], k), Z([beta], k), 
59 [Lambda][sub 0]([beta], k) and Bulirsch's ['el] functions that could
60 be implemented using Carlson's integrals (Low Priority).
61 * The integrals K(k) and E(k) could be implemented using rational
62 approximations (both for efficiency and accuracy), 
63 assuming we can find them. (Medium Priority).
64 * There is a sub-domain of __ellint_3 that is unimplemented (see the docs
65 for details), currently
66 it's not clear how to solve this issue, or if it's ever likely
67 to be an real problem in practice - especially as most other implementations
68 don't support this domain either (Medium Priority).
69
70 [h4 Bessel Functions]
71
72 We should implement the Hankel H1 and H2 functions as linear combinations of Bessel functions.
73 Requires refactoring the internals so we can reliably calculate pairs of Bessel functions at the same time.
74 We may also be able to improve performance of the Bessel series evaluation by accelerating the alternating
75 series.  This may also increase the scope of the series form.
76
77 [h4 Jocobi elliptic functions]
78
79 These are useful in engineering applications - we have had a request to add these.
80
81 [h4 Statistical distributions]
82
83 * Student's t Perhaps switch to normal distribution 
84 as a better approximation for very large degrees of freedom?
85
86 [h4 Feature Requests]
87
88 The following table lists distributions that are found in other packages
89 but which are not yet present here, the more frequently the distribution
90 is found, the higher the priority for implementing it:
91
92 [table
93 [[Distribution][R][Mathematica 6][NIST][Regress+][Matlab]]
94
95 [/3 votes:]
96 [[Geometric][X][X][-][-][X]]
97
98 [/2 votes:]
99 [[Multinomial][X][-][-][-][X]]
100 [[Tukey Lambda][X][-][X][-][-]]
101 [[Half Normal / Folded Normal][-][X][-][X][-]]
102 [[Chi][-][X][-][X][-]]
103 [[Gumbel][-][X][-][X][-]]
104 [[Discrete Uniform][-][X][-][-][X]]
105 [[Log Series][-][X][-][X][-]]
106 [[Nakagami (generalised Chi)][-][-][-][X][X]]
107
108 [/1 vote:]
109 [[Log Logistic][-][-][-][-][X]]
110 [[Tukey (Studentized range)][X][-][-][-][-]]
111 [[Wilcoxon rank sum][X][-][-][-][-]]
112 [[Wincoxon signed rank][X][-][-][-][-]]
113 [[Non-central Beta][X][-][-][-][-]]
114 [[Maxwell][-][X][-][-][-]]
115 [[Beta-Binomial][-][X][-][-][-]]
116 [[Beta-negative Binomial][-][X][-][-][-]]
117 [[Zipf][-][X][-][-][-]]
118 [[Birnbaum-Saunders / Fatigue Life][-][-][X][-][-]]
119 [[Double Exponential][-][-][X][-][-]]
120 [[Power Normal][-][-][X][-][-]]
121 [[Power Lognormal][-][-][X][-][-]]
122 [[Cosine][-][-][-][X][-]]
123 [[Double Gamma][-][-][-][X][-]]
124 [[Double Weibul][-][-][-][X][-]]
125 [[Hyperbolic Secant][-][-][-][X][-]]
126 [[Semicircular][-][-][-][X][-]]
127 [[Bradford][-][-][-][X][-]]
128 [[Birr / Fisk][-][-][-][X][-]]
129 [[Reciprocal][-][-][-][X][-]]
130
131 [/0 votes but useful anyway?]
132 [[Kolmogorov Distribution][-][-][-][-][-]]
133 ]
134
135 Also asked for more than once:
136
137 * Add support for interpolated distributions, possibly combine with numeric 
138 integration and differentiation.
139 * Add support for bivariate and multivariate distributions: most especially the normal.
140 * Add support for the log of the cdf and pdf:
141 this is mainly a performance optimisation since we can avoid
142 some special function calls for some distributions
143 by returning the log of the result.
144
145 [endsect] [/section:issues Known Issues, and Todo List]
146
147 [/ 
148   Copyright 2006, 2010 John Maddock and Paul A. Bristow.
149   Distributed under the Boost Software License, Version 1.0.
150   (See accompanying file LICENSE_1_0.txt or copy at
151   http://www.boost.org/LICENSE_1_0.txt).
152 ]
153