Boost logo

Boost :

Subject: Re: [boost] Log/tropical semiring for boost math
From: John Maddock (boost.regex_at_[hidden])
Date: 2010-04-10 12:06:56


> I work in machine learning, and often need to do probability computations
> in
> the log scale to avoid underflows. A nice way to do this is to use a class
> where the add, divide etc. operators are overloaded by their log scale
> equivalents (e.g. log(a*b) = log(a) + log(b)). In other words a class
> implementing the log semiring <http://en.wikipedia.org/wiki/Semiring>.
> Also
> useful in this context is the tropical semiring, where adding is replaced
> by
> taking the maximum (or minimum) of the arguments. I looked for these in
> the
> boost math library, but couldn't find anything. So I wrote my own. Did I
> miss something? And if not, is anyone interested in adding my
> implementation
> to boost math?

No you didn't miss anything, I think this would need reviewing as a new
"sub-library" of Boost.Math, but I would encourage you to make your code
available and seek a review if folks are interested.

Cheers, John.


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