]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | [section:main_intro About the Math Toolkit] |
2 | ||
3 | This library is divided into three interconnected parts: | |
4 | ||
5 | [h4 Statistical Distributions] | |
6 | ||
7 | Provides a reasonably comprehensive set of | |
8 | [link dist statistical distributions], | |
9 | upon which higher level statistical tests can be built. | |
10 | ||
11 | The initial focus is on the central | |
12 | [@http://en.wikipedia.org/wiki/Univariate univariate ] | |
13 | [@http://mathworld.wolfram.com/StatisticalDistribution.html distributions]. | |
14 | Both [@http://mathworld.wolfram.com/ContinuousDistribution.html continuous] | |
15 | (like [link math_toolkit.dist_ref.dists.normal_dist normal] | |
16 | & [link math_toolkit.dist_ref.dists.f_dist Fisher]) | |
17 | and [@http://mathworld.wolfram.com/DiscreteDistribution.html discrete] | |
18 | (like [link math_toolkit.dist_ref.dists.binomial_dist binomial] | |
19 | & [link math_toolkit.dist_ref.dists.poisson_dist Poisson]) | |
20 | distributions are provided. | |
21 | ||
22 | A [link math_toolkit.stat_tut comprehensive tutorial is provided], | |
23 | along with a series of | |
24 | [link math_toolkit.stat_tut.weg worked examples] illustrating | |
25 | how the library is used to conduct statistical tests. | |
26 | ||
27 | [h4 Mathematical Special Functions] | |
28 | ||
29 | Provides a small number of high quality | |
30 | [link special special functions], | |
31 | initially these were concentrated on functions used in statistical applications | |
32 | along with those in the [tr1]. | |
33 | ||
34 | The function families currently implemented are the gamma, beta & erf functions | |
35 | along with the incomplete gamma and beta functions (four variants | |
36 | of each) and all the possible inverses of these, plus digamma, | |
37 | various factorial functions, | |
38 | Bessel functions, elliptic integrals, sinus cardinals (along with their | |
39 | hyperbolic variants), inverse hyperbolic functions, Legrendre/Laguerre/Hermite | |
40 | polynomials and various | |
41 | special power and logarithmic functions. | |
42 | ||
43 | All the implementations | |
44 | are fully generic and support the use of arbitrary "real-number" types, | |
45 | including __multiprecision, | |
46 | although they are optimised for use with types with known-about | |
47 | [@http://en.wikipedia.org/wiki/Significand significand (or mantissa)] | |
48 | sizes: typically `float`, `double` or `long double`. | |
49 | ||
50 | [h4 Implementation Toolkit] | |
51 | ||
52 | The section [link math_toolkit.internals_overview Internal tools] | |
53 | provides many of the tools required to implement | |
54 | mathematical special functions: hopefully the presence of | |
55 | these will encourage other authors to contribute more special | |
56 | function implementations in the future. | |
57 | ||
58 | Some tools are now considered well-tried and their signatures stable and unlikely to change. | |
59 | ||
60 | There is a fairly comprehensive set of root finding both | |
61 | __root_finding_without_derivatives | |
62 | and __root_finding_with_derivatives with derivative support, | |
63 | and function minimization using __brent_minima. | |
64 | ||
65 | Other [link math_toolkit.internals_overview Internal tools] | |
66 | are currently still considered experimental: they are "exposed implementation details" | |
67 | whose interfaces and\/or implementations may change without notice. | |
68 | ||
69 | There are helpers for the | |
70 | [link math_toolkit.internals.series_evaluation evaluation of infinite series], | |
71 | [link math_toolkit.internals.cf continued | |
72 | fractions] and [link math_toolkit.roots.rational | |
73 | rational approximations]. | |
74 | A [link math_toolkit.internals.minimax Remez algorithm implementation] | |
75 | allows for the locating of minimax rational | |
76 | approximations. | |
77 | ||
78 | There are also (experimental) classes for the | |
79 | [link math_toolkit.roots.polynomials manipulation of polynomials], for | |
80 | [link math_toolkit.internals.error_test | |
81 | testing a special function against tabulated test data], and for | |
82 | the [link math_toolkit.internals.test_data | |
83 | rapid generation of test data] and/or data for output to an | |
84 | external graphing application. | |
85 | ||
86 | [endsect] [/section:intro Introduction] | |
87 | ||
88 | [/ | |
89 | Copyright 2006, 2012, 2015 John Maddock and Paul A. Bristow. | |
90 | Distributed under the Boost Software License, Version 1.0. | |
91 | (See accompanying file LICENSE_1_0.txt or copy at | |
92 | http://www.boost.org/LICENSE_1_0.txt). | |
93 | ] |