
On Monday, 20. November 2006 17:35, Eric Niebler wrote:
Michael Stevens wrote:
I an very interested in this framework so I have started to take a look.
General Accumulators are something I could make use of myself. I really like the conceptual design of the framework, and how it allows accumulators to be inter-dependant..
Great! Glad you like it.
After a quick browse through the documentation I decided to take a look at the code. In particular I was interested in the numerics.
I think the current implementation has some serious numerical weaknesses. I looked at 2 algorithms 'sum' and 'variance':
In 'sum' I expected to see a compensated summation, this is numerically a lot better then just adding the numbers together.
'sum' is one I implemented. I'm not surprised to learn there are better approaches.
The framework allows for different implementation strategies for the statistics, though. Using the extensibility features, you can define your own "compensated_sum" accumulator and declare that it satisfies the "sum" feature (so that "compensated_sum" and "sum" are indistinguishable from the POV of dependency resolution), and even come up with clever syntax for it, like:
accumulator_set< double, features< sum(compensated) > > acc;
Cool! I will have to give it a try·
You might even try writing "compensated_sum" yourself and submitting it, just to see what happens. :-)
The questions of what the default "sum" should do, and what alternate implementations should be provided, are open.
I guess what people expect depends on their technical background! All the best with the library, Michael -- ___________________________________ Michael Stevens Systems Engineering 34128 Kassel, Germany Phone/Fax: +49 561 5218038 Navigation Systems, Estimation and Bayesian Filtering http://bayesclasses.sf.net ___________________________________