Thank you Richard for starting up this document.
I have a couple of comments regarding the distributions, which I'm
writing here as I feel putting them in the document directly would
have cluttered it.
First, I think we could push for more than just mean and standard
deviation. As the math behind the distributions we already have is
quite known, I feel it should be relatively easy to add pdf, cdf,
mode, variance, entropy, etc etc (basically all stats which can be
straightforwardly found in the Wikipedia entries about the
distributions). Does this make sense, or we want to start small just
in case?
Secondly, not all these quantities are necessarily defined for all the
distributions. For example, the Cauchy distribution has an undefined
mean. We need to decide what to do about these; should the undefined
functions just be missing?
Thirdly, I think we ought to make it possible to construct these
distributions in a constexpr manner, so that code that is based on
distributions which are known in advance does not have to compute them
at runtime. If I remember correctly, the reason why distributions are
not constexpr by default is that some of them store state in order to
be sampled from (for example std::normal_distribution). This makes
sense, but at the same time I think it would be nice to have a
mechanism to construct the distributions in a constexpr fashion if one
is only interested in the statistics functions rather than sampling.
I'm not sure whether this can be done, but I think we should try to
make this possible. Boost defines new constexpr classes which only
contain the stats; the problem that I have with that is that there is
no link between the "sampling" distributions (non constexpr) and the
"math" distributions (constexpr only), which I strongly dislike, as
for example it prevents obtaining statistics from a sampling class
constructed at runtime.
I can edit the document about these things, but I wanted to know your
opinions before just writing.
Best,
Eugenio
On 4/12/19, Richard Dosselmann (via Google Docs) <
doss...@cs.uregina.ca> wrote:
> I've shared an item with you:
>
> Mathematics Proposal
>
https://docs.google.com/document/d/1VAgcyvL1riMdGz7tQIT9eTtSSfV3CoCEMWKk8GvVuFY/edit?usp=sharing&ts=5cb00fa4
>
> It's not an attachment -- it's stored online. To open this item, just click
>
> the link above.
>
> --
> You received this message because you are subscribed to the Google Groups
> "SG19 - Machine Learning" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
sg19+uns...@isocpp.org.
> To post to this group, send email to
sg...@isocpp.org.
> Visit this group at
https://groups.google.com/a/isocpp.org/group/sg19/.
> To view this discussion on the web visit
>
https://groups.google.com/a/isocpp.org/d/msgid/sg19/000000000000b7617d05864d7a88%40google.com.
>