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