|
[Date Index]
[Thread Index]
[Author Index]
Re: Re: Accuracy and Precision
- To: mathgroup at smc.vnet.net
- Subject: [mg37017] Re: [mg36983] Re: Accuracy and Precision
- From: Peter Kosta <pkosta2002 at yahoo.com>
- Date: Sun, 6 Oct 2002 05:33:22 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
--- Daniel Lichtblau <danl at wolfram.com> wrote:
> Peter Kosta wrote:
> >
> > The more I play with the example the more
> depressing it gets. Start
> > with floating point numbers but explicitly
> arbitrary-precision ones.
> >
> > In[1]:=
> > a=77617.00000000000000000000000000000;
> > b=33095.00000000000000000000000000000;
> >
> > In[3]:=
> > \!\(333.7500000000000000000000000000000\ b\^6 +
> a\^2\ \((11\ a\^2\
> > b\^2 - \
> > b\^6 - 121\ b\^4 - 2)\) +
> 5.500000000000000000000000000000\ b\^8 +
> > a\/\(2\
> > b\)\)
> >
> > Out[3]=
> >
>
\!\(\(-4.78339168666055402578083604864320577443814`26.6715*^32\)\)
> >
> > In[4]:=
> > Accuracy[%]
> >
> > Out[4]=
> > -6
> >
> > Due to the manual section 3.1.6:
> >
> > "When you do calculations with arbitrary-precision
> numbers, as
> > discussed in the previous section, Mathematica
> always keeps track of
> > the precision of your results, and gives only
> those digits which are
> > known to be correct, given the precision of your
> input. When you do
> > calculations with machine-precision numbers,
> however, Mathematica
> > always gives you a machineprecision result,
> whether or not all the
> > digits in the result can, in fact, be determined
> to be correct on the
> > basis of your input. "
> >
> > Because I started with arbitrary-precision numbers
> Mathematica should display
> > only those digits that are correct, that is none.
>
> No, 26 digits are correct
Here is the number:
-0.8273960599468213681
Here is the same number computed by Mathematica with 26
"correct" digits:
-4.78339168666055402578083604864320577443814×10^32
It looks like I have been using some wrong definition
of "correct.":-)
You just proved that Precision is useless as a measure
how good your numerical result is.
> (check Precision instead
> of Accuracy to see
> this).
>
> You appear to be showing output in InputForm. If you
> use OutputForm or
> StandardForm only 26 digits will be shown.
>
> 32
> Out[3]= -4.7833916866605540257808360 10
>
> InputForm is showing more because it exposes "bad"
> digits as well as
> good ones.
>
>
> > To relax a bit, set a new input cell to
> StandardForm and type
> > 77617.000000000000000000000000000000000
> >
> > Convert it to InputForm. You get
> >
>
77616.999999999999999999999999999999999999999999952771`37.9031
> >
> > Convert back to StandardForm
> >
>
77616.99999999999999999999999999999999999999999976637`37.9031
> >
> > Again to InputForm
> >
>
77616.99999999999999999999999999999999999999999963735`37.9031
> >
> > Back to StandardForm
> >
>
77616.99999999999999999999999999999999999999999951376`37.9031
> >
> > See what you can get if you have enough patience
> or a small program.
> >
> > PK
>
> Agreed, it's not very pretty. I am uncertain as to
> whether this
> indicates a bug in StandardForm or elsewhere in the
> underlying numerics
> code, and will defer to our numerics experts on that
> issue. My guess is
> it is a bug if only because it violates the spirit
> of IEEE arithmetic
> wherein floats that have integer values should be
> representable as such
> (or something to that effect). I will point out,
> however, that the two
> numbers in question are equal to the specified
> precision. Also it
> appears to be improved in our development kernel.
>
>
> Daniel Lichtblau
> Wolfram Research
__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com
Prev by Date:
Re: Which fonts do I need to make Linux Stop Chirping?
Next by Date:
Re: Re: Accuracy and Precision
Previous by thread:
RE: RE: RE: Accuracy and Precision
Next by thread:
Re: Re: Accuracy and Precision
|