Boost logo

Boost :

From: Hubert Holin (Hubert.Holin_at_[hidden])
Date: 2007-04-26 19:32:52

Paris (U.E.), le 27/04/2007


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_at_[hidden]>,
 Matthias Schabel <boost_at_[hidden]> 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:
> &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
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.
to address the need of the other possible users, perhaps a policy
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
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

> € 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

Boost list run by bdawes at, gregod at, cpdaniel at, john at