advanced30 min studyLesson 303 in Mathematics

Pivoted LU and growth factors

Track permutations, elimination multipliers, and intermediate growth before judging a solve's stability.

On this page

What you’ll understand

  • Construct PA=LU with the right-hand side permuted consistently.
  • Calculate a growth factor from elimination stages.
  • Explain both the usefulness and the worst-case limits of partial pivoting.

Gaussian elimination replaces a dense solve with two triangular solves. Exact algebra permits many pivot choices, but floating-point arithmetic makes those choices consequential. A tiny pivot can create huge multipliers and large intermediate entries even when the original entries are modest. Partial pivoting limits the multipliers by exchanging rows. To understand what that protection does and does not guarantee, track both the permutation and the growth of the evolving matrix.

A row exchange changes the factorization equation

In the convention PA=LU, P records the final row permutation, L is unit lower triangular, and U is upper triangular. Solving Ax=b means first solving Ly=Pb and then Ux=y. Other software conventions write A=PLU using a different permutation meaning, so the displayed equation is more informative than a variable name. When a later elimination step exchanges rows, the previously formed multiplier columns must be exchanged consistently as well; otherwise the claimed factors no longer multiply back to the permuted original matrix.

Partial pivoting selects an entry of largest magnitude in the active column and moves its row into the pivot position. In exact arithmetic, every multiplier below that pivot then has magnitude at most one. A zero active column signals singularity in the remaining square block rather than a pivoting choice that can repair rank. Pivoting by columns as well may improve other properties, but requires tracking unknown permutations. In sparse systems, pivot selection also affects fill, so numerical robustness and storage cost interact.

PA=LU,Ly=Pb,Ux=y,ℓik=aik(k)akk(k)(i>k)PA=LU,\qquad Ly=Pb,\qquad Ux=y,\qquad \ell_{ik}=\frac{a_{ik}^{(k)}}{a_{kk}^{(k)}}\quad(i>k)
At stage k, the entries are those of the current trailing elimination problem. Partial pivoting makes the chosen pivot largest in magnitude in its active column.↔ Scroll wide equations horizontally.

Bounded multipliers do not prevent every large intermediate entry

Define the growth factor as the largest entry magnitude encountered at the starts of elimination stages divided by the largest original entry magnitude. It is at least one under this convention. Large growth matters because rounding error bounds scale with intermediate magnitudes, not merely the original data. Partial pivoting bounds multipliers but repeated subtraction can still accumulate large trailing entries. In exact arithmetic, its worst-case growth is bounded by two to the power n−1, and carefully structured examples attain that exponential bound.

In many computations growth is much smaller, which helps explain why partial pivoting is effective in practice. This empirical tendency is not a universal small-growth theorem. Backward error analysis typically contains dimension factors, unit roundoff, and growth or products involving the computed factors. It should not be reduced to an unconditional claim of tiny error for every matrix. Conversely, a large worst-case bound does not prove that a particular computation is inaccurate; evaluate the actual residual and relevant diagnostics.

ρ=max⁡i,j,k∣aij(k)∣max⁡i,j∣aij∣,1≤ρ≤2n−1for partial pivoting in exact arithmetic\rho=\frac{\max_{i,j,k}|a_{ij}^{(k)}|}{\max_{i,j}|a_{ij}|},\qquad 1\le\rho\le2^{n-1}\quad\text{for partial pivoting in exact arithmetic}
The stages include the original matrix and the evolving trailing entries. Tie choices must be declared when constructing a specific worst-case example.↔ Scroll wide equations horizontally.

Growth, conditioning, and implementation are separate layers

A well-conditioned matrix can suffer substantial elimination growth, and an ill-conditioned triangular matrix can need no elimination at all. Growth is an algorithm-path property; conditioning is a property of the chosen problem and perturbation model. Their distinction is practical: changing the pivot strategy can alter growth without changing the original matrix's condition number. Scaling can also change pivot comparisons and intermediate magnitudes. It should be chosen with an explicit relationship to the original variables and uncertainties.

After factorization, reuse L, U, and the permutation for multiple right-hand sides instead of recomputing an inverse. Check factorization or solve residuals using the same permutation convention. A determinant formed from pivot products may underflow or overflow and is a poor standalone rank diagnostic. A tiny pivot relative to an appropriate scale deserves a condition estimate, while a zero pivot requires a rank-aware strategy. For a symmetric positive definite matrix, Cholesky uses its structure more directly than generic LU, but that choice requires positive definiteness rather than just symmetry.

A single row swap prevents a hundredfold multiplier

Factor A=[[0.01,1],[1,1]] with and without partial pivoting, and solve Ax=(1.01,2).

  1. Without pivoting, the multiplier is 100 and the second pivot is 1−100=−99. Original maximum entry magnitude is 1 and the trailing magnitude becomes 99, so growth is 99.

  2. Partial pivoting swaps the rows. Then L=[[1,0],[0.01,1]], U=[[1,1],[0,0.99]], and PA=LU. The maximum encountered entry magnitude stays 1, giving growth 1.

  3. The permuted right-hand side is (2,1.01). Forward substitution gives y=(2,0.99); back substitution gives x₂=1 and x₁=1. Multiplying the original matrix by (1,1) verifies the original right-hand side.

The result

Both exact factorizations solve the same nonsingular system, but their intermediate scales differ drastically. The row swap belongs in the factorization and in the solve.

Explore the model

Interactive lab

Interactive lab · matrix

An ill-conditioned map can have no elimination growth

Reset, set a=0.25 and b=2. Predict det A=0.25 and a condition number near 20.2. The selected matrix is already upper triangular, so its exact LU can use L=I with growth 1. Compare a fresh identity run with Reset, a=1, b=0. The instrument displays geometry and singular-value conditioning, not pivot steps or floating-point growth.

An ill-conditioned map can have no elimination growthThe selected matrix is A = [[a,b],[0,1]]. Playback interpolates geometry between the identity and A; readouts always describe A. Its determinant is a and its singular values come from AᵀA. Positive a makes every supported matrix invertible. This two-dimensional family is not a general eigensolver or a learned network. Current readings: Area scale · det A: 1.4; Singular values · σmax, σmin: 1.597, 0.876; Condition number · κ₂(A): 1.823. All parameters are adjustable with the labeled controls below.Matrix A with first row 1.4, 0.6 and second row zero, one; display interpolates between identity and A while final determinant remains 1.4.−4−2024−2−1012x · equal geometric scaleyA = [ 1.4 0.6 ; 0 1 ]Display blend: 0% · final values below
Interpolated geometryOriginal unit squareSelected final transform
Area scale · det A
1.4
Singular values · σmax, σmin
1.597, 0.876
Condition number · κ₂(A)
1.823
t = 0 s

The selected matrix is A = [[a,b],[0,1]]. Playback interpolates geometry between the identity and A; readouts always describe A. Its determinant is a and its singular values come from AᵀA. Positive a makes every supported matrix invertible. This two-dimensional family is not a general eigensolver or a learned network. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forElimination growth and matrix conditioning measure different mechanisms.

Check your understanding

What does partial pivoting guarantee about elimination multipliers in exact arithmetic?

Try it yourself

Use A=[[1,0,1],[−1,1,1],[−1,−1,1]] and partial pivoting that keeps the current row on magnitude ties. Compute U and the growth factor.

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

The first-column multipliers are both −1. Track the last column after that update and after the second-column elimination.

Compare with the solution

Keeping the first pivot gives rows (0,1,2) and (0,−1,2) below it. The second pivot stays 1 on the tie, its multiplier is −1, and the final trailing entry becomes 4. Thus U=[[1,0,1],[0,1,2],[0,0,4]] and growth is 4/1=4, attaining 2^(3−1). Every multiplier has magnitude one, so bounded multipliers and substantial growth are compatible.

Take it with you

  • A pivoted factorization must use one explicit permutation convention throughout.
  • Partial pivoting controls multipliers but permits exponential worst-case entry growth.
  • Growth diagnostics complement residual and condition estimates rather than replacing them.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.