# Numerical Analysis/Loss of Significance

Loss of significance occurs in numerical calculations when too many significant digits cancel. As a result of the floating point arithmetic used by computers, when a number is subtracted from another number that is almost exactly the same, catastrophic cancellation may occur and an erroneous value returned. As an example, consider the behavior of

$f(x)={\sqrt {x^{2}+1}}-1$ as x approaches 0. Evaluating this function at $x=1.89\times 10^{-9}$ using Matlab incorrectly returns the answer 0, which shows that too many significant digits have cancelled.

If x and y are positive, normalized floating point binary numbers such that $x>y$ and

$2^{-q}\leq 1-{y \over x}\leq 2^{-p}\,,$ (bound)

then at most $q$ and at least $p$ significant binary bits are lost in the subtraction $x-y$ .

On this page we will consider several exercises/examples of using this formula and show how sometimes we can rearrange the calculation to reduce loss of significance. Please try the exercise yourself before revealing the solution.

## Exercises

### Exercise 1

Use $2^{-q}\leq 1-{y \over x}\leq 2^{-p}$ to find a lower bound on the input x if one desires to lose no more than 1 significant binary bit in the calculation of $f(x)={\sqrt {x^{2}+1}}-1$ .

### Exercise 2

Use $2^{-q}\leq 1-{y \over x}\leq 2^{-p}$ to find a lower bound on the input x if one desires to lose at most 3 significant binary bits in the calculation of $f(x)={\sqrt {x^{2}+1}}-1$ .

### Exercise 3

Consider

$f(x)={\sqrt {x^{2}+1}}-x\,.$ As x gets very large, loss of significance can occur. What is the bound on x if we want to lose no more than one binary digit?

### Exercise 4

Now consider the function

$f(x)=\log(x+1)-\log(x)\,.$ For large values of x, loss of significance may occur.

Use (bound ) to find a bound on the input so that at most 1 significant binary bit will be lost in the calculation.

### Exercise 5

$f'(x)\approx {f(x+h)-f(x) \over h}$ is often used to approximate derivatives. w:Truncation error can be reduced by decreasing "h", the step size, but if h becomes too small, loss of significance can become a factor. For ${f(x+h)-f(x) \over h}$ , find a bound on h such that at most 1 binary bit will be lost in the calculation.

### Exercise 6

For ${f(x+h)-f(x) \over h}$ , find a bound on h such that at most 1 binary bit will be lost in the calculation, if $f(x)=x^{2}$ .

### Exercise 7

Rewrite $f(x)={\sqrt {x^{2}+1}}-1$ so that there is no loss of significance, then evaluate it at $x=1.89\times 10^{-9}$ .

### Exercise 8

Rewrite $f(x)=\log(x+1)-\log(x)$ so that loss of significance will be minimized.

### Exercise 9

For very small values of x, loss of significance can occur in $f(x)={1-x \over 1+x}-{1 \over 3x+1}$ . Rewrite this function in a way that will minimize loss of significance.

### Exercise 10

As x gets close to zero, loss of significance can occur in $f(x)={\frac {1-\cos(x)}{\sin(x)}}$ . Rewrite this function in a way that will minimize loss of significance.