[SciPy-dev] Numeric precision measurements?
Robert Kern
rkern at ucsd.edu
Wed Jun 8 14:55:10 EDT 2005
Eric Jonas wrote:
> So, some friends and I are hacking on scipy this summer (yea, this is
> our idea of a fun summer)
Welcome to the club. :-)
> and as we try out different algorithms, we're
> running into floating point precision effects. For example, we get
> slightly different answers when we do a convolution via FFT vs via the
> simple algorithm.
I'm stabbing in the dark, but it's possible that the difference that
you're seeing has to do with end-effects, not FP precision issues.
FFT-convolution implies wraparound. The "simple algorithm" may or may
not depending on how you're implementing it.
> I'm curious how the scipy developers measure/quantify
> this sort of error when choosing which algorithms to implement / use in
> the actual scipy codebase. Is something like GMP used to compute a
> much-closer-to-"real" value, and then (say) the output of the
> GMP-implementation used to measure error against other methods?
Very, very rarely. That approach doesn't work very well for most of
what's in Scipy, which is based on Numeric and FORTRAN code. GMP just
doesn't plug in well.
> Or does
> someone just say "hey, I think I like -this- algorithm for
> matmul/conv/whatever, I'll use it and assume users are smart enough to
> deal with FP issues".
Usually, "-this- algorithm" is documented somewhere and hopefully
someone has done the appropriate numerical analysis.
--
Robert Kern
rkern at ucsd.edu
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
More information about the SciPy-Dev
mailing list