
Paris (U.E.), le 27/04/2007 Bonsoir I am posting a very short review now, and hopefully a longer one (answering the questions I did not have time for tonight) later in the day. In the interest of full disclosure, I should add that while I appear among the authors of this package, this is only due to the fact that I was responsible for a very small kernel of the current proposal, which I needed for another library. In more ways than one, my input was just a grain of sand, and the current proposal is a resulting pearl! I therefore believe I can post a review here without being both judge and jury. In article <92623D3D-1781-45AB-8DF6-0B1E5AB82409@schabel-family.org>, Matthias Schabel <boost@schabel-family.org> wrote:
The formal review of the Math Toolkit, submitted by John Maddock, Paul Bristow, Hubert Holin, and Xiaogang Zhang, begins today, April 11 and ends April 20. The library and documentation may be downloaded from the Boost Vault:
http://www.boost-consulting.org/vault/index.php? &direction=0&order=&directory=Math%20-%20Numerics
The Math Toolkit is divided into three interrelated components :
1) a reasonably comprehensive set of statistical distributions 2) a set of high quality special functions 3) tools needed to implement special functions
Because this library subsumes a wide range of material, I anticipate that not all reviewers will feel comfortable reviewing the entirety of the library. In order to expand the potential reviewer and increase overall participation, partial reviews of one or more of the three components described above are encouraged. As this is a primarily numerical library, quality of implementation, both correctness and efficiency, is critical. The authors have provided an extensive set of tests, but, as always, more eyes catch more bugs. Attention paid to these areas by reviewers is particularly welcome.
Your comments may be brief or lengthy, as long as they provide sufficient basis for the Review Manager to assess your evaluation of the library. Relevant areas include interface/design, implementation, relevance to Boost, etc... If you identify problems along the way, please note if they are minor, serious, or showstoppers.
Here are some questions you might want to answer in your review: What is your evaluation of the design?
The basic premise of being able to work generically is preserved with the current design, unlike with what has been put forward for the same field in C, and this is, in my opinion, HUGELY important. As well, when there is need for it, specialized, non-generic versions sometimes exists (such as for the beta function). This is a best of both world situation. As other reviewers have noted, some methods may perhaps not be the most accurate (though this is rather open to debate) for some of the functions offered here, and it is certain that other methods of computations will be found, in time. As well, sometimes a *Quick* and dirty implementation is more useful than a careful, precise, one. This is one of the fundamental dilemma of the field. The choice made here, as I understand, is to favor accuracy, and definitely is one I prefer. Still, to address the need of the other possible users, perhaps a policy parameter could have been used. As no library I know has actually gone so far and implemented such an approach, this can absolutely not be held against the authors or the library. It can, at best, represent an idea for the further evolution of the library as could be interval computation, another occasional (if not exactly frequent) request.
What is your evaluation of the implementation?
(to be detailed later)
What is your evaluation of the documentation?
Thorough, usable, informative.
What is your evaluation of the potential usefulness of the library?
I can't overstate the need for a library of the kind put forward here for people like me who do scientific computations. As other reviewers have pointed out, commercial packages do exist, but this one is free, and in my opinion is one of the better (free or not). This is not a full implementation of the mythical "Digital Library of Mathematical Functions", but at least it *EXISTS*, and will prove extremely useful to many.
Did you try to use the library? With what compiler? Did you have any problems? (to be detailed later)
How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? (to be detailed later)
Are you knowledgeable about the problem domain?
I am not a statistician, though I use statistics frequently. I am not a numerical analysis specialist, though I have on occasion to play the part of one at work. I do sometimes have to find ways to compute what can only be called "special functions", as this turns out to be a necessity for other work, time and again. In other words, I am neck deep into that field as a (needy) user, and only moderately proficient at solving the problems of that field.
And finally, every review should answer this question: Do you think the library should be accepted as a Boost library?
The library ***should be accepted as a Boost library***.
Be sure to say this explicitly so that your other comments don't obscure your overall opinion.
Review comments can be sent to the developer list, the user list, or directly to me if you don't wish to comment publicly. Thank you in advance for your time and work on this review.
Matthias Schabel Review Manager
Hubert Holin