Hi.

Le ven. 10 janv. 2020 à 22:45, Alex Herbert <alex.d.herb...@gmail.com> a écrit :
>
>
>
> > On 10 Jan 2020, at 18:12, Gilles Sadowski <gillese...@gmail.com> wrote:
> >
> >> ...
> >
> > IIUC, precision (without resorting to "BigDecimal") was the purpose of
> > "LinearCombination".  +1 for making the appropriate changes to the
> > existing "value" method.
> > [I'd suggest to open a JIRA issue and mention the rest of the alternatives
> > there, for future reference; but I wouldn't add them to the API until there
> > is a need for it.]
>
> OK. If the purpose is precision and to avoid BigDecimal then switching to 
> dot3 seems the best option as it performs one pass over the round-off errors 
> to improve the summation in the case of badly conditioned dot products. This 
> is an alternative to sorting the input products before (and during) summing 
> and faster.
>
> I’ll write the code to allow expansion to dot4, dot5, etc but not add this to 
> the API.
>
> Previously I used the timings from the summation only for the 2.2x slower 
> estimate. The timings for the dot product are better. Dot2 to dot3 should be 
> 12.5 to 18.5 so about 50% slower (table 6.5 in Ogita’s paper).
>
> I am going to set up a JMH module for numbers as I would like to benchmark 
> the operations in Complex. This is for reference with regard to the idea to 
> create the previously discussed ComplexList that stores the numbers as 
> primitive arrays and then does operations by creating instances of Complex 
> and then returning the results to the primitive arrays. I hope to show that 
> for most operations the overhead of creating Complex objects is negligible. 
> There may be cases where special implementations would be useful such as 
> multiply or divide of two lists in a paired operation.
>
> I was going to use the format from [rng] for the JMH module thus:
>
> commons-numbers/commons-numbers-examples/examples-jmh
>
> However I do not have any other examples.

One never knows.  Perhaps others will come up.
E.g. usage of "Complex" in order to call JTransform...

Gilles

> So perhaps just a single child module that is included via a profile as it 
> need not be a distributed artifact:
>
> commons-numbers/commons-numbers-mmh
>
> WDYT?
>
> I can build the new LinearCombination methods and put the old ones in the jmh 
> project with a test of relative speed.
>
> Then I’ll get back to Complex (which is nearing completion) and the 
> ComplexList.
>
> Alex
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to