Precision

Precision[x]

gives the effective number of digits of precision in the number x.

Details

  • Precision[x] gives a measure of the relative uncertainty in the value of x.
  • With absolute uncertainty dx, Precision[x] is -Log[10,dx/x].
  • For exact numbers such as integers, Precision[x] is Infinity.
  • Precision[x] does not normally yield an integer result.
  • For any approximate number x, Precision[x] is equal to RealExponent[x]+Accuracy[x].
  • For machineprecision numbers, Precision[x] yields MachinePrecision.
  • Numbers entered in the form digits`p are taken to have precision p.
  • Numbers such as 0``a whose overall scale cannot be determined are treated as having zero precision.
  • Numbers with zero precision are output in StandardForm as 0.10-a, where a is their accuracy.
  • If x is not a number, Precision[x] gives the minimum value of Precision for all the numbers that appear in x. MachinePrecision is considered smaller than any explicit precision.

Examples

open allclose all

Basic Examples  (3)

Machine-precision number:

Arbitrary-precision number:

Exact number:

Scope  (2)

A zero known to accuracy 20:

The precision is 0.:

The precision of z+1 is the same as the accuracy of z:

N attempts to get a result correct to the given precision:

This cannot always be achieved:

This is because relative error cannot be measured at zero and :

Generalizations & Extensions  (1)

The precision of a symbolic expression is the minimum of the precisions of its numbers:

Applications  (2)

Check the quality of a result:

Track precision loss in a repetitive calculation:

Properties & Relations  (3)

All machine numbers have the same precision, MachinePrecision:

This is 53 bits or about 16 digits:

Real and imaginary parts of complex numbers can have different precisions:

Arithmetic operations will typically mix them:

But note that real and imaginary parts may still have different precisions:

The precision of the whole number lies in between these two precisions:

For approximate numbers, Precision[x]==RealExponent[x]+Accuracy[x]:

Possible Issues  (4)

MachinePrecision is always considered effectively smaller than any explicit precision:

Numbers with sufficiently low precision are displayed with zero mantissa:

Since Precision is based on relative error, it is not measurable for zero:

You can measure the absolute size of the error with Accuracy:

If you expect the result to be near zero, you can specify accuracy as a goal for N:

Subnormal machine numbers violate the relationship Precision[x]==RealExponent[x]+Accuracy[x]:

Instead, all subnormal numbers have the same uncertainty as $MinMachineNumber:

Neat Examples  (1)

Precision and Accuracy in iterating the tent map:

Wolfram Research (1988), Precision, Wolfram Language function, https://reference.wolfram.com/language/ref/Precision.html (updated 2003).

Text

Wolfram Research (1988), Precision, Wolfram Language function, https://reference.wolfram.com/language/ref/Precision.html (updated 2003).

CMS

Wolfram Language. 1988. "Precision." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2003. https://reference.wolfram.com/language/ref/Precision.html.

APA

Wolfram Language. (1988). Precision. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Precision.html

BibTeX

@misc{reference.wolfram_2023_precision, author="Wolfram Research", title="{Precision}", year="2003", howpublished="\url{https://reference.wolfram.com/language/ref/Precision.html}", note=[Accessed: 19-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_precision, organization={Wolfram Research}, title={Precision}, year={2003}, url={https://reference.wolfram.com/language/ref/Precision.html}, note=[Accessed: 19-March-2024 ]}