Re: Re: Re: Re: More /.{I->-1}
- To: mathgroup at smc.vnet.net
- Subject: [mg106950] Re: [mg106925] Re: [mg106656] Re: [mg106882] Re: More /.{I->-1}
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Fri, 29 Jan 2010 07:47:02 -0500 (EST)
- References: <hjbvc0$2tp$1@smc.vnet.net> <hjeqh1$g3c$1@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
OK... heard this before. Still seems counter-intuitive, but I suppose it's the inevitable result (at the boundaries) of a useful mechanism. Bobby On Thu, 28 Jan 2010 04:01:56 -0600, Andrzej Kozlowski <akozlowski at gmail.com> wrote: > The definition of precision in Mathematica is this. Suppose x is a > number known up to an error of epsilon, that is it can be viewed as > lying in the interval (x-epsilon/2,x+epsilon/2). Then its precision is > -Log[10,epsilon/x]. Its accuracy is -Log[10,epsilon]. The two are > related by the equation: > Precision[x] - Accuracy[x] == RealExponent[x] > > The interpretation in terms of digits is only approximate. Both accuracy > and precision can be negative - this depends on the scale of the number > i.e. RealExponent. A number will have negative accuracy if its absolute > error is large. It is easy to produce such numbers by cancellation > > With[{x = N[10^100, 50] - N[10^100, 50]}, > Accuracy[x]] > > -50.301 > > On the other hand, since > > $MinPrecision > > 0 > > You won't normally in Mathematica see numbers with negative Precision. > Precision is the main concept, Accuracy is only used because Precision > is singular at 0 (remember - its relative error). > > It's all perfectly documented so this tired scape goat is not available > this time. > > Andrzej Kozlowski > > > On 28 Jan 2010, at 08:45, DrMajorBob wrote: > >> OK... so numbers are allowed to have NEGATIVE precision? >> >> LESS than zero digits of accuracy? Really? >> >> Whatever for? >> >> Bobby >> >> On Wed, 27 Jan 2010 18:23:32 -0600, Daniel Lichtblau <danl at wolfram.com> >> wrote: >> >>> DrMajorBob wrote: >>>> 0 and 1 are not "fuzzballs", so what interval could be >= 1 and also >>>> 0.? >>>> Bobby >>> >>> I had in mind the spoiler answer Richard Fateman provided in his first >>> post mentioning this particular tangent, err, example. >>> >>> http://forums.wolfram.com/mathgroup/archive/2010/Jan/msg00638.html >>> >>> At the bottom we find: >>> --- >>> I would especially avoid .nb objects, and most especially on topics of >>> numerical analysis, where the design flaws are, in my opinion, so >>> fundamental. Example (mathematica 7.0): >>> {x >= 1, x > 1, x > 0, x} >>> evaluates to >>> {True, False, False, 0.} >>> >>> can you construct x? >>> >>> RJF >>> >>> One possible answer, below.... >>> >>> x=0``-.5 >>> --- >>> >>> The point is that with Mathematica's version of significance >>> arithmetic, >>> equality, I believe, is effectively treated as having a nontrivial an >>> intersection (of the implicit intervals defining two numbers). If >>> neither has any fuzz (i.e. both are exact), then Equal allows for no >>> fuzz, so this is only a subtlety if at least one of the values is >>> approximate. >>> >>> One implication is that a "zero" of sufficiently low (as in bad) >>> accuracy can be regarded as 1, or -1, or Pi, if those values happen to >>> fall within the accuracy (which I refer to as fuzz). >>> >>> The other inequalities follow from the preservation of trichotomy. For >>> explicitly real values we regard that as important. mathematica makes >>> no >>> pretense that Equal is transitive and I do not see any way to do that >>> and also have useful approximate arithmetic. >>> >>> There has been some amount of communication off-line on this topic, >>> which is why some of us (well, me, at least) sometimes forget the >>> examples are not universally obvious to those who have not memorized >>> the >>> enitre thread. >>> >>> Daniel >>> >>> >>>> On Wed, 27 Jan 2010 00:44:22 -0600, Daniel Lichtblau >>>> <danl at wolfram.com> >>>> wrote: >>>> >>>>> Richard Fateman wrote: >>>>>> [...] >>>>>> If all of Mathematica functionality were available in the free >>>>>> player >>>>>> version, WRI would need to drastically change its business model. >>>>>> And >>>>>> even it it were free, we still have behavior like this: (..for some >>>>>> values of zero) >>>>>> >>>>>> {x >== 1, x > 0, x} evaluates to {True, False, 0.} >>>>>> >>>>>> RJF >>>>> >>>>> Let's take simple intervals, that is, intervals that are segments. >>>>> Define less and greater in the obvious ways, that is, one segment >>>>> lies >>>>> strictly below the other (right endpoint of lesser is less than left >>>>> endpoint of larger). Let us further define two intervals to be equal >>>>> whenever they have nonempty intersection. >>>>> >>>>> With these definitions, which I think are sensible, the behavior you >>>>> describe above is consistent with arithmetic on intervals. As the >>>>> numbers involved, at least some of them, are fuzzballs, this strikes >>>>> me >>>>> as an appropriate behavior. >>>>> >>>>> Daniel Lichtblau >>>>> Wolfram Research >>> >> >> >> -- >> DrMajorBob at yahoo.com >> > -- DrMajorBob at yahoo.com