|Re: [eigen] Matrix2i mean|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
just as a note, as someone might be interested in.
Am 05.11.19 um 16:52 schrieb Janos Meny:
I don’t know c-xsc, but if the library provides high precision integral/ floating point types why not just use them with eigen, since everything is templated on the Scalar type.
Actually their approach is different. We often can't afford to go for high precision types for memory and
run-time issues. However, having the accumulator for the sum in the dot products in high precision can
dramatically enhance accuracy for problems where rounding errors are an issue. The problem is not the multiplication,
but the addition, e.g., one can get ( 1e50, 1, -1e50) * ( 1,1,1)^T = 1 and not zero, still working with double
matrices / vectors only. This idea was introduced a long time ago in FORTRAN-ACRITH and also implemented in
Pascal-XSC and C-XCS and is referred to as 'exact dot product'.
In principle one could already get a pretty good accuracy at no cost, if the CPU would allow to extend the
FMA operations in order to add all multiplications in the same FMA register, since internally they have
to work with a much higher precision. I have no clue whether this wold actually be possible.
In my numeric I definitely see a significant increase in accuracy if FMA is enabled.
BTW, I have performed multi precision numeric with eigen and it works pretty nice.