Boost logo

Boost :

From: Paul A Bristow (pbristow_at_[hidden])
Date: 2004-11-08 14:16:49


 

| -----Original Message-----
| From: boost-bounces_at_[hidden]
| [mailto:boost-bounces_at_[hidden]] On Behalf Of Matt Austern
| Sent: 05 November 2004 18:22
| To: boost_at_[hidden]
| Subject: Re: [boost] Math functions - requirements 'spec'
|
| On Thu, 4 Nov 2004 13:35:50 -0000, Paul A Bristow
| <pbristow_at_[hidden]> wrote:
| > Following the view of C and C++ Working groups at Redmond
| > that a working implementation of my proposal for math functions
| > was a necessary condition for consideration for a TR-2 standard,
|
| I wasn't there for the discussion at the C standardization committee
| meeting, but I was there for the discussion in the C++ library working
| group. My interpretation of the discussion wasn't that a working
| implementation was necessary, but that the working group was skeptical
| about this proposal, period.
|
| Yes, the main reason for skepticism was that the implemention
| effort/user benefit ratio was perceived to be too large. So yes, an
| implementation might be one of the things that would help to change
| some people's minds. But if that's the goal you're setting yourself
| for an implementation, then it dictates the kind of work you'll need
| to do: you'll need to show that it's possible to produce a high
| quality implementation (let's say: maximum error of at most a few ulps
| for the entire range of every function) without heroic effort. I know
| that may seem like a tall order, but if your goal is to change the
| committees' minds then you need to understand the reasons people
| thought what they did.

I'm sorry - and completely baffled - that you are so negative about this
proposal.

Are you saying that statistics is not something that normal people do?

When I presented it to the UK C++ Panel discussion, explaing that you had to
leave C++
to use the statistics functions, one person said - "Oh yes - we do just
that".

Another said "Well I did my own - and it was tricky"
- implying he was less that certain of the accuracy of his result.
Fior something everyone agrees is not simple, the last thing that
we should be encouraging is for every Tom, Dick and Harry to roll his own!

If you are expected a result within a few ulp for all functions,
then for some you are certain to be disappointed - even WITH heroic effort!
It is impossible without using a system with much higher precision than the
native one,
(say a 100-ish decimal digits to achieve a 53-bit significand result)
and that is going to be far too big and far too slow for the users.

But I believe strongly that "at most a few ulps" is entirely the wrong
objective.
When the existing Standards make ABSOLUTELY NO accuracy requirements,
I find this a surprising target.

If Quality is Fitness-for-Purpose,
then a much lower accuracy is entirely acceptable in the Real World.

The loss of even 3 decimal digits precision in the incomplete beta
still make a negligible difference to the probability calculated
(which has a much greater uncertainty because of the sensitivity
to physical measurement and degrees of freedom).

Perhaps you can elaborate on why you believe such a high accuracy is even
desirable?

Perhaps other potential users can give their views?

Paul

PS If it is so difficult and unimportant,
why do all the other math packages (VB even) provide a _useful_
implementation?

Paul A Bristow
Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB
+44 1539 561830 +44 7714 330204
mailto: pbristow_at_[hidden]


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk