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