[math toolkit] Formal Review today, April 11, through April 20

Its entirely up to Matthias. If he thinks more time is needed for a proper review of the library, beyond even the extension date, it appropriate to add days, as many as are needed. If it gets to long however, we might consider overlapping it with the next review, in this case the GUID library. The "ten" day period is just a rule of thumb and entirely flexible. Large libraries will often need more days for the review.

Hi, I would like some information. How much the special functions implementation is targeted to the evaluation of statistical quantities over the different distributions ? Is the special functions implentation enough general to be usable as a standalone library ? If so, why not split the math toolkit into two libraries ? A special funcion library, merged with the special functions by Hubert Holin and Eric Ford, and a statistics library including distributions and operation over them. If their code is already uncoupled, this would require only a documentation splitting. How much the special functions in the math toolkit conform to the ISO C++09 standard proposal for a special function library ? Regards, Marco -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Marco wrote:
Hi, I would like some information. How much the special functions implementation is targeted to the evaluation of statistical quantities over the different distributions ? Is the special functions implentation enough general to be usable as a standalone library ?
Yes absolutely.
If so, why not split the math toolkit into two libraries ?
That's more or less what happended already if you read the docs, ultimately I expect this to all become part of Boost.Math but with separate links from our library's index to each of the subsections. Other suggestions welcomed of course :-) One thing I'm not keen to do is totally split the docs: there's a huge amount of cross referencing between the parts, and it would be a major undertaking to fully separate them. I'd prefer to keep them as separate "chapters" to one Boost.Math lib, with of course hopefully more chapters in due course (if someone volunteers to write them!)
A special funcion library, merged with the special functions by Hubert Holin and Eric Ford, and a statistics library including distributions and operation over them. If their code is already uncoupled, this would require only a documentation splitting.
The review code already contains updated versions of Hubert's code, plus his docs merged into mine.
How much the special functions in the math toolkit conform to the ISO C++09 standard proposal for a special function library ?
Quite a lot, there are currently only four special functions missing that are present in the TR1: the two hypergeometric functions, zeta, and the exponential integral. The latter two are known quantities, but the hypergeometrics are vertually impossible to do right IMO (and certainly impossible to fully test - there are two many degrees of freedom to guarantee adequate coverage). Those four might make an interesting SOC project for someone next year though. In the mean time if the library is accepted then the plan is for me to provide a TR1-compatible thin wrapper to the special functions, within the Boost.TR1 library. Also missing are some of the C99 math functions: many of these though can only be implemented at the hardware level (all those rounding control functions for example), so those won't be appearing in the foreseeable future. But most platforms seem to be acquiring these anyway? There are also a few special functions that are essential for the stats code but not present in TR1: the incomplete gamma and beta functions plus there inverses, and digamma. And then there are a few ad-hoc functions that are used internally, but exposed publicly because the problems they solve often crop up when implementing other special functions: things like tgamma1pm1(z) which calculates tgamma(1+z)-1 for small z. Hope this helps, the special functions index is online here http://freespace.virgin.net/boost.regex/toolkit/html/math_toolkit/special.ht... BTW. John.

On Sat, 14 Apr 2007 11:04:40 +0200, John Maddock <john@johnmaddock.co.uk> wrote:
Marco wrote:
Hi, I would like some information. How much the special functions implementation is targeted to the evaluation of statistical quantities over the different distributions ? Is the special functions implentation enough general to be usable as a standalone library ?
Yes absolutely.
This is really a good thing, it's unuseful finding out the wheel every time.
If so, why not split the math toolkit into two libraries ?
That's more or less what happended already if you read the docs, ultimately I expect this to all become part of Boost.Math but with separate links from our library's index to each of the subsections. Other suggestions welcomed of course :-)
I guessed it, but I wanted to be sure :-)
One thing I'm not keen to do is totally split the docs: there's a huge amount of cross referencing between the parts, and it would be a major undertaking to fully separate them. I'd prefer to keep them as separate "chapters" to one Boost.Math lib, with of course hopefully more chapters in due course (if someone volunteers to write them!)
I agree: lazy splitting (i.e. chapter splitting ) it's enough.
How much the special functions in the math toolkit conform to the ISO C++09 standard proposal for a special function library ?
Quite a lot, there are currently only four special functions missing that are present in the TR1: the two hypergeometric functions, zeta, and the exponential integral. The latter two are known quantities, but the hypergeometrics are vertually impossible to do right IMO (and certainly impossible to fully test - there are two many degrees of freedom to guarantee adequate coverage). Those four might make an interesting SOC project for someone next year though. In the mean time if the library is accepted then the plan is for me to provide a TR1-compatible thin wrapper to the special functions, within the Boost.TR1 library. Also missing are some of the C99 math functions: many of these though can only be implemented at the hardware level (all those rounding control functions for example), so those won't be appearing in the foreseeable future. But most platforms seem to be acquiring these anyway?
There are also a few special functions that are essential for the stats code but not present in TR1: the incomplete gamma and beta functions plus there inverses, and digamma. And then there are a few ad-hoc functions that are used internally, but exposed publicly because the problems they solve often crop up when implementing other special functions: things like tgamma1pm1(z) which calculates tgamma(1+z)-1 for small z.
Nice, so if there is no support for special functions in the user's standard library, he can utilize the boost::math implementation in a transparent way. The viceversa would be nice too: a boost::math-compatible thin wrapper to those special functions whose implementation is available also in the standard library, essentially because the last ones could provide better performance on the specific architeture the user is working on. At beginning names like tgamma1pm1 seem a little odd, it's a pity that these functions don't own a specific name in literature. Anyway, once read the definition, I find them both concise and self-explanatory.
Hope this helps, the special functions index is online here http://freespace.virgin.net/boost.regex/toolkit/html/math_toolkit/special.ht... BTW.
John.
Yes, thanks a lot. Marco -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
participants (3)
-
John Maddock
-
Marco
-
Tom Brinkman