]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | [section:credits Credits and Acknowledgements] |
2 | ||
3 | Hubert Holin started the Boost.Math library. The | |
4 | Quaternions, Octonions, inverse | |
5 | hyperbolic functions, and the sinus cardinal functions are his. | |
6 | ||
7 | Daryle Walker wrote the integer gcd and lcm functions. | |
8 | ||
9 | John Maddock started the special functions, the beta, gamma, erf, polynomial, | |
10 | and factorial functions are his, as is the "Toolkit" section, and many | |
11 | of the statistical distributions. | |
12 | ||
13 | Paul A. Bristow threw down the challenge in | |
14 | [@http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2004/n1668.pdf | |
15 | A Proposal to add Mathematical Functions for Statistics to the C++ | |
16 | Standard Library] to add the key math functions, especially those essential for | |
17 | statistics. After JM accepted and solved the difficult problems, | |
18 | not only numerically, but in full C++ template style, PAB | |
19 | implemented a few of the statistical distributions. PAB also tirelessly | |
20 | proof-read everything that JM threw at him (so that all | |
21 | remaining editorial mistakes are his fault). | |
22 | ||
23 | Xiaogang Zhang worked on the Bessel functions and elliptic integrals for his | |
24 | Google Summer of Code project 2006. | |
25 | ||
26 | Bruno Lalande submitted the "compile time power of a runtime base" code. | |
27 | ||
28 | Johan R'''å'''de wrote the optimised floating-point classification | |
29 | and manipulation code, and nonfinite facets to permit C99 output of infinities and NaNs. | |
30 | (nonfinite facets were not added until Boost 1.47 but had been in use with Boost.Spirit). | |
31 | This library was based on a suggestion from Robert Ramey, author of Boost.Serialization. | |
32 | Paul A. Bristow expressed the need for better handling of | |
33 | [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2022.pdf | |
34 | Input & Output of NaN and infinity for the C++ Standard Library] | |
35 | and suggested following the C99 format. | |
36 | ||
37 | Antony Polukhin improved lexical cast avoiding stringstream so that | |
38 | it was no longer necessary to use a globale C99 facet to handle nonfinites. | |
39 | ||
40 | H'''å'''kan Ard'''ö''', | |
41 | Boris Gubenko, John Maddock, | |
42 | Markus Sch'''ö'''pflin | |
43 | and Olivier Verdier tested the floating-point library and | |
44 | Martin Bonner, Peter Dimov and John Maddock provided valuable advice. | |
45 | ||
46 | Gautam Sewani coded the logistic distribution as part of a Google Summer of Code project 2008. | |
47 | ||
48 | M. A. (Thijs) van den Berg coded the Laplace distribution. | |
49 | (Thijs has also threatened to implement some multivariate distributions). | |
50 | ||
51 | Thomas Mang requested the inverse gamma in chi squared distributions | |
52 | for Bayesian applications and helped in their implementation, | |
53 | and provided a nice example of their use. | |
54 | ||
55 | Professor Nico Temme for advice on the inverse incomplete beta function. | |
56 | ||
57 | [@http://www.shoup.net Victor Shoup for NTL], | |
58 | without which it would have much more difficult to | |
59 | produce high accuracy constants, and especially | |
60 | the tables of accurate values for testing. | |
61 | ||
62 | We are grateful to Joel Guzman for helping us stress-test his | |
63 | [@http://www.boost.org/tools/quickbook/index.htm Boost.Quickbook] | |
64 | program used to generate the html and pdf versions | |
65 | of this document, adding several new features en route. | |
66 | ||
67 | Plots of the functions and distributions were prepared in | |
68 | [@http://www.w3.org/ W3C] standard | |
69 | [@http://www.svg.org/ Scalable Vector Graphic (SVG)] format | |
70 | using a program created by Jacob Voytko during a | |
71 | [@http://code.google.com/soc/2007/ Google Summer of Code (2007)]. | |
72 | From 2012, the latest versions of all Internet Browsers have support | |
73 | for rendering SVG (with varying quality). Older versions, especially | |
74 | (Microsoft Internet Explorer (before IE 9) lack native SVG support | |
75 | but can be made to work with | |
76 | [@http://www.adobe.com/svg/viewer/install/ Adobe's free SVG viewer] plugin). | |
77 | The SVG files can be converted to JPEG or PNG using | |
78 | [@http://www.inkscape.org/ Inkscape]. | |
79 | ||
80 | We are also indebted to Matthias Schabel for managing the formal Boost-review | |
81 | of this library, and to all the reviewers - including Guillaume Melquiond, | |
82 | Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland | |
83 | - for their many helpful comments. | |
84 | ||
85 | Thanks to Mark Coleman and Georgi Boshnakov for spot test values | |
86 | from __Mathematica, and of course, | |
87 | to Eric Weisstein for nurturing __Mathworld, an invaluable resource. | |
88 | ||
89 | The Skew-normal distribution and Owen's t function were written by Benjamin Sobotta. | |
90 | ||
91 | We thank Thomas Mang for persuading us to allow t distributions | |
92 | to have infinite degrees of freedom | |
93 | and contributing to some long discussions about how to improve accuracy | |
94 | for large non-centrality and/or large degrees of freedom. | |
95 | ||
96 | Christopher Kormanyos wrote the e_float multiprecision library __TOMS910 | |
97 | which formed the basis for the Boost.Multiprecision library | |
98 | which now can be used to allow most functions and distributions | |
99 | to be computed up to a precision of the users' choice, | |
100 | no longer restricted to built-in floating-point types like double. | |
101 | (And thanks to Topher Cooper for bring Christopher's e_float to our attention). | |
102 | ||
103 | Christopher Kormanyos wrote some examples for using __multiprecision, | |
104 | and added methods for finding zeros of Bessel Functions. | |
105 | ||
106 | Marco Guazzone provided the hyper-geometric distribution. | |
107 | ||
108 | Rocco Romeo has found numerous small bugs and generally stress tested the | |
109 | special functions code to near destruction! | |
110 | ||
111 | Jeremy William Murphy added polynomial arithmetic tools. | |
112 | ||
113 | Thomas Luu provided improvements to the quantile of the non-central chi squared distribution quantile. | |
114 | and his thesis | |
115 | * [@http://discovery.ucl.ac.uk/1482128/ Fast and accurate parallel computation of quantile functions for random number generation, 2016]. | |
116 | ||
117 | and his paper | |
118 | ||
119 | Luu, Thomas; (2015), Efficient and Accurate Parallel Inversion of the Gamma Distribution, | |
120 | SIAM Journal on Scientific Computing , 37 (1) C122 - C141, | |
121 | [@http://dx.doi.org/10.1137/14095875X]. | |
122 | ||
123 | These also promise to help improve algorithms for computation of quantile of several disitributions, | |
124 | especially for parallel computation using GPUs. | |
125 | ||
126 | [endsect] [/section:credits Credits and Acknowledgements] | |
127 | ||
128 | [/ | |
129 | Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2015, 2016 John Maddock and Paul A. Bristow. | |
130 | Distributed under the Boost Software License, Version 1.0. | |
131 | (See accompanying file LICENSE_1_0.txt or copy at | |
132 | http://www.boost.org/LICENSE_1_0.txt). | |
133 | ] | |
134 |