|
Boost : |
From: Andrew Sutton (asutton_at_[hidden])
Date: 2007-12-13 09:55:19
> This is tricky: the there are multiple Gumbel distributions too:
> but both
> Wikipedia and Mathworld use the general term "Gumbel Distribution"
> to refer
> to the *minimum* case of the extreme value type I distribution,
> where as the
> distribution currently implemented as "extreme_value_distribution"
> is the
> *maximal* case of the extreme value type I distribution, which is
> the same
> as the ExtremeValueDistribution in Mathematica:
> http://reference.wolfram.com/mathematica/ref/
> ExtremeValueDistribution.html
>
> I really wish this wasn't so confusing, but there appears to be no
> easy
> naming choice here.
So I went back and read a little more carefully. Let me see if I have
this right... Gumbel, Weibull, and Fisher-Tippet are are all Extreme
Value distributions. The Fisher-Tippet distribution corresponds to a
maximum extreme value distribution, and Gumbel, a minimum. Re-reading
the Wikipedia entry for it, they seem to use the distributions a
little more interchangeably.
As far as code goes, Boost.Math has the Fisher-Tippet variant (as
extreme_value), but not a true Gumbel distribution, right? That means
that I've effectively written a Fisher-Tippet variate, but not really
a true Gumbel variate... I guess I'll just hack away at my new Gumbel
distribution and rename the number generator.
>> I wanted to rename fisher_f to just fisher also, but didn't get
>> around to it.
>
> I wish this had come up in the review, we did think about renaming
> this at
> one point, but never got around to it :-(
>
> If anyone has strong opinions speak up now, as it'll be next to
> impossible
> to make that breaking change after 1.35 has shipped!
Since many of the distributions have alternate names, it might be
worth considering an aliasing scheme or something. Derivation might
work. For example:
template <...>
struct fisher_tippet_distribution : public
extreme_value_distribution<...>
{ };
Template typedefs would be better.
Andrew Sutton
asutton_at_[hidden]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk