credits.qbk 6.3 KB

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