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