| [section:credits Credits and Acknowledgements] |
| |
| Hubert Holin started the Boost.Math library. The |
| Quaternions, Octonions, inverse |
| hyperbolic functions, and the sinus cardinal functions are his. |
| |
| Daryle Walker wrote the integer gcd and lcm functions. |
| |
| John Maddock started the special functions, the beta, gamma, erf, polynomial, |
| and factorial functions are his, as is the "Toolkit" section, and many |
| of the statistical distributions. |
| |
| Paul A. Bristow threw down the challenge in |
| [@http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2004/n1668.pdf |
| A Proposal to add Mathematical Functions for Statistics to the C++ |
| Standard Library] to add the key math functions, especially those essential for |
| statistics. After JM accepted and solved the difficult problems, |
| not only numerically, but in full C++ template style, PAB |
| implemented a few of the statistical distributions. PAB also tirelessly |
| proof-read everything that JM threw at him (so that all |
| remaining editorial mistakes are his fault). |
| |
| Xiaogang Zhang worked on the Bessel functions and elliptic integrals for his |
| Google Summer of Code project 2006. |
| |
| Bruno Lalande submitted the "compile time power of a runtime base" code. |
| |
| Johan R'''å'''de wrote the optimised floating-point classification |
| and manipulation code, and nonfinite facets to permit C99 output of infinities and NaNs. |
| (nonfinite facets were not added until Boost 1.47 but had been in use with Boost.Spirit). |
| This library was based on a suggestion from Robert Ramey, author of Boost.Serialization. |
| Paul A. Bristow expressed the need for better handling of |
| [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2022.pdf |
| Input & Output of NaN and infinity for the C++ Standard Library] |
| and suggested following the C99 format. |
| |
| Antony Polukhin improved lexical cast avoiding stringstream so that |
| it was no longer necessary to use a globale C99 facet to handle nonfinites. |
| |
| H'''å'''kan Ard'''ö''', |
| Boris Gubenko, John Maddock, |
| Markus Sch'''ö'''pflin |
| and Olivier Verdier tested the floating-point library and |
| Martin Bonner, Peter Dimov and John Maddock provided valuable advice. |
| |
| Gautam Sewani coded the logistic distribution as part of a Google Summer of Code project 2008. |
| |
| M. A. (Thijs) van den Berg coded the Laplace distribution. |
| (Thijs has also threatened to implement some multivariate distributions). |
| |
| Thomas Mang requested the inverse gamma in chi squared distributions |
| for Bayesian applications and helped in their implementation, |
| and provided a nice example of their use. |
| |
| Professor Nico Temme for advice on the inverse incomplete beta function. |
| |
| [@http://www.shoup.net Victor Shoup for NTL], |
| without which it would have much more difficult to |
| produce high accuracy constants, and especially |
| the tables of accurate values for testing. |
| |
| We are grateful to Joel Guzman for helping us stress-test his |
| [@http://www.boost.org/tools/quickbook/index.htm Boost.Quickbook] |
| program used to generate the html and pdf versions |
| of this document, adding several new features en route. |
| |
| Plots of the functions and distributions were prepared in |
| [@http://www.w3.org/ W3C] standard |
| [@http://www.svg.org/ Scalable Vector Graphic (SVG)] format |
| using a program created by Jacob Voytko during a |
| [@http://code.google.com/soc/2007/ Google Summer of Code (2007)]. |
| From 2012, the latest versions of all Internet Browsers have support |
| for rendering SVG (with varying quality). Older versions, especially |
| (Microsoft Internet Explorer (before IE 9) lack native SVG support |
| but can be made to work with |
| [@http://www.adobe.com/svg/viewer/install/ Adobe's free SVG viewer] plugin). |
| The SVG files can be converted to JPEG or PNG using |
| [@http://www.inkscape.org/ Inkscape]. |
| |
| We are also indebted to Matthias Schabel for managing the formal Boost-review |
| of this library, and to all the reviewers - including Guillaume Melquiond, |
| Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland |
| - for their many helpful comments. |
| |
| Thanks to Mark Coleman and Georgi Boshnakov for spot test values |
| from __Mathematica, and of course, |
| to Eric Weisstein for nurturing __Mathworld, an invaluable resource. |
| |
| The Skew-normal distribution and Owen's t function were written by Benjamin Sobotta. |
| |
| We thank Thomas Mang for persuading us to allow t distributions |
| to have infinite degrees of freedom |
| and contributing to some long discussions about how to improve accuracy |
| for large non-centrality and/or large degrees of freedom. |
| |
| Christopher Kormanyos wrote the e_float multiprecision library __TOMS910 |
| which formed the basis for the Boost.Multiprecision library |
| which now can be used to allow most functions and distributions |
| to be computed up to a precision of the users' choice, |
| no longer restricted to built-in floating-point types like double. |
| (And thanks to Topher Cooper for bring Christopher's e_float to our attention). |
| |
| Christopher Kormanyos wrote some examples for using __multiprecision, |
| and added methods for finding zeros of Bessel Functions. |
| |
| Marco Guazzone provided the hyper-geometric distribution. |
| |
| Rocco Romeo has found numerous small bugs and generally stress tested the |
| special functions code to near destruction! |
| |
| [endsect] [/section:credits Credits and Acknowledgements] |
| |
| [/ |
| Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 John Maddock and Paul A. Bristow. |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt). |
| ] |
| |