Boost logo

Boost :

Subject: Re: [boost] seeking endorsement for histogram library
From: Fabian Bösch (boeschf_at_[hidden])
Date: 2017-11-13 17:59:36


> Dear Boost developers,
>
> I believe the histogram library is now ready to be presented here and
> I am looking for endorsement.
>
> Histogram is a C++11 header-only library that provides a safe,
> convenient, and fast multi-dimensional histogram for statistical
> analysis and visualisation. The library has a unique feature set,
> among it a safety guarantee that the counts in the histogram cannot
> overflow. It is easily customisable for power users, while providing
> defaults that just work for the occasional user. Meta-programming is
> used to provide an especially fast histogram implementation that can
> be used when the histogram configuration is known at compile-time. A
> dynamic implementation is also provided for the other case when the
> configuration is only known at run-time. The two implementations
> share a common interface, so it is easy to switch between them.
> Python bindings are included for the dynamic implementation. The
> Python interface supports Numpy arrays to greatly speed up the
> exchange of data between the Python and C++ side. I tested the
> performance of the library in benchmarks against other libraries
> , which have fewer features, and this library beats them in almost
> all cases.

[snip]

The histogram classes look quite useful, especially the property that
you can add histograms and thus accumulate data in parallel is
important in many scientific contexts.

Did you also intend to provide estimates of mean, variance and possibly
higher order statistical moments of the whole distribution? This can be
achieved with so-called on-line algorithms (even in the multi-variate
case) and would help to get more information about your data. This can
also be implemented such that the summation of histograms still work
(and probably also the scaling).

Best,
Fabian


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