Re: Why Mathematica does not issue a warning when the calculations
- To: mathgroup at smc.vnet.net
- Subject: [mg117653] Re: Why Mathematica does not issue a warning when the calculations
- From: John Travolta Sardus <pireddag at hotmail.com>
- Date: Tue, 29 Mar 2011 06:54:12 -0500 (EST)
- References: <imfa3k$iks$1@smc.vnet.net>
On 24.03.11 12:32, Daniel Lichtblau wrote: (several things and) > precision tracking and fixed precision ok, so I realize there is a deeper point which I had failed to appreciate properly. I will take my time to read through the documentation, although probably I won't understand it up to the lat detail. Anyway, when writing I had something in mind, somewhat naive, but I thought it had something to do with the general issue (that is, it would be nice to have software that *always* warns when the calculations are losing precision). First a (very naive) point of view - when a calculation is impossible for a computer, then just do not do it ... do not subtract two very large numbers that are almost equal to each other hoping to get their difference correct to the n-th decimal digit (ok, almost joking here) What I actually had in mind - there are algorithms which, I know, can give a nice rule on the expected usefulness of the result beforehand (the most important case that I know of is the condition number for matrix inversion: by the way, I have verified that Mathematica issues the usual warning when dealing with an ill-conditioned matrix, and that stating a precision). When reflecting about it, it seems very unlikely that there is a simple criterion for every algorithm (quoting again ... > Many computations cannot be done with good > error control, or a priori estimates of needed initial precision. So, to make my original question more precise, are the algorithms corresponding to each Mathematica command (of which there is only a finite set ...) classified into "algorithms with good error bounds" and "algorithm without" and is there such a list? I guess not, and in any case it is better to learn about this "significance arithmetic" if one wants to use Mathematica with its "arbitrary precision arithmetic". Just to make an (extreme?) example of what can happen, I was fooling around with ill-conditioned matrices, to see whether I could obtain accurate results for the solution of ill-conditioned linear systems using the second argument to the N function. After a while of playing around I entered the following (I wanted to introduce a new vector of known values into my calculations) b = {1, -999999999999998} Resulting into the output: {1, -999997999000002} I guess one needs first to learn how to use Mathematica, then he can use it effectively