Re: Re: 1`2 == 1*^-10
- To: mathgroup at smc.vnet.net
- Subject: [mg71582] Re: [mg71572] Re: [mg71525] 1`2 == 1*^-10
- From: "Chris Chiasson" <chris at chiasson.name>
- Date: Fri, 24 Nov 2006 01:17:02 -0500 (EST)
- References: <200611221022.FAA04444@smc.vnet.net>
I find the main problem I have with the significance arithmetic is that errors are combined independently in calculations more than one step removed from the independent variables, forcing me to use a different approach (or get errors that are too high). All that stuff about polynomials went over my head :-/ Sorry. On 11/23/06, Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote: > *This message was transferred with a trial version of CommuniGate(tm) Pro* > Mathematica's confidence aritmetic is not suitable and not meant for > this sort of situation. In empirical situations you never actualy > know that your data has exactly 2 or exactly 3 digits of precision. > What you do know at best is that your error has has a certain > statistical distribution; and the correct approach in such cases is > the "backward error" computation of numerical analysis. > Mathematica's approach is based on interval arithmetic ("forward > error") which is can be very useful for purely mathematical purposes > (one can actually use it to produce "exact" proofs, as has been > demonstrated on this group. But it is a poor model of situations > where one deal with empirical errors. > For example, in Hans Stetter's book "Numerical Polynomial > agebra" (and a number of other places) the notion of an empirical > polynomial is considered. The coefficients of such polynomials are > known only vaguely. One does not even any precise bounds within > which each coefficient lies, but only certain specified tolerances, > which can be different for different coefficients. The questions > that arise in connection with empirical data, e.g. finding roots of > polynomial systems, are not those of equality (as with Mathemaitca's > interval like approximate objects) but of validity. A candidate > solution for an empirical problem with specified data is considered > valid with a certain degree of validity if it is the exact solution > for an set of empirical data lying within a certain distance (in a > metric defined using the tolerances for the different coefficients) > of the specified data. The minimum distance between the specified > data and data for which the candidate solution is an exact solution > constitutes the backward error (originally introduced by J. > Wilkinson) of the solution. > What Mathematica's "significane arithmetic" is really good at is > automatic detection of numerical instability and automatic increase > of precision of computations to overcome it. Numerical instability is > a mathematical and not empirical phenomenon. The power of > significance arithmetic is shown at its best in such techniques as > approximate root isolation or numerical Groebner basis (used by > NSolve). Typically precision of over one hundred digits is used. > Empirical problems with low precision data are not well modelled by > this and any results obtained with significance arithmetic are almost > certain to be useless. What you need is old fashioned backward error > analysis, which seems rather hard to implement in software (I don't > know of any program that performs is automatically) and requires > certain basic skils in numerical analysis. > > Andrzej Kozlowski > > > On 23 Nov 2006, at 22:10, Chris Chiasson wrote: > > > One reason a person may want to work with low precision (or accuracy) > > is when the given data is already of low precision (or accuracy). For > > instance, I only know how tall I am to within half an inch or so. If I > > were doing a calculation involving my height, I would probably enter > > it as: > > > > height=6*12+1``0 > > > > That's already down to 1.857 digits of precision. > > > > On 11/23/06, Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote: > >> This has come up several times before. I can't imagine why you need > >> to consider numbers with two digits of precision but if you really do > >> I think the best suggestion can be found here: > >> > >> > >> http://forums.wolfram.com/mathgroup/archive/2006/Feb/msg00108.html > >> > >> Andrzej Kozlowski > >> > >> > >> On 22 Nov 2006, at 19:22, Andrew Moylan wrote: > >> > >> > Hi all, > >> > > >> > Please help me understand the following behaviour, which was > >> wrecking > >> > havoc the results I get from calling the function Sort: > >> > > >> > Evaluating > >> > 1`2 == 1*^-10 > >> > gives > >> > True > >> > > >> > Correspondingly, evaluating each of > >> > 1`2 < 1*^-10 > >> > and > >> > 1`2 > 1*^-10 > >> > give > >> > False > >> > > >> > Can anyone explain why these two numbers are declared to be equal? > >> > It's > >> > inconsistent with my previous understanding of how arbitrary- > >> precision > >> > numbers are interpreted in Mathematica. > >> > > >> > (I've resolved my sorting problem by using OrderedQ instead of > >> Less as > >> > the ordering function in Sort. But why was this necessary?) > >> > > >> > Cheers, > >> > Andrew > >> > > >> > >> > > > > > > -- > > http://chris.chiasson.name/ > > -- http://chris.chiasson.name/
- References:
- 1`2 == 1*^-10
- From: "Andrew Moylan" <andrew.j.moylan@gmail.com>
- 1`2 == 1*^-10