Repeated Arithmetic Operations

Thomas J. Kennedy

Contents:

So far we have covered error propagation through simple arithmetic operations (e.g., a single addition or multiplication operation). What happens when we have:

We will work through the error analysis for repeated multiplication and division. I will leave addition and subtraction up to you (i.e., as practice exercises).

1 Repeated Multiplication

Suppose we have a repeated multiplication operation.

$$ x_0 * x_1 * x_2 * … * x_{n-2} * x_{n-1} $$

 

Let us denote this product as $S_n$ and rewrite it using product notation.

$$ \begin{eqnarray} S_n &=& x_0 * x_1 * x_2 * … * x_{n-2} * x_{n-1} \\ &=& \prod\limits_{i=0}^{n-1}x_i \\ \end{eqnarray} $$

$S_n$ represents infinite precision. That means we need to define $S_n^{*}$.

 

$$ \begin{eqnarray} S_n^{*} &=& x_0^* * x_1^* * x_2^* * … * x_{n-2}^* * x_{n-1}^* \\ &=& \prod\limits_{i=0}^{n-1}x_i^{*} \\ &=& \prod\limits_{i=0}^{n-1}x_i(1 + \epsilon_i) \\ \end{eqnarray} $$

We need the relative error… Let us do some quick algebra with our $S$ terms.

$$ \begin{eqnarray} relative\phantom{1}error &=& \Bigg|\frac{S_n^{*} - S_n}{S_n} \Bigg| \\ &=& \Bigg|\frac{S_n^{*}}{S_n} - 1 \Bigg| \\ \end{eqnarray} $$

If we focus on $\frac{S_n^*}{S_n}$…

$$ \begin{eqnarray} \frac{S_n^*}{S_n} &=& \frac{\prod\limits_{i=0}^{n-1}x_i(1 + \epsilon_i)}{\prod\limits_{i=0}^{n-1}x_i} \\ &=& \prod\limits_{i=0}^{n-1}\frac{x_i(1 + \epsilon_i)}{x_i} \\ &=& \prod\limits_{i=0}^{n-1}(1 + \epsilon_i) \\ \end{eqnarray} $$

… we end up with a nice simplification! We can then plug that back into to original equation… and continue the evaluation.

 

$$ \begin{eqnarray} relative\phantom{1}error &=& \Bigg|\frac{S_n^{*} - S_n}{S_n} \Bigg| \\ &=& \Bigg|\frac{S_n^{*}}{S_n} - 1 \Bigg| \\ &=& \Bigg| \prod\limits_{i=0}^{n-1}(1 + \epsilon_i) - 1 \Bigg| \\ &=& \Bigg| 1 + \sum\limits_{i=0}^{n-1}(\epsilon_i) - 1 \Bigg| \\ &\approx& \Bigg| \sum\limits_{i=0}^{n-1}(\epsilon_i) \Bigg| \end{eqnarray} $$

This is similar to our earlier result for $x^* * y^*$. The error in multiplication is the sum of the errors of the terms being multiplied.

2 Repeated Division

Suppose we have a division operation.

$$ x_0 / x_1 / x_2 / … / x_{n-2} / x_{n-1} $$

… which we can rewrite as a repeated multiplication operation.

$$ x_0 * \frac{1}{x_1} * \frac{1}{x_2} * … * \frac{1}{x_{n-2}} * \frac{1}{x_{n-1}} $$

Let us rewrite that using product notation, and define it as $D_n$.

$$ \begin{eqnarray} D_n &=& x_0 * \frac{1}{x_1} * \frac{1}{x_2} * … * \frac{1}{x_{n-2}} * \frac{1}{x_{n-1}}\\ &=& x_0 \prod\limits_{i=1}^{n-1}\frac{1}{x_i} \end{eqnarray} $$

That leads to…

$$ \begin{eqnarray} D_n^{*} &=& x_0^* \prod\limits_{i=1}^{n-1}\frac{1}{x_i^*} \\ &=& x_{0}(1+\epsilon_0) \prod\limits_{i=1}^{n-1}\frac{1}{x_i(1+\epsilon_i)} \end{eqnarray} $$

We need the relative error… Let us do some quick algebra with our $D$ terms (using the same steps from the repeated multiplication problem).

$$ \begin{eqnarray} relative\phantom{1}error &=& \Bigg|\frac{D_n^{*} - D_n}{D_n} \Bigg| \\ &=& \Bigg|\frac{D_n^{*}}{D_n} - 1 \Bigg| \\ \end{eqnarray} $$

If we focus on $\frac{D_n^*}{D_n}$…

$$ \begin{eqnarray} \frac{D_n^*}{D_n} &=& \frac{x_0(1 + \epsilon_0)\prod\limits_{i=1}^{n-1}\frac{1}{x_i(1 + \epsilon_i)}}{x_0\prod\limits_{i=1}^{n-1}\frac{1}{x_i}} \\ &=& \frac{x_0(1 + \epsilon_0)\prod\limits_{i=1}^{n-1}x_i} {x_0\prod\limits_{i=1}^{n-1}x_i(1 + \epsilon_i)}\\ &=& (1 + \epsilon_0)\prod\limits_{i=1}^{n-1}\frac{x_i} {x_i(1 + \epsilon_i)}\\ &=& (1 + \epsilon_0)\prod\limits_{i=1}^{n-1}\frac{1}{(1 + \epsilon_i)} \\ \end{eqnarray} $$

Let us plug that back into to original equation… and continue the evaluation.

 

$$ \begin{eqnarray} relative\phantom{1}error &=& \Bigg|\frac{D_n^{*} - D_n}{D_n} \Bigg| \\ &=& \Bigg|\frac{D_n^{*}}{D_n} - 1 \Bigg| \\ &=& \Bigg|(1 + \epsilon_0)\prod\limits_{i=1}^{n-1}\frac{1}{(1 + \epsilon_i)} - 1 \Bigg| \\ &=& \Bigg|(1 + \epsilon_0)\prod\limits_{i=1}^{n-1}\frac{1}{(1 + \epsilon_i)} - \frac{\prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} {\prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} \Bigg| \\ &=& \Bigg|\frac{(1 + \epsilon_0)}{\prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} - \frac{\prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} {\prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} \Bigg| \\ &=& \Bigg|\frac{(1 + \epsilon_0) - \prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} {\prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} \Bigg| \\ \end{eqnarray} $$

Now I can reuse the result from repeated multiplication!

 

$$ \begin{eqnarray} relative\phantom{1}error &=& \Bigg|\frac{(1 + \epsilon_0) - \prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} {\prod\limits_{i=1}^{n-1}(1 + \epsilon_i)} \Bigg| \\ &\approx& \Bigg|\frac{(1 + \epsilon_0) - 1 - \sum\limits_{i=1}^{n-1}\epsilon_i} {1 + \sum\limits_{i=1}^{n-1}\epsilon_i} \Bigg| \\ &=& \Bigg|\frac{\epsilon_0 - \sum\limits_{i=1}^{n-1}\epsilon_i} {1 + \sum\limits_{i=1}^{n-1}\epsilon_i} * \frac{1 - \sum\limits_{i=1}^{n-1}\epsilon_i} {1 - \sum\limits_{i=1}^{n-1}\epsilon_i} \Bigg| \\ \end{eqnarray} $$

There is quite a bit of algebra in the next step. Let us start with the denominator.

$$ \begin{eqnarray} \big(1 + \sum\limits_{i=1}^{n-1}\epsilon_i \big) * \big(1 - \sum\limits_{i=1}^{n-1}\epsilon_i \big) &=& 1 + \big(\sum\limits_{i=1}^{n-1}\epsilon_i \big) - \big(\sum\limits_{i=1}^{n-1}\epsilon_i \big) - \Big(\sum\limits_{i=1}^{n-1}\epsilon_i \Big)^2 \\ &=& 1 - \Big(\sum\limits_{i=1}^{n-1}\epsilon_i \Big)^2 \\ &\approx& 1 \end{eqnarray} $$

A denominator of $\approx 1$ simplifies things a little…

$$ \begin{eqnarray} relative\phantom{1}error &=& \Bigg|\frac{\epsilon_0 - \sum\limits_{i=1}^{n-1}\epsilon_i} {1 + \sum\limits_{i=1}^{n-1}\epsilon_i} * \frac{1 - \sum\limits_{i=1}^{n-1}\epsilon_i} {1 - \sum\limits_{i=1}^{n-1}\epsilon_i} \Bigg| \\ &\approx& \Bigg| \Big( \epsilon_0 - \sum\limits_{i=1}^{n-1}\epsilon_i \Big) * \Big( 1 - \sum\limits_{i=1}^{n-1}\epsilon_i \Big) \Bigg| \\ &=& \Bigg| \epsilon_0 - \Big(\epsilon_0 \sum\limits_{i=1}^{n-1}\epsilon_i \Big) - \Big(\sum\limits_{i=1}^{n-1}\epsilon_i \Big) + \Big(\sum\limits_{i=1}^{n-1}\epsilon_i \Big)^2 \Bigg| \\ &\approx& \Bigg| \epsilon_0 - \sum\limits_{i=1}^{n-1}\epsilon_i \Bigg| \\ \end{eqnarray} $$

This result mirrors our guess based on the results of $\frac{x^*}{y^*}$.