Changes between Version 3 and Version 4 of SoC2013


Ignore:
Timestamp:
Feb 20, 2013, 10:41:18 AM (10 years ago)
Author:
Paul A. Bristow
Comment:

Added Bernoulli numbers project

Legend:

Unmodified
Added
Removed
Modified
  • SoC2013

    v3 v4  
    4949
    5050Mentor: David Bellot (david.bellot[at]gmail.com)
     51
     52
     53=== Boost.Math Bernoulli numbers ===
     54Boost.Math [http://www.boost.org/doc/libs/1_53_0/libs/math/doc/sf_and_dist/html/]
     55is a large well-established Boost library, but new mathmetical functions can always be added. 
     56
     57
     58We wonder if students would be interested in adding Bernoulli numbers needed in several useful series.
     59
     60[http://en.wikipedia.org/wiki/Bernoulli_number]
     61
     62[http://mathworld.wolfram.com/BernoulliNumber.html]
     63
     64* Add support for Bernoulli numbers along with thread-safe caching.
     65* Add support for polygamma of positive integer order (requires Bernoulli numbers).
     66* Improve tgamma/lgamma for multiprecision types based on Stirling's approx.
     67* Optional: Add support for the Hurwitz zeta function.
     68
     69This would clearly require some serious math skills, but also good knowledge of C++,
     70especially using templates which Boost.Math makes much use of to provide not only
     71built-in double and long double but recently multiprecision, large fixed and arbitrary precision.
     72
     73If studying [http://svn.boost.org/svn/boost/trunk/boost/math/special_functions/gamma.hpp]
     74leaves you frightened, then this project is not for you.
     75
     76If you would like to demonstrate your skills, you might like to try coding the naive
     77Akiyama–Tanigawa algorithm for second Bernoulli numbers Bn
     78[http://en.wikipedia.org/wiki/Bernoulli_number#Algorithmic_description]
     79using Boost.Math.  Extra marks for providing a Boost.Test comparing with a handful of published values.
     80You can use any platform, Linux, Mac or Microsoft with your IDE of choice, perhaps Visual Studio or NetBeans.
     81
     82The project will by mentored by Paul Bristow for administration and Boost infrastructure,
     83and John Maddock and Christopher Kormanyos for mathematical and algorithmic expertise.
     84