MathGroup Archive 1995

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Accuracy and Precision

  • To: mathgroup at christensen.cybernetics.net
  • Subject: [mg753] Re: Accuracy and Precision
  • From: withoff (David Withoff)
  • Date: Wed, 12 Apr 1995 23:15:06 GMT
  • Organization: Wolfram Research, Inc.

In article <3mf8nk$l4o at news0.cybernetics.net> Paul E Howland <PEHOWLAND at taz.dra.hmg.gb> writes:
>I'm struggling to get my head around the difference between Accuracy[]
>and Precision[], and similarly AccuracyGoal[] and PrecisionGoal[].  I'm 
>writing a small optimisation package at the moment, and would like my 
>options to be similar to those of FindMinimum[], but can't sort out the 
>difference.
>
>I get the same answer for Accuracy[1] as Precision[1], and 
>for Accuracy[1.] as Precision[1.], and for 
>	Accuracy[1.000000000000000000000000000000000001] as
>	Precision[1.000000000000000000000000000000000001].
>
>I'm afraid the accuracy of my brain is unable to cope.
>
>Help!
>
>Paul.
>
>(Accurate and Precise answers most welcome)

One of the more useful descriptions I've seen of the meaning of
Precision and Accuracy in Mathematica is the following diagram:

      1048967560020294786590104.9080496788939297875009673
      |                       |                         |
      |                       |<--- Accuracy ---------->|
      |                                                 |
      |<---------------- Precision -------------------->|

Another definition is that Precision is a measure of relative error
and Accuracy is a measure of absolute error.

In your example

      1.000000000000000000000000000000000001
      |                                    |
      |<----- Accuracy = 36 digits ------->|
      |                                    |
      |<----- Precision = 36 digits ------>|

PrecisionGoal and AccuracyGoal are options used to parameterize the
termination condition in iterative algorithms.  Presumably the algorithm
you plan to implement will terminate when either the absolute or
relative error reaches some limit.

If your algorithm terminates when the absolute error reaches some
value ea, then you would give -Log[10, ea] as the value of the
AccuracyGoal option.  Conversely, within your algorithm, ea=10^(-ag),
where ag is the user-specified value of the AccuracyGoal option.

If your algorithm terminates when the relative error reaches some
value er, then you would give -Log[10, er] as the value of the
PrecisionGoal option.  Conversely, within your algorithm, er=10^(-pg),
where pg is the user-specified value of the PrecisionGoal option.

Dave Withoff
Research and Development
Wolfram Research


  • Prev by Date: Re: How to construct pure expressions
  • Next by Date: Re: How do you input a solution from FindRoot into another equation?
  • Previous by thread: Accuracy and Precision
  • Next by thread: Re: Accuracy and Precision