
Boost : 
From: Paul A Bristow (pbristow_at_[hidden])
Date: 20060712 12:08:01
 Original Message
 From: boostbounces_at_[hidden]
 [mailto:boostbounces_at_[hidden]] On Behalf Of Topher Cooper
 Sent: 12 July 2006 14:11
 To: boost_at_[hidden]
 Subject: Re: [boost] [math/staticstics/design] How
 besttonamestatisticalfunctions?
 This brings to mind another function that, though easily derived
 would be good to have to allow internal computations less subject to
 roundoff error. This is a two parameter function that is the
 cumulative probability between a lower and an upper
 bound. Mathematically this can always be computed as "CDF(x[ub]) 
 CDF(x[lb])" (read the square brackets as mathematical subscript
 notation) but numerically with very small intervals, you can easily
 end up with 0 when you want something close to
 "PDF((x[ub]+x[lb])/2)*(x[ub]x[lb])".
An interesting suggestion.
John Maddock has been muttering about using Boost.Interval with these
functions.
It's on his TODO list allegedly ;)
Would this help with the "CDF(x[ub])  CDF(x[lb])"?
And/or allow one to produce "PDF((x[ub]+x[lb])/2)*(x[ub]x[lb])"
using the density/mass/distribution?
 You don't need to make any
 general guarantee about precision and so could do initial
 implementations as the difference of the cumulative functions, but
 then go back and do better for individual distributions.

 I don't know any standard term for this off the top of my head. I
 would suggest just using a two argument version of whatever is
 decided on for the cumulative distribution. So, using my suggested
 function name:

 standard_normal.cdf(1.0, 1.0)

 would return the probability that a random variate with a normal
 distribution is within one standard deviation of the mean.

 The only problem I have with this is that if we look at the one
 parameter version as being the two parameter version with one
 parameter defaulted its the *first* parameter that is
 defaulted since:

 dist.cdf(x) = dist.cdf(INFINITY, x)

 That would suggest using the complementary cdf instead, but that
 seems a lot less natural.
The language doesn't make this natural :(
Paul
 Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS 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