]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 Derivatives of Bessel functions (and their zeros)] | |
16 | ||
17 | Potentially, there could be native support | |
18 | for `cyl_bessel_j_prime()` and `cyl_neumann_prime()`. | |
19 | One could also imagine supporting the zeros | |
20 | thereof, but they might be slower to calculate | |
21 | since root bracketing might be needed instead | |
22 | of Newton iteration (for the lack of 2nd derivatives). | |
23 | ||
24 | Since Boost.Math's Bessel functions are so excellent, | |
25 | the quick way to `cyl_bessel_j_prime()` and | |
26 | `cyl_neumann_prime()` would be via relationship with | |
27 | `cyl_bessel_j()` and `cyl_neumann()`. | |
28 | ||
29 | [h4 tgamma] | |
30 | ||
31 | * Can the __lanczos be optimized any further? (low priority) | |
32 | ||
33 | [h4 Incomplete Beta] | |
34 | ||
35 | * Investigate Didonato and Morris' asymptotic expansion for large a and b | |
36 | (medium priority). | |
37 | ||
38 | [h4 Inverse Gamma] | |
39 | ||
40 | * Investigate whether we can skip iteration altogether if the first approximation | |
41 | is good enough (Medium Priority). | |
42 | ||
43 | [h4 Polynomials] | |
44 | ||
45 | * The Legendre and Laguerre Polynomials have surprisingly different error | |
46 | rates on different platforms, considering they are evaluated with only | |
47 | basic arithmetic operations. Maybe this is telling us something, or maybe not | |
48 | (Low Priority). | |
49 | ||
50 | [h4 Elliptic Integrals] | |
51 | ||
52 | * [para Carlson's algorithms (mainly R[sub J]) are somewhat prone to | |
53 | internal overflow/underflow when the arguments are very large or small. | |
54 | The homogeneity relations:] | |
55 | [para R[sub F](ka, kb, kc) = k[super -1/2] R[sub F](a, b, c)] | |
56 | [para and] | |
57 | [para R[sub J](ka, kb, kc, kr) = k[super -3/2] R[sub J](a, b, c, r)] | |
58 | [para could be used to sidestep trouble here: provided the problem domains | |
59 | can be accurately identified. (Medium Priority).] | |
60 | * There are a several other integrals: Bulirsch's ['el] functions that could | |
61 | be implemented using Carlson's integrals (Low Priority). | |
62 | * The integrals K(k) and E(k) could be implemented using rational | |
63 | approximations (both for efficiency and accuracy), | |
64 | assuming we can find them. (Medium Priority). | |
65 | ||
66 | [h4 Owen's T Function] | |
67 | ||
68 | There is a problem area at arbitrary precision when ['a] is very close to 1. However, note that | |
69 | the value for ['T(h, 1)] is well known and easy to compute, and if we replaced the | |
70 | ['a[super k]] terms in series T1, T2 or T4 by ['(a[super k] - 1)] then we would have the | |
71 | difference between ['T(h, a)] and ['T(h, 1)]. Unfortunately this doesn't improve the | |
72 | convergence of those series in that area. It certainly looks as though a new series in terms | |
73 | of ['(1-a)[super k]] is both possible and desirable in this area, but it remains elusive at present. | |
74 | ||
75 | [h4 Jocobi elliptic functions] | |
76 | ||
77 | These are useful in engineering applications - we have had a request to add these. | |
78 | ||
79 | [h4 Statistical distributions] | |
80 | ||
81 | * Student's t Perhaps switch to normal distribution | |
82 | as a better approximation for very large degrees of freedom? | |
83 | ||
84 | [h4 Feature Requests] | |
85 | ||
86 | We have a request for the Lambert W function, see [@https://svn.boost.org/trac/boost/ticket/11027 #11027]. | |
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 |