Tutorials › Linear Algebra › Pivot Growth and Practical Pivot Choices

LU Factorization and Numerical Considerations · Tutorial 911 of 1000

Pivot Growth and Practical Pivot Choices

Learn to measure pivot growth across the stages of elimination and see why choosing a large entry in the active column can reduce risky intermediate values.

Intermediate 11 min read

What You'll Learn

  • Define the growth factor using entries from every active elimination stage.
  • Compute and compare growth with and without partial pivoting.
  • Relate pivot size to the multipliers used in elimination.
  • Verify LU factorizations for small matrices.
  • Distinguish a large intermediate entry from the entries that remain in the final upper triangular factor.

Why Pivot Choices Matter

Gaussian elimination can produce entries much larger than those in the starting matrix. Such intermediate growth matters in computation: when arithmetic is performed with finite precision, rounding errors can be affected by the sizes of the intermediate quantities. A small pivot is one source of risk. Dividing entries below it by that pivot can create large multipliers, which can then produce large entries in the updated matrix.

Partial pivoting addresses this issue locally. At each elimination step, it chooses as pivot an entry of largest absolute value in the current column among the rows not yet eliminated. This choice ensures that the multipliers used at that step have absolute value at most \(1\). It does not guarantee that all intermediate entries will remain small, so a useful measure must record entries from every stage, not just the final factor.

Consider an \(n\times n\) matrix \(\mathbf{A}\). At stage \(k\), after \(k\) pivots have been used, the active submatrix consists of the entries in rows and columns \(k+1,\dots,n\). Row interchanges made during pivoting are included in the current arrangement of rows. Stage \(0\) is the original matrix. We assume the elimination process can continue through its required pivots; if the active pivot column is zero, elimination breaks down at that stage.

Definition: Let \(M_0=\max_{i,j}|a_{ij}|\), and suppose \(M_0>0\). The growth factor for a specified elimination process is $$ \rho(\mathbf{A})= \frac{\displaystyle\max_{0\le k\le n-1}\ \max_{i,j\ge k+1} |a_{ij}^{(k)}|} {\displaystyle M_0}, $$ where \(a_{ij}^{(k)}\) are the entries in the active submatrix after \(k\) stages. Thus the numerator is the largest absolute value seen in any active submatrix, including the original matrix. The growth factor depends on the elimination process, including its pivot choices.

The maximum over stages is essential. Entries in an active submatrix are updated as elimination proceeds; an entry can be large at one stage and later be reduced or eliminated. The final upper triangular matrix \(\mathbf{U}\) records the pivot rows produced along the way, but its largest entry need not equal the largest intermediate entry. The definition above includes the entries that later change.

Partial Pivoting Controls the Multipliers

At stage \(k\), suppose the active pivot column has a nonzero entry. Partial pivoting interchanges rows, if necessary, so that the pivot \(a_{kk}^{(k)}\) has the largest absolute value among the entries \(a_{ik}^{(k)}\) with \(i\ge k\). To eliminate the entry in row \(i>k\), the multiplier is \(m_{ik}=a_{ik}^{(k)}/a_{kk}^{(k)}\). The update to an entry in column \(j>k\) is \(a_{ij}^{(k+1)}=a_{ij}^{(k)}-m_{ik}a_{kj}^{(k)}\).

Theorem: At any stage where partial pivoting selects a nonzero pivot, every multiplier used to eliminate entries below that pivot satisfies \(|m_{ik}|\le 1\).

Proof. By the rule for partial pivoting, \(|a_{kk}^{(k)}|\) is the largest absolute value among the entries in the active part of column \(k\). Therefore, for each \(i>k\), \(|a_{ik}^{(k)}|\le |a_{kk}^{(k)}|\). Since the selected pivot is nonzero, division by its absolute value is valid, and \(|m_{ik}|=|a_{ik}^{(k)}|/|a_{kk}^{(k)}|\le 1\). \(\square\)

This result concerns the multipliers at each step; it is not a claim that the growth factor must be \(1\). Indeed, the update formula shows why large entries can still occur: even when \(|m_{ik}|\le1\), subtracting \(m_{ik}a_{kj}^{(k)}\) can increase the magnitude of an entry. Partial pivoting is a practical safeguard against very large multipliers, not a guarantee that every later entry will be small.

A Small Pivot Can Create Large Growth

Worked Example: No Pivoting Versus Partial Pivoting

Compare the growth factors for \(\mathbf{A}=\begin{bmatrix}\tfrac{1}{100}&1\\1&1\end{bmatrix}\) with no pivoting and with partial pivoting.

First use no pivoting. The first pivot is \(1/100\), so the multiplier for row 2 is \(1/(1/100)=100\). Subtracting \(100\) times row 1 from row 2 gives

$$ \begin{bmatrix} \tfrac{1}{100}&1\\ 1&1 \end{bmatrix} \longrightarrow \begin{bmatrix} \tfrac{1}{100}&1\\ 0&-99 \end{bmatrix}. $$

The largest entry in the original matrix has magnitude \(1\), and the new active entry \(-99\) has magnitude \(99\). No later stage changes this value, so \(\rho(\mathbf{A})=99\). The associated factors are \(\mathbf{L}=\begin{bmatrix}1&0\\100&1\end{bmatrix}\) and \(\mathbf{U}=\begin{bmatrix}\tfrac{1}{100}&1\\0&-99\end{bmatrix}\).

Check: Multiplying the factors gives \(\mathbf{L}\mathbf{U}= \begin{bmatrix}\tfrac{1}{100}&1\\ 100(\tfrac{1}{100})&100+(-99)\end{bmatrix} = \begin{bmatrix}\tfrac{1}{100}&1\\1&1\end{bmatrix} =\mathbf{A}\).

With partial pivoting, the larger entry in the first column is \(1\), so interchange the two rows. The permutation matrix and permuted matrix are \(\mathbf{P}=\begin{bmatrix}0&1\\1&0\end{bmatrix}\) and \(\mathbf{P}\mathbf{A}=\begin{bmatrix}1&1\\\tfrac{1}{100}&1\end{bmatrix}\). The multiplier is now \(1/100\), and the update gives

$$ \begin{bmatrix} 1&1\\ \tfrac{1}{100}&1 \end{bmatrix} \longrightarrow \begin{bmatrix} 1&1\\ 0&\tfrac{99}{100} \end{bmatrix}. $$

Every entry in the active matrices has magnitude at most \(1\), and the original matrix already contains entries of magnitude \(1\). Thus the growth factor with partial pivoting is \(1\). Here \(\mathbf{L}=\begin{bmatrix}1&0\\\tfrac{1}{100}&1\end{bmatrix}\) and \(\mathbf{U}=\begin{bmatrix}1&1\\0&\tfrac{99}{100}\end{bmatrix}\).

Check: \(\mathbf{L}\mathbf{U}= \begin{bmatrix}1&1\\\tfrac{1}{100}&\tfrac{1}{100}+\tfrac{99}{100}\end{bmatrix} = \begin{bmatrix}1&1\\\tfrac{1}{100}&1\end{bmatrix} =\mathbf{P}\mathbf{A}\).

The difference is not that the original systems are different; a row interchange simply changes the order of the equations. The difference is that the first pivot is \(1/100\) without pivoting and \(1\) with partial pivoting. Dividing by the small pivot creates a multiplier of \(100\), and that multiplier turns the second diagonal entry into \(-99\).

A Formula for a Two-by-Two Family

The preceding example illustrates a whole family of matrices. For \(0<\delta<1/2\), consider \(\mathbf{A}_{\delta}=\begin{bmatrix}\delta&1\\1&1\end{bmatrix}\). The next result calculates both growth factors exactly and explains why the choice of pivot matters relative to the other entries in its column.

Proposition: For \(0<\delta<1/2\), no-pivot elimination on \(\mathbf{A}_{\delta}\) has growth factor \((1-\delta)/\delta\). Partial pivoting has growth factor \(1\).

Proof. The largest magnitude in the original matrix is \(1\). Without pivoting, the first pivot is \(\delta\), and the multiplier is \(1/\delta\). The only new active entry is \(1-(1/\delta)\cdot1=1-1/\delta=-(1-\delta)/\delta\). Since \(\delta<1/2\), \((1-\delta)/\delta>1\). The maximum over the original and updated active matrices is therefore \((1-\delta)/\delta\), so this is the growth factor. With partial pivoting, interchange the two rows. The first pivot is \(1\), the multiplier is \(\delta\), and the new active entry is \(1-\delta\), which satisfies \(0<1-\delta<1\). The original maximum remains \(1\), and no active entry exceeds it. The growth factor is \(1\). \(\square\)

For example, setting \(\delta=1/100\) gives \((1-\delta)/\delta=99\), as in the worked example. The proposition also shows that a pivot should not be judged by its absolute size alone: the matrix could be rescaled, changing all absolute entries. Partial pivoting compares candidate entries within the current pivot column.

Intermediate Growth May Disappear from the Final Factor

Worked Example: An Entry That Later Shrinks

For \(\mathbf{B}=\begin{bmatrix}1&-1&0\\0&1&0\\1&1&1\end{bmatrix}\), perform elimination without pivoting and compare the largest intermediate entry with the largest entry of the final \(\mathbf{U}\).

The initial maximum magnitude is \(1\). At the first step, the multiplier for row 3 is \(1\). Subtract row 1 from row 3:

$$ \begin{bmatrix} 1&-1&0\\ 0&1&0\\ 1&1&1 \end{bmatrix} \longrightarrow \begin{bmatrix} 1&-1&0\\ 0&1&0\\ 0&2&1 \end{bmatrix}. $$

The active matrix now contains an entry of magnitude \(2\). At the second step, the pivot is \(1\) and the multiplier for row 3 is \(2\). Subtract twice row 2 from row 3:

$$ \begin{bmatrix} 1&-1&0\\ 0&1&0\\ 0&2&1 \end{bmatrix} \longrightarrow \begin{bmatrix} 1&-1&0\\ 0&1&0\\ 0&0&1 \end{bmatrix} =\mathbf{U}. $$

The final upper triangular matrix has largest entry magnitude \(1\), even though an intermediate active matrix had an entry of magnitude \(2\). The growth factor is therefore \(2/1=2\), not \(1\). The lower triangular factor records the multipliers: \(\mathbf{L}=\begin{bmatrix}1&0&0\\0&1&0\\1&2&1\end{bmatrix}\).

Check: \(\mathbf{L}\mathbf{U}= \begin{bmatrix} 1&-1&0\\ 0&1&0\\ 1&2&1 \end{bmatrix} \begin{bmatrix} 1&-1&0\\ 0&1&0\\ 0&0&1 \end{bmatrix} = \begin{bmatrix} 1&-1&0\\ 0&1&0\\ 1&-1+2&1 \end{bmatrix} =\mathbf{B}\).

This example makes the purpose of the stage-by-stage maximum concrete. The entry \(2\) is updated at the next step and becomes \(0\), so it is absent from \(\mathbf{U}\). Measuring only \(\mathbf{U}\) would miss the largest value used during elimination.

Partial Pivoting in a Three-by-Three Example

Worked Example: Pivot Choices and Multipliers

Apply partial pivoting to \(\mathbf{C}=\begin{bmatrix}2&1&0\\4&5&1\\1&2&3\end{bmatrix}\), and compute its growth factor and factorization.

The first-column magnitudes are \(2,4,1\), so interchange rows 1 and 2. The first pivot is \(4\). The multipliers for the next two rows are \(2/4=1/2\) and \(1/4\). The updated rows are \((2,1,0)-\tfrac12(4,5,1)=(0,-\tfrac32,-\tfrac12)\) and \((1,2,3)-\tfrac14(4,5,1)=(0,\tfrac34,\tfrac{11}{4})\). Thus the active matrix after the first elimination step is

$$ \begin{bmatrix} 4&5&1\\ 0&-\tfrac32&-\tfrac12\\ 0&\tfrac34&\tfrac{11}{4} \end{bmatrix}. $$

In the second active column, \(\tfrac32>\tfrac34\), so no row interchange is needed. The multiplier is \((3/4)/(-3/2)=-1/2\). Updating row 3 gives \((0,\tfrac34,\tfrac{11}{4})-(-\tfrac12)(0,-\tfrac32,-\tfrac12) =(0,0,\tfrac52)\). Therefore \(\mathbf{U}=\begin{bmatrix}4&5&1\\0&-\tfrac32&-\tfrac12\\0&0&\tfrac52\end{bmatrix}\). The largest magnitude in the original matrix is \(5\); no entry in the later active matrices exceeds \(5\). Hence the growth factor is \(5/5=1\).

The row order in \(\mathbf{P}\mathbf{C}\) is original rows 2, 1, 3. The multipliers give \(\mathbf{L}=\begin{bmatrix}1&0&0\\\tfrac12&1&0\\\tfrac14&-\tfrac12&1\end{bmatrix}\). Thus

$$ \mathbf{P}\mathbf{C}= \begin{bmatrix}4&5&1\\2&1&0\\1&2&3\end{bmatrix}, \qquad \mathbf{L}\mathbf{U}= \begin{bmatrix}4&5&1\\2&1&0\\1&2&3\end{bmatrix}. $$

Check: The second row of \(\mathbf{L}\mathbf{U}\) is \(\tfrac12(4,5,1)+(0,-\tfrac32,-\tfrac12)=(2,1,0)\). The third row is \(\tfrac14(4,5,1)-\tfrac12(0,-\tfrac32,-\tfrac12)+(0,0,\tfrac52) =(1,\tfrac54,\tfrac14)+(0,\tfrac34,\tfrac14)+(0,0,\tfrac52) =(1,2,3)\). The first row is \((4,5,1)\). This verifies \(\mathbf{P}\mathbf{C}=\mathbf{L}\mathbf{U}\).

Common Mistakes and Practical Interpretation

Mistake: measuring growth from \(\mathbf{U}\) alone. In the previous example, a calculation that takes the largest entry of the final \(\mathbf{U}\) reports \(1\), and dividing by the original maximum \(1\) incorrectly gives growth \(1\). The correction is to inspect every active stage: the intermediate matrix contains the entry \(2\), so the growth factor is \(2\). This is why the numerator in the definition ranges over all stages.

Mistake: choosing a pivot just because it is nonzero. In the \(2\times2\) example, the pivot \(1/100\) is nonzero, so exact elimination is possible. But the resulting multiplier is \(100\), whereas partial pivoting uses the pivot \(1\) and multiplier \(1/100\). In computations with finite precision, exact nonzero pivots are not all equally safe choices. Partial pivoting is a simple rule for avoiding large multipliers caused by choosing a much smaller entry when a larger one is available in the same active column.

Keep the roles of the quantities distinct. A pivot is the diagonal entry used at a step; a multiplier is the quotient used to eliminate an entry beneath it; the growth factor measures the largest magnitude in any active stage relative to the largest magnitude in the original matrix. Partial pivoting bounds the multipliers by \(1\), but it does not, by that fact alone, prove that the growth factor is always small. The practical lesson is narrower and useful: compare pivot candidates in the active column, and assess growth using the entire elimination process rather than only its endpoint.

Check Your Understanding

Use the definition of growth factor and the elimination updates to answer these questions.

  1. For \(\begin{bmatrix}\tfrac{1}{10}&1\\1&1\end{bmatrix}\), what multiplier occurs without pivoting, and what is the resulting second pivot?
  2. Why does partial pivoting give \(|m_{ik}|\le1\) at each stage with a nonzero pivot?
  3. In the \(3\times3\) intermediate-growth example, why does the largest entry of \(\mathbf{U}\) fail to determine the growth factor?
  4. For \(0<\delta<1/2\), state the growth factors for \(\begin{bmatrix}\delta&1\\1&1\end{bmatrix}\) with and without partial pivoting.
  5. Does a multiplier bound of \(1\) prove that every intermediate entry has magnitude no greater than every entry of the original matrix? Explain using the update formula.

Test yourself: Linear Algebra final exam practice

Ready to check what you know? Work a full-length practice final, then open the complete worked solutions.

Want all 1,114 practice problems?

This tutorial covers one topic. Calc Pass covers the full Calculus AB & BC curriculum (the core of Calculus I and II): full review, every practice question, and step-by-step solutions to each one.

QR code to download the Calc Pass app

Get the Calc Pass App

Scan to download and practice on the go, with instant scoring.

Calc Pass Volume 1: 1,114 Practice Questions book cover

Vol. 1: 1,114 Questions

The complete practice question bank, organized by AB & BC topic.

View on Amazon
Calc Pass Volume 2: Solutions Manual book cover

Vol. 2: Solutions Manual

Fully worked solutions to every question in Volume 1.

View on Amazon