Subsection 6.6.2 Summary
¶In our discussions, the set of floating point numbers, \(F \text{,}\) is the set of all numbers \(\chi = \mu \times \beta^e \) such that
\(\beta = 2 \text{,}\)
\(\mu = \pm. \delta_0 \delta_1 \cdots \delta_{t-1}\) (\(\mu \) has only \(t \) (binary) digits), where \(\delta_j \in \{ 0, 1 \} \)),
\(\delta_0 = 0 \) iff \(\mu = 0 \) (the mantissa is normalized), and
\(-L \leq e \leq U \text{.}\)
Definition 6.6.2.1. Machine epsilon (unit roundoff).
The machine epsilon (unit roundoff), \(\meps \text{,}\) is defined as the smallest positive floating point number \(\chi \) such that the floating point number that represents \(1 + \chi \) is greater than one.
equals the result when computing \({\rm expression} \) using floating point computation (rounding or truncating as every intermediate result is stored). If
in exact arithmetic, then we indicate the associated floating point result with
The Standard Computational Model (SCM) assumes that, for any two floating point numbers \(\chi\) and \(\psi\text{,}\) the basic arithmetic operations satisfy the equality
The Alternative Computational Model (ACM) assumes for the basic arithmetic operations that
Definition 6.6.2.2. Backward stable implementation.
Given the mapping \(f: D \rightarrow R \text{,}\) where \(D \subset \Rn \) is the domain and \(R \subset \Rm \) is the range (codomain), let \(\check f: D \rightarrow R \) be a computer implementation of this function. We will call \(\check f \) a backward stable (also called "numerically stable") implementation of \(f \) on domain \({\mathcal D} \) if for all \(x \in D \) there exists a \(\check x \) "close" to \(x \) such that \(\check f( x ) = f( \check x ) \text{.}\)
Conditioning is a property of the problem you are trying to solve. A problem is well-conditioned if a small change in the input is guaranteed to only result in a small change in the output. A problem is ill-conditioned if a small change in the input can result in a large change in the output.
Stability is a property of an implementation. If the implementation, when executed with an input always yields an output that can be attributed to slightly changed input, then the implementation is backward stable.
Definition 6.6.2.3. Absolute value of vector and matrix.
Given \(x \in \Rn \) and \(A \in \Rmxn \text{,}\)
Definition 6.6.2.4.
Let \(\vartriangle \in\!\{\lt, \leq, =, \geq, >\}\) and \(x, y \in \Rn \text{.}\) Then
with \(i = 0, \ldots, n-1 \text{.}\) Similarly, given \(A\) and \(B \in \Rmxn \text{,}\)
with \(i = 0, \ldots, m-1 \) and \(j = 0, \ldots, n-1 \text{.}\)
Theorem 6.6.2.5.
Let \(A, B \in \Rmxn \text{.}\) If \(\vert A \vert \leq \vert B \vert \) then \(\| A \|_1 \leq \| B \|_1 \text{,}\) \(\| A \|_\infty \leq \| B \|_\infty \text{,}\) and \(\| A \|_F \leq \| B \|_F \text{.}\)
Consider
Under the computational model given in Subsection 6.2.3 the computed result, \(\check \kappa \text{,}\) satisfies
where \(\epsilon_{+}^{(0)} = 0 \) and \(\vert \epsilon_{*}^{(0)} \vert , \vert \epsilon_{*}^{(j)} \vert, \vert \epsilon_{+}^{(j)} \vert \leq \meps \) for \(j = 1, \ldots , n-1 \text{.}\)
Lemma 6.6.2.6.
Let \(\epsilon_i \in \mathbb{R}\text{,}\) \(0\leq i\leq n-1\text{,}\) \(n \meps \lt 1 \text{,}\) and \(\vert \epsilon_i \vert \leq \meps\text{.}\) Then \(\exists\ \theta_{n} \in \mathbb{R}\) such that
with \(\vert \theta_n \vert \leq {n \meps}/{(1 - n \meps)} \text{.}\)
Here the \(\pm 1 \) means that on an individual basis, the term is either used in a multiplication or a division. For example
might stand for
so that this lemma can accommodate an analysis that involves a mixture of the Standard and Alternative Computational Models (SCM and ACM).
Definition 6.6.2.7.
For all \(n \geq 1 \) and \(n \meps \lt 1\text{,}\) define
simplifies to
where \(\vert \theta_j \vert \leq \gamma_j \text{,}\) \(j = 2, \ldots, n \text{.}\)
Lemma 6.6.2.8.
If \(n, b \geq 1 \) then \(\gamma_{n} \leq \gamma_{n+b} \) and \(\gamma_n + \gamma_{b} + \gamma_n \gamma_b \leq \gamma_{n+b} \text{.}\)
Theorem 6.6.2.9.
Let \(x,y \in \mathbb{R}^n\) and let \(\kappa := x^T y\) be computed in the order indicated by
Then
Corollary 6.6.2.10.
Under the assumptions of Theorem 6.6.2.9 the following relations hold:
- R-1B
\(\check \kappa = ( x + \deltax )^T y \text{,}\) where \(\vert \deltax \vert \leq \gamma_n \vert x \vert \text{,}\)
- R-2B
\(\check \kappa = x^T ( y + \deltay ) \text{,}\) where \(\vert \deltay \vert \leq \gamma_n \vert y \vert \text{;}\)
- R-1F
\(\check \kappa = x^T y + \delta\!\kappa \text{,}\) where \(\vert \delta\!\kappa \vert \leq \gamma_n \vert x \vert^T \vert y \vert \text{.}\)
Theorem 6.6.2.11.
Error results for matrix-vector multiplication. Let \(A \in \Rmxn \text{,}\) \(x \in \Rn \text{,}\) \(y \in \Rm \) and consider the assignment \(y \becomes A x \) implemented via dot products as expressed in (6.3.4). Then these equalities hold:
- R-1B
\(\check y = ( A + \Delta\!A) x \text{,}\) where \(\vert \Delta\!A \vert \leq \gamma_{n} \vert A \vert \text{.}\)
- R-1F
\(\check y = A x + \deltay \text{,}\) where \(\vert \deltay \vert \leq \gamma_{n} \vert A \vert \vert x \vert \text{.}\)
Theorem 6.6.2.12. Forward error for matrix-matrix multiplication.
Let \(C \in \Rmxn \text{,}\) \(A \in \Rmxk \text{,}\) and \(B \in \Rkxn \) and consider the assignment \(C \becomes A B \) implemented via matrix-vector multiplication. Then there exists \(\Delta\!C \in \Rmxn \) such that
\(\check C = A B + \Delta\!C \text{,}\) where \(\vert \Delta\!C \vert \leq \gamma_{k} \vert A \vert \vert B \vert \text{.}\)
Lemma 6.6.2.13.
Let \(n \geq 1 \text{,}\) \(\lambda, \nu \in \R \) and \(x, y \in \Rn \text{.}\) Assume \(\lambda \neq 0\) and consider the computation
Then
Theorem 6.6.2.14.
Let \(L \in \Rnxn \) be a nonsingular lower triangular matrix and let \(\check x \) be the computed result when executing Figure 6.4.1.1 to solve \(L x = y \) under the computation model from Subsection 6.2.3. Then there exists a matrix \(\Delta\!L \) such that
Corollary 6.6.2.15.
Let \(L \in \Rnxn \) be a nonsingular lower triangular matrix and let \(\check x \) be the computed result when executing Figure 6.4.1.1 to solve \(L x = y \) under the computation model from Subsection 6.2.3. Then there exists a matrix \(\Delta\!L \) such that
Theorem 6.6.2.16. Backward error of Crout variant for LU factoriztion.
Let \(A \in \Rnxn \) and let the LU factorization of \(A \) be computed via the Crout variant, yielding approximate factors \(\check L \) and \(\check U \text{.}\) Then
Theorem 6.6.2.17.
Let \(A \in \Rnxn \)and \(x,y \in \Rn \) with \(A x = y \text{.}\) Let \(\check x \) be the approximate solution computed via the following steps:
Compute the LU factorization, yielding approximate factors \(\check L\) and \(\check U \text{.}\)
Solve \(\check L z = y \text{,}\) yielding approximate solution \(\check z \text{.}\)
Solve \(\check U x = \check z \text{,}\) yielding approximate solution \(\check x \text{.}\)
Then
Theorem 6.6.2.18.
Let \(A \) and \(A + \Delta\! A \) be nonsingular and
then
Theorem 6.6.2.19.
Let \(A \) be nonsingular, \(\| \cdot \| \) be a subordinate norm, and
Then \(A + \Delta\!A \) is nonsingular.
An important example that demonstrates how LU with partial pivoting can incur "element growth":