# 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_2024_precision, author="Wolfram Research", title="{Precision}", year="2003", howpublished="\url{https://reference.wolfram.com/language/ref/Precision.html}", note=[Accessed: 13-September-2024 ]}

#### BibLaTeX

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