Chapter 3 solved by
elimination and packaged the work as or . It said
nothing about how much arithmetic that costs, and almost
nothing about what rounding does to it — only a remark,
about a two-by-two matrix with a tiny corner entry,
ending: “Chapter 24 makes this precise.” Chapter 8 left
a second note: “Chapter 24 reads Gaussian elimination
itself as a sequence of Schur complements of pivots.”
Chapter 13 left a third, that Cholesky “does about half
the arithmetic of a general LU factorization” and needs
no pivoting.
This section pays all three. Section 1 supplied the
model and the word backward stable; here that
word is applied to the oldest algorithm in the book.
Throughout, matrices are real, since
the representable numbers of Definition 24.1.1 are
real, and denotes
the entrywise absolute value ,
with read entrywise.
Elimination is a sequence of Schur complements
Chapter 8 built a machine for one block elimination:
if with invertible, then
subtracting times the first
block row from the second leaves , where
is the Schur complement (Definition 8.3.1,
Theorem 8.3.1).
Gaussian elimination is that machine run with a block, times. Saying so
exactly is the cleanest description of the algorithm
there is, and it is what makes block versions of it
possible.
Theorem
24.2.1 (Elimination Produces Schur
Complements)
Let and , and suppose the first steps of elimination
without row swaps (Chapter 3 §06) are carried out with
nonzero pivots, producing . Partition with , the zero block being what the first
steps created.
Then is
invertible and In particular, for and , one step of
elimination replaces the trailing block
by the Schur complement of the pivot
block.
Idea. The first steps multiply on the left by a unit
lower triangular matrix whose columns are those
of the identity — that is exactly what Lemma 3.6.3 (c)
says, and it is the whole point. Such a matrix has block
form .
Multiply that by the partitioned , match the four
blocks against ,
and the
cancels out of the bottom-right block, leaving the Schur
complement.
Proof. Write for
the -th multiplier
vector, whose first entries are zero, and
recall from Chapter 3 §06 that step multiplies on the left
by ,
with inverse
by Lemma 3.6.3 (b).
Hence where, by Lemma 3.6.3 (c),
Only columns of differ from those of
, so partitioning
as is partitioned gives
with unit lower triangular, hence invertible
by Lemma 3.6.1
(b).
By Theorem 8.1.1,
Comparing blocks: , ,
, and
.
Now is upper
triangular with the first pivots on its diagonal,
and those are nonzero by hypothesis, so is invertible by Lemma 3.6.2.
Therefore is invertible, and . Hence and so .
This proves the theorem.
Example
(Two steps, two Schur complements)
Let Carry out two steps of elimination without row
swaps, then compute and directly from Definition 8.3.1,
and check Theorem 24.2.1 in both
cases.
Solution. The elimination.
The first multipliers are and
; subtracting times row from row gives . The second
multiplier is , and row becomes :
The Schur complement of the block.
Here ,
, ,
and ,
so which is exactly the trailing block of .
The Schur complement of the block.
Now ,
with
and ,
while and . Then the trailing block of . Both readings
agree with Theorem 24.2.1, and as an
arithmetic check the pivots multiply to
, which is — the corollary
below says why that is no coincidence.
Two consequences come out for free. The first
identifies the pivots with ratios of minors, which is
how Chapter 13 §01 wrote them in Sylvester’s
criterion.
Corollary
24.2.2 (Pivots Are Ratios of Leading
Minors)
Let , let , and write for the leading
principal submatrix of , with .
- (a) If the first
pivots of
elimination without row swaps are nonzero, then are
invertible and the -th pivot equals for
.
- (b) Conversely, if
are invertible then elimination
without row swaps succeeds on with nonzero pivots,
and by Theorem 3.6.4.
Proof.
(a) Invertibility
of is Theorem 24.2.1 applied
with in
place of . For
the pivot is
, as claimed. For , the -th pivot is the entry of , which by the
theorem (with
in place of ) is
the entry of
. That
entry is
minus row of
times times
column of , so it involves only
rows and columns of :
it equals the matrix . By Theorem 8.3.2 (a),
, which is
the claim.
(b) We show by
induction on that
the -th pivot is
nonzero, for . For the pivot is .
Let
and suppose the first pivots are nonzero.
Then Theorem 24.2.1 applies
with in place
of , and the
calculation in (a) identifies the -th pivot as ,
which is nonzero because and are invertible
(Theorem 7.5.2). So
elimination never stops, and Theorem 3.6.4 gives
.
Solution. is not
invertible, so (b) does not apply. Theorem 24.2.1 does not
apply either: it assumes the first pivot is nonzero, and
here it is , so
the Schur complement is not even
defined — Definition 8.3.1
requires the pivot block to be invertible. This is the
whole content of Chapter 3’s “elimination stops”: there
is no Schur complement to form.
What
elimination costs
A flop is one arithmetic operation:
one addition, subtraction, multiplication, or division,
or one square root. Counting flops is crude — it ignores
which operations are slow and how data moves — but it
captures how the work grows with . We quote leading
terms, writing and meaning it. The constant
matters and the exponent matters more: halving
the constant is worth having, but a smaller exponent
overtakes it at some size and stays ahead forever.
Proposition
24.2.3 (The Cost of Elimination)
Counting each of the five operations as one flop, and
counting only arithmetic on matrix and vector
entries:
- (a) Elimination
without row swaps on costs flops, that is .
- (b) Forward
substitution with a unit lower triangular costs flops and back
substitution with an upper triangular costs , so solving
from a factorization costs flops.
- (c) The Cholesky
recursion of Chapter 13 §02 on a positive definite costs
flops, that is , of
which are square
roots.
Proof.
(a) At step the algorithm computes
multipliers,
one division each, and then replaces each of the entries of the
trailing block by , two flops each. The entries
below the pivot are set to zero without arithmetic. So
the cost is using and with . Putting the two
terms over gives
.
(b) Forward
substitution computes with no
division, since : that is flops, and . Back substitution computes , which is
flops,
and .
(c) Column of the recursion
computes , costing
flops for
the sum and one square root, and then
for each of the rows below, costing flops each.
The total is substituting ; the two terms combine to .
Comparing (a) and (c): against
. This
is Chapter 13 §02’s “Cholesky does about half the
arithmetic of a general LU factorization”, now a count
rather than a claim, for the reason that section gave —
the recursion produces one triangular factor instead of
two. Part (b) says the factorization is the expensive
part: solving
systems with the same costs , not
times .
One row at
a time
Every algorithm below computes its entries the same
way: accumulate a sum of products into a running total,
then possibly divide. Analyzing that pattern once saves
doing it three times.
Lemma
24.2.4 (One Row of Substitution)
Let , let
,
,
, and be representable,
and suppose are computed in the model of Definition 24.1.1, with
. Then
there are with If the final division is omitted, so that
, the same
identity holds with and .
Idea. Unroll the recursion, then
divide the whole identity by the product of the
accumulation factors. Dividing is the trick: it moves
those factors onto ’s neighbors as
inverse factors, which is exactly what
Lemma 24.1.1 was stated to
allow.
Proof. By (FP2) there are , all of modulus at most , with , , and
. Induction on gives the case being , and the step from to multiplying everything
by and subtracting the new term.
Each is nonzero, since , so we may divide the identity by and rearrange: From we get . So the first term is times a product of
factors of
the form with
, which by Lemma 24.1.1 is with . The -th term of the sum
carries such factors, so it is with
.
If the division is omitted, the first term carries
only the inverse
factors, so , and the rest of the argument is
unchanged. This proves the lemma.
Solving a
triangular system
Here is the cleanest backward error analysis in the
subject, and the model for every other one in this
chapter. Note in advance what it does
not assume: nothing about the size of
the diagonal entries of , nothing about its
conditioning, and no pivoting of any kind.
Theorem
24.2.5 (Backward Error of a Triangular
Solve)
Let be lower triangular with representable
entries and nonzero diagonal, let be
representable, and let . Let be
computed by forward substitution in the model: for each
, the products
are subtracted from one at a time in
increasing order of , and the result is
divided by —
that is, exactly the computation of Lemma 24.2.4 with . Then there is a
lower triangular with The same statement, with in place
of , holds
for back substitution with an upper triangular .
Idea. Row is the pattern
of Lemma 24.2.4, with , the products , and
the final division by . The lemma hands
back an identity in which every coefficient of is times something
within of
; that “something
minus one”, times , is .
Proof. Fix . The quantities are already computed, hence
representable, so Lemma 24.2.4 applies with
, , , , , and . Since
and
, it gives
of modulus at most with Define , for , and for
. Then
is lower
triangular, since ,
and the display says precisely that row of equals . As was arbitrary, .
For back substitution, row has products instead of
, so the lemma
applies with and the bound is . This
proves the theorem.
This is as strong as a backward error statement gets.
The perturbation is bounded entrywise,
and entrywise relative to the entries of itself: a zero
entry of is not
perturbed at all, and a tiny entry is perturbed only in
its own last digits. So a triangular solve is backward
stable in the sense of Definition 24.1.3 — with
the constant in any model with , since
there — whatever may be.
Warning. Backward stable is
not accurate, and this theorem is where the point bites
hardest. Theorem 24.2.5 holds for
every nonsingular triangular . It does not say is
near . By
Theorem 24.1.3 the forward
error can be about , and
triangular matrices can be spectacularly
ill-conditioned. Take the matrix with on the diagonal and
everywhere above
it. Its row sums of moduli are , so
. Its inverse has on the diagonal and
in
position for
: back
substitution on gives and
for , and
each partial sum of is the next term. Hence and , so for a backward stable solve can still return
nonsense. Stability is a promise about the
data, and a promise about the data is worth
only what the conditioning of the problem makes it
worth.
The
factorization itself
For the factorization we analyze the ordering that
computes each entry of and by one accumulation.
In exact arithmetic it produces the same factors as
Chapter 3’s row operations — for invertible this is Theorem 3.6.5 — but
it groups the arithmetic differently, and rounding
notices the difference.
Algorithm. Elimination, one
entry at a time. Input: . Set
. For
:
- for , put ;
- if ,
stop; otherwise for , put .
Theorem
24.2.6 (Backward Error of a
Factorization)
Let have representable entries, let , and suppose
the algorithm above runs to completion in the model of
Definition 24.1.1,
producing and . Then entrywise.
Idea. Each entry is one application
of Lemma 24.2.4: the entries
of with no
division, the entries of with one. In both
cases the lemma returns as a sum of the
products , each with its own factor . Collecting
the terms is exactly forming the entry of , and
the are
what is left over.
Proof. Case . The
computation of is Lemma 24.2.4 with , , ,
, no division, and .
Writing
for the of
the lemma, and using ,
(For the sum has one term and .) Since
for , the sum without the is .
Hence the last equality again because for
.
Case . The computation of is Lemma 24.2.4 with , , ,
, , and .
Writing
for , Since for , the sum without the is again ,
and the same estimate gives .
In both cases the constant is at most . This proves the
theorem.
The bound is useless until we know how big
is, and that is not controlled by . It is controlled by
what the algorithm does to , which is why
elimination needs a pivoting rule at all. The quantity
to watch has a name.
Definition
24.2.1 (Growth factor)
Let elimination — with whatever pivoting rule is in
force — be run on , producing an upper factor . The growth
factor of that run is the largest entry in modulus the algorithm
produces, relative to the largest entry in modulus it
was given. For a run in the model, means the computed
.
Suppose a pivoting rule keeps every multiplier at
most in modulus —
the next subsection exhibits one, for the algorithm
above as well as for Chapter 3’s ordering. Then , so for all and Theorem 24.2.6 becomes
(24.2.1)
Since
is about , the
relative backward error is about . The dimensional
factor is
pessimistic and nobody minds it. Everything
therefore depends on — and on
nothing else.
Pivoting
Proposition
24.2.7 (Partial Pivoting Bounds the
Multipliers)
Run elimination with partial
pivoting: at step , before eliminating,
exchange row with
a row for
which is largest. Then every
multiplier satisfies , in exact arithmetic; and in the model as well.
Proof. After the exchange, the
pivot has the
largest modulus in its column among rows . If it is
zero then the whole column is zero, every multiplier is
set to , and there
is nothing to prove. Otherwise for , so .
In the model, for a real with .
Both and lie in , by Definition 24.1.1, and the
one with the sign of is at distance from
; since is a
nearest element of , also . If were
greater than we
would get , a contradiction. So .
Theorem
24.2.8 (Growth Under Partial Pivoting)
In exact arithmetic, elimination with partial
pivoting on any has growth factor .
Idea. One step replaces an entry by
itself minus a multiple, of modulus at most , of another entry. Two
numbers of modulus at most cannot make more than
. Repeat times.
Proof. Write , and let be after the row
exchange of step ;
an exchange only permutes entries, so . Every entry of is either an
entry of (the
rows
are left alone, and the entries below the pivot are set
to ) or of the
form using from Proposition 24.2.7. Hence
for every , and by
induction . The intermediate matrices are , so which is . This proves the theorem.
Quick check. Run elimination on
without row
swaps, and again with partial pivoting, and compute
each time. Does
partial pivoting make the growth factor smaller?
Solution. Without a swap the
multiplier is and
, so
and . With partial pivoting the rows are
exchanged, the multiplier is , and , so
and .
Pivoting made the growth factor larger, and
is
perfectly possible. Partial pivoting does not minimize
growth; it bounds the multipliers, and Theorem 24.2.8 turns that
into a worst-case bound — here , which both
runs respect.
The bound is dreadful, and
it is attained.
Example
(A matrix that really grows)
Let have on the diagonal, strictly below it,
strictly above it
except in the last column, and throughout the last
column. For ,
Run elimination with partial pivoting on and on , and compute the
growth factor of each.
Solution. The runs below are in
exact arithmetic, so the factors are and , with no hats. Every
entry of has
modulus , so is simply the largest
modulus of an entry of the resulting .
Step 1 on . Column is ; all four
entries have modulus , so the largest is
already in place and no exchange is made. The
multipliers are ,
so each lower row has row added
to it. Rows
become , , : the last column has doubled.
Step 2. Column below the diagonal is
against
the pivot ; again
no exchange, multipliers . Rows become and .
Step 3. Multiplier again; row becomes . So
For the same three observations repeat once
more: no exchange is ever made, every multiplier is
, and the last
column runs down the diagonal of , giving .
Every entry of is , and partial
pivoting does exactly what it is told; for these two
sizes the bound of Theorem 24.2.8 is
attained, not approached. The same three observations
run by induction for every , and Exercise (C2: The growth bound is attained for every ) carries that
induction out.
Warning. Partial pivoting
is not proved stable by anything in this
chapter. Eq. 24.2.1 bounds the
backward error by , where is the growth in the
computed factors, and the only bound we
have on growth is Theorem 24.2.8’s , for the
exact elimination; the remark after Theorem 24.2.6 records
that gap and we have not closed it. Grant it anyway, and
the resulting backward error bound is about , which for
exceeds
and says nothing
at all — so even the optimistic reading proves nothing.
What is true in practice is that is almost always a
small multiple of
— but “almost always” is a statement about the matrices
people meet, not a theorem, and Example (A matrix that really grows),
with Exercise (C2: The growth bound is attained for every ) for general , shows there is no
theorem to be had. Partial pivoting is used because it
is cheap and because its failures are rare and
constructed, not because it is backward stable in the
sense of Definition 24.1.3. That is
an honest summary of the state of the subject, and the
reader should not accept a tidier one.
The
example Chapter 3 promised
Chapter 3 §06 ended its discussion of pivoting with a
two-by-two matrix and a promise: after describing how
makes
elimination produce a computed whose entry is instead of , it wrote “Swapping the
rows first gives the harmless multiplier . Chapter 24
makes this precise.” Here it is, made precise.
Example
(The tiny pivot, in the model)
Work in the six-digit decimal model of Example (The model we compute in),
where , and take Factor and solve without an exchange, then
with one. In each case compute
exactly and report the backward error.
Solution. The exact
answer. Subtracting the first equation’s -multiple,
, so Also , exactly as in Chapter
16 §08: the problem is well conditioned.
Without the exchange. The multiplier is
, and the last step by rounding to six digits.
Forward substitution gives and
; back substitution gives
and then The computed answer is — Chapter 16 §08’s
, reproduced
here in a model rather than by hand-waving about digits.
Multiplying the computed factors exactly, So . The backward error is not ; it is . This factorization
is not backward stable, and it is not
even close.
With the exchange. Partial pivoting compares
with and swaps,
so we factor with . The
multiplier is , and ,
since
lies between the representable neighbors and and is far nearer the
second. Forward substitution gives and
; back substitution gives and
. The computed answer is , whose relative
error against the exact is about , far
better than . Multiplying the
computed factors exactly, so , comfortably below . This factorization is
backward stable.
What the exchange achieved. Exactly what Eq. 24.2.1 predicts.
Without it the growth factor is : an entry of
modulus is
created out of a matrix whose largest entry is , and creating it
destroys the information in , which lies
beneath its last digit. With the exchange, Proposition 24.2.7 keeps
the multiplier at , , and nothing
large is ever made. Note what was not
the problem: throughout. Chapter 16 §08 said so:
“Conditioning bounds what any method can
promise; whether a given method keeps that promise is
stability.”
Cholesky
needs no pivoting
For a positive definite matrix the whole difficulty
disappears, and the reason is a one-line inequality
about the entries of the factor. Chapter 13 §02 asserted
it — “it needs no pivoting: the recursion above never
divides by something that positive definiteness allows
to be zero” — and left the arithmetic half here.
Theorem
24.2.9 (Cholesky Does Not Grow)
Let be symmetric positive definite with
representable entries, and let be its Cholesky
factor, with (Theorem 13.2.3).
- (a) for all , and
- (b) Suppose and the
recursion of Chapter 13 §02 runs to completion in the
model, producing . Then
- (c) If moreover
, then
Idea. For (a): the rows of have known lengths,
because is the squared length of row
. An entry is no
longer than its row, and Cauchy–Schwarz compares two
rows. For (b): each off-diagonal entry is Lemma 24.2.4 again, and
the diagonal entry is the same lemma followed by a
square root, which contributes two more factors. For
(c): part (b) bounds the row lengths of in terms of
, and then (a)’s
argument runs again on .
Proof.
(a) Row of has , so every single term
satisfies . By the Cauchy–Schwarz inequality (Theorem 11.1.5)
applied to the rows and of , Finally , and : the
diagonal entries are positive (take in
Definition 13.1.1),
and , the
middle step by the display just proved.
(b) Fix . The computation
is Lemma 24.2.4 with and ,
so, writing for , Since for
, the sum
without the is ,
so
For , let
be the
value accumulated before the square root, so with ,
and . By the
proof of Lemma 24.2.4 with and no division
— we need not just the size of but its
shape, and the proof produces as the
product of the
factors —
Substituting , the first
term is
times a product of factors of the form , which
by Lemma 24.1.1 is with . So again
with all , and the displayed estimate
follows as before. Since is lower
triangular, the entries with are the
transposes of these, and is
symmetric.
- (c) The diagonal
case of (b) reads ,
because . Hence , that is Cauchy–Schwarz as in (a), now for , gives .
Substituting into (b) gives (c). This proves the
theorem.
Compare (c) with Eq. 24.2.1. For a general
matrix the backward error carried the factor , which partial
pivoting bounds only by , sharply. Here
the same quantity is bounded by the largest entry of
itself, with
no growth factor and no pivoting: the
Cholesky recursion is unconditionally backward stable.
The reason sits entirely in part (a) — the rows of the
factor cannot be longer than the diagonal of allows — and that is a
fact about positive definiteness, not about arithmetic.
Chapter 13 §02 called positive definiteness “the one
structural hypothesis under which elimination is
unconditionally safe”; this is the proof.
Warning. Part (a) bounds
by
, the
diagonal entry of its own row, not of its
column. The column version is false. For which is positive definite since and (Theorem 13.1.5 (d)),
the factor is , , and is nine times . It
is at most , as (a) requires. An entry of can be far larger than
the pivot it was divided by; what it cannot exceed is
the size of its own row.
Exercises
A. Check your
understanding
Exercise
(A1)
- (a) Define a flop
and the growth factor .
- (b) State the
partial pivoting rule, and say what Proposition 24.2.7 gets
from it.
- (c) State the
leading term of the flop count for an LU factorization,
for two triangular solves and for Cholesky.
- (d) Decide whether
each statement is correct, with a reason: (i) “a
triangular solve needs pivoting when the diagonal
entries are small”; (ii) “elimination with partial
pivoting is backward stable”; (iii) “a backward stable
factorization gives an accurate solution”.
- (e) In one sentence,
what does Theorem 24.2.1 say about
the trailing block after steps?
Solution.
(a) A flop is one
arithmetic operation — an addition, subtraction,
multiplication, division, or square root. The growth
factor is , the largest entry in modulus the
elimination produces relative to the largest in modulus
it was given (Definition 24.2.1); the
classical version maximizes over every intermediate
matrix as well, and is at least as large.
(b) At step , exchange row with the row maximizing . The consequence is for every multiplier, in exact arithmetic and
in the model.
(c) , , and respectively
(Proposition 24.2.3); the
third is half the first.
- (d)
- (i) Incorrect. Theorem 24.2.5 holds for
every nonsingular triangular matrix, with no hypothesis
on the diagonal and no pivoting. (ii) Incorrect as
stated. The only growth bound available is Theorem 24.2.8’s , proved
for the exact elimination, and Example (A matrix that really grows)
shows it is attained; even granting its transfer to the
computed factors — the gap recorded in the remark after
Theorem 24.2.6 — the
resulting backward error bound is vacuous
for moderate .
(iii) Incorrect. It gives an accurate solution only when
the problem is well conditioned; Theorem 24.1.3 supplies
the missing factor .
(e) It is the
Schur complement of the leading
block —
so elimination is the repeated formation of Schur
complements of pivots.
B. Practice
Exercise
(B1: A Schur complement by two routes)
Let
- (a) Carry out one
step of elimination without row swaps and read off the
trailing
block.
- (b) Compute directly from Definition 8.3.1
and check that the two agree.
- (c) Carry out the
second step and verify Corollary 24.2.2 (a) by
computing ,
, and .
Solution.
(a) The
multipliers are and .
Subtracting gives rows and , so the trailing block is .
(b) Here , , , ,
so which agrees with (a), as Theorem 24.2.1 says it
must.
(c) The second
multiplier is , and the second step turns into .
So the pivots are . Now , , and . The ratios are , , and : the pivots,
as claimed.
Exercise
(B2: Growth, with and without a swap)
Let , and
work in the six-digit decimal model.
- (a) Factor without an exchange,
compute , and
compute
exactly.
- (b) Do the same
after exchanging the rows.
- (c) Compare the two
backward errors with the bound of Eq. 24.2.1.
Solution.
(a) The
multiplier is , and , which is exactly representable. So
so here : with six digits, is not
rounded, and nothing is lost. The growth factor is .
(b) After the
exchange the multiplier is and , again exact, so exactly and .
(c) Both backward
errors are zero, so both satisfy the bound. For the entry-at-a-time
algorithm and Chapter 3’s row operations perform the
very same three operations, so Eq. 24.2.1 applies to
these runs as it stands, with read off the computed
factors. The point is the bound, not the
outcome: in (a) it is , which permits a
catastrophe, while in (b) it is about , which does not. Large
growth does not force a large backward error; it removes
the guarantee that there is none, and Example (The tiny pivot, in the model)
shows what happens when the permission is taken
up.
Exercise
(B3: The Cholesky entry bound)
Let , whose Cholesky factor
was computed in Example (A Cholesky Factorization, and One That Fails)
to be with rows
, , .
- (a) Check Theorem 24.2.9 (a) entry
by entry.
- (b) Compute
and check that every entry is at most .
- (c) What would the
bound of Eq. 24.2.1 require if
were factored by
general elimination with partial pivoting instead?
Solution.
(a) The bound is
. Row : , with
equality. Row :
. Row : . All hold, and the row sums of squares
are , which
are exactly.
(b) has rows
, , , so The largest entry of in modulus is , and every entry above
is at most —
indeed the
entry is at most : for
instance .
(c) It would
require knowing
for the computed factors, and the only bound available
is Theorem 24.2.8’s
exact-arithmetic ; granting the transfer between the two (the
remark after Theorem 24.2.6), Eq. 24.2.1 permits . Theorem 24.2.9 (c) permits
instead: the factor disappears
entirely, and the price is the step from to ,
which is about . No
pivoting is needed to get it.
C. Going deeper
Exercise
(C1: Column diagonal dominance needs no pivoting)
Call strictly column diagonally
dominant if for every .
- (a) Show that
partial pivoting makes no exchange at the first
step.
- (b) Show that is again strictly
column diagonally dominant, and that each of its column
sums is at most the corresponding
column sum of .
- (c) Deduce that
elimination without any exchanges succeeds and that
.
Hint: for (c), bound every entry of every by a column sum
of .
Solution.
(a) Column satisfies for each , so the entry of
largest modulus in column is already , and it is
nonzero.
(b) Write for . For the
column sums, the triangle inequality gives using . For dominance, fix
. Then where the two strict bounds are column- and column- dominance. The right
side equals , which is at
most by the reverse triangle
inequality. So .
(c) By (a) and
(b) and induction, every Schur complement restricted to
its active block is strictly column diagonally dominant,
so no exchange is ever made and no pivot is zero. By (b)
and induction, the column sums of the active blocks
never increase, so every entry of every is bounded by
— and the rows that have been
frozen into were
bounded the same way when they were created. Finally,
dominance gives , so . Hence such
matrices need no pivoting at all.
Exercise
(C2: The growth bound is attained for every )
Let be the
matrix of Example (A matrix that really grows):
, for , for all , and for with .
- (a) Prove that
partial pivoting makes no exchange at any step, and that
every multiplier equals .
- (b) Prove by
induction on that
after steps the
active trailing block is again of the form , except that its
last column is times the all-ones
vector.
- (c) Deduce , and
explain why this does not contradict the practical
success of partial pivoting.
Solution.
(a) and (b)
together, by induction. At step , column is , every
entry of modulus ,
so the pivot is already of largest modulus and no exchange
is made; the multipliers are . Subtracting
times row from row adds row to row . Row is , so
for the
entries in columns are unchanged, the entry in column becomes , and the entry in
column becomes
. The
trailing block
therefore has on
its diagonal,
below, above
except in the last column, and throughout its last
column: it is with the last
column doubled. Since doubling one column changes
neither which entry of a column has largest modulus nor
the ratios within the other columns, the same applies at
every subsequent step, and after steps the active block
is with
last column
times the all-ones vector.
(b) Every entry
of has modulus
, so . By (b) the
largest entry ever created is the entry after step
, namely . So , meeting Theorem 24.2.8
exactly.
This does not contradict anything practical: is a constructed
matrix, and the theorem only says the worst
case is . What the example
does destroy is the hope of a theorem: no bound better
than can be
proved for partial pivoting, so any claim that partial
pivoting is backward stable is a claim about the
matrices one meets, not about all matrices. That is why
Theorem 24.2.9 matters —
it is a genuine theorem, for a class of matrices
identified in advance.