Help with error analysis of Mathematica Functions
- To: mathgroup at smc.vnet.net
- Subject: [mg45175] Help with error analysis of Mathematica Functions
- From: terryisnow at yahoo.com (Terry)
- Date: Fri, 19 Dec 2003 06:57:45 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Fellow Mathematica Users, I have a simulation that sometimes requires arbitrary precision calculations in order to converge, however at the beginning when the numbers are large such expensive calculations are unnecessary as machine precision calculations will do. So I'm looking for a way to calculate the maximum error that my numbers can be off by at a given precision (then when my numbers become small enough that they risk being subsumed by error, I can proactively increase the precision). As I understand from a discussion I've been having on comp.arch.mathematics here: http://groups.google.com/groups?dq=&hl=en&lr=&ie=UTF-8&threadm=4nllpjfc8a.fsf%40edgedsp4.rtp.ericsson.se&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26group%3Dcomp.arch.arithmetic the accuracy in calculating the functions Log[] and x^y typically vary with the compiler/math library chosen for a given hardware platform (something I found to be quite surprising at the time). So I presume that Mathematica's machine precision calculations will also be subject to the choice of math library/compiler chosen when Mathematica was compiled as these calculations are done directly by the supporting platform. So my first question is, does anyone know what compiler/math library was used to compile Mathematica on the Windows/Intel platform? Better yet can anyone tell me what the maximum error would be for Log[x] and x^y when done on Mathematica machine precision numbers on Wintel machines? (I suspect this will be on the order of 1 ulp from my discussion on comp.arch.arithmetic). Secondly can anyone tell me what those error bounds would be for Mathematica's arbitrary-precision calculations which I presume are done primarily by Mathematica routines. Lastly, for the basic operations of addition, subtraction, multiplication and division on arbitrary precision numbers, I presume the result is exactly rounded (ie: within 0.5 ulp of the correct answer), is this a fair assumption? Any and all help will be very much appreciated! terry