Cholesky decomposition Created 2026-09-28 Updated 2026-10-25
Every real symmetric matrix that is a positive-definite matrix has a unique Cholesky decomposition , where is a lower triangular matrix with positive diagonal entries.[ref] For a complex Hermitian positive-definite matrix, the corresponding factorization is , with the conjugate transpose and the diagonal of positive and real.[ref] The factorization turns a linear system into two triangular systems.
For example, matching entries in gives
Choose the positive square roots in order: , and . Therefore
The second radicand, , is the scalar Schur complement remaining after eliminating the first variable. A positive diagonal of alone would not guarantee that this quantity is positive; Sylvester's criterion explains the relevant leading principal minors.
Figure 1. . Original exact two-by-two example. Multiplying the displayed lower triangular matrix by its transpose recovers ; forward substitution and backward substitution in a triangular system give for . Details.
For that right-hand side, first use forward substitution to solve : and , so . Then use backward substitution in a triangular system to solve : and , giving . No matrix inverse is required. For several right-hand sides with the same , keep the same factor and repeat only these triangular solves.
Forward substitution 2026-10-14
Forward substitution solves a linear system with a lower triangular matrix and nonzero diagonal, from the first row downward:
The first sum is empty, so . Each subsequent row uses only components already found. For a unit triangular matrix , omit the division because . The complementary procedure, back substitution, solves an upper triangular matrix system from the last row upward.[ref]
Gauss-Seidel method Created 2026-10-05 Updated 2026-10-18
With , the Gauss-Seidel method solves . It uses each newly computed coordinate immediately in the remaining triangular solve. It is successive over-relaxation with parameter one, and converges from every start when is a symmetric positive-definite matrix.
To solve a linear system , split its matrix into the diagonal matrix and the strictly lower and upper parts , retaining their actual signs. Every diagonal entry must be nonzero. A sweep updates coordinates in order:
The Jacobi method uses the old vector throughout; the Gauss-Seidel method reuses each fresh coordinate. Thus the update order is part of the method.[ref]
The matrix splitting has , , so its iteration matrix is
Compute the update by forward substitution with the lower triangular matrix , rather than forming a matrix inverse. For a sparse matrix, a sweep only visits stored entries and can overwrite the working vector. Dependencies on fresh coordinates constrain parallel execution. This makes the Gauss-Seidel method an inexpensive solver component, including in a multigrid method.[ref]
LU decomposition Created 2026-09-29 Updated 2026-10-14
An LU decomposition writes a square matrix as , with a lower triangular matrix and an upper triangular matrix. We use a unit triangular matrix , meaning . The factors record Gaussian elimination: contains the reduced equations, while stores the elimination multipliers needed to reconstruct the original equations. This makes Reusing LU factors for multiple right-hand sides inexpensive.[ref]
For an invertible matrix, unpivoted LU decomposition requires nonzero pivot elements at every elimination step; invertibility alone does not guarantee this. In general use Pivoted LU decomposition, with the explicit convention and a permutation matrix . Once the factors exist, solving a linear system needs forward substitution followed by back substitution, rather than forming a matrix inverse.
For classical dense Gaussian elimination over the real numbers, count each scalar addition, subtraction, multiplication or division as one arithmetic operation. At step , there are elimination multipliers to divide out and remaining entries, each requiring one multiplication and one subtraction. Thus this implementation's unpivoted factorization count is
Here uses Big O notation. Partial pivoting adds comparisons and row movement, leaving the leading arithmetic count unchanged. The leading count agrees with the standard dense LU decomposition analysis.[ref]
With unit , forward substitution uses arithmetic operations. Back substitution uses another plus diagonal divisions. Together these cost per right-hand side; applying a stored row permutation moves entries and requires no scalar arithmetic. In Big O notation, Reusing LU factors for multiple right-hand sides therefore costs
whereas refactorizing for each of the right-hand sides costs . For and , the leading counts are about versus arithmetic operations, nearly a tenfold saving. These are operation counts, not measured runtimes: memory access and optimized matrix multiplication also affect speed.[ref]
Matrix decomposition 2026-10-14
A matrix decomposition expresses a matrix as a matrix product of factors with simpler structure. An LU decomposition uses triangular factors, a QR decomposition uses an orthogonal matrix and a triangular factor, and a singular value decomposition separates input directions, stretching factors and output directions. The factorization is an identity; the chosen structure determines what it helps compute.
For an original two-by-two example,
The outer factors are a lower triangular matrix and an upper triangular matrix, each with unit diagonal as in a unit triangular matrix; the middle factor is a diagonal matrix. Their matrix product is , and the final diagonal entry is the Schur complement of the first entry . This is the scalar version of the factorization under block elimination.
To solve , solve with the three factors in their displayed order from left to right: first the lower triangular factor, then the diagonal factor, then the upper triangular factor. The intermediate vectors are and , giving the concise answer . A new right-hand side uses the same factors. This is why Reusing LU factors for multiple right-hand sides is useful: factorization records work that otherwise would be repeated, while forward substitution and back substitution apply it cheaply.[ref]
Different decompositions reveal different features. A Cholesky decomposition uses positive definiteness of a symmetric matrix, while a singular value decomposition also applies to rectangular matrices and exposes matrix rank. The existence and numerical behaviour of the factors depend on their own hypotheses; for example, an unpivoted LU decomposition can fail when a chosen pivot element is zero even though the matrix is an invertible matrix.
Matrix preconditioner Created 2026-10-06 Updated 2026-10-18
A matrix preconditioner is an auxiliary invertible matrix whose matrix inverse is cheap to apply and whose use improves the eigenvalues of a linear system. In symmetric positive-definite matrix problems, a symmetric positive-definite matrix preserves that structure under the symmetric transformation .
Applying means solving for a supplied vector . This notation does not require forming a general matrix inverse. A diagonal matrix gives componentwise divisions; a factored matrix gives auxiliary solves such as forward substitution and back substitution.[ref]
Choosing makes the solve trivial but changes nothing; choosing gives the exact correction but asks us to solve the original linear system.[ref]
Matrix splitting Created 2026-09-24 Updated 2026-10-18
A splitting with invertible produces
A matrix splitting chooses an easy part of a matrix and corrects for the remaining part . To solve the linear system , first rewrite it as , then use the old vector on the right and solve for the new vector on the left. The matrix inverse notation describes the update mathematically; each step should solve with rather than construct its matrix inverse.[ref]
The same identity also yields a correction based on the linear-system residual:
This connects a matrix splitting to matrix preconditioning: rescales the imbalance before adding a correction. Choosing gives and the exact solution in one step, but requires solving the original linear system; choosing cheaply matters as much as the convergence criterion for a stationary iteration.
With the sign convention , is the diagonal matrix of diagonal entries and contain the actual lower and upper entries, without reversing their signs. The Jacobi method uses , ; the Gauss-Seidel method uses , . The first requires only division by diagonal entries; the second uses a lower triangular matrix and forward substitution. These choices explain their different information flows.
Gaussian elimination uses elementary row operations to remove entries below successive pivot elements, reducing a linear system to one with an upper triangular matrix. Back substitution then solves that system. It also computes a reusable matrix factorization, so additional right-hand sides can be handled by forward substitution and back substitution without repeating the elimination.
For elimination without row exchanges, let . At step , provided the pivot element is nonzero, form the elimination multipliers
and perform , applying the same operation to the right-hand side. More explicitly the resulting entries satisfy for , .
Let , where are the standard basis vectors. Then
The matrix is a unit lower triangular matrix storing the elimination multipliers, while is an upper triangular matrix:
Solving becomes followed by . If a required pivot element vanishes, an unpermuted LU decomposition can fail even for an invertible matrix. Row exchanges, typically selected by partial pivoting, instead produce with a permutation matrix ; then solve , .
Direct solution usually uses a pivoted LU decomposition : solve by forward substitution, then by back substitution. For a symmetric positive-definite matrix, the Cholesky decomposition is
with lower triangular and positive diagonal. It exploits symmetry, requiring about arithmetic operations rather than the leading for general elimination.
If has full column rank and its reduced QR decomposition is , , then
Choose the signs of so that has positive diagonal. Then is precisely the upper Cholesky factor of the normal-equation matrix , or is its lower factor. This identifies the factors; in computation, obtaining directly by QR decomposition avoids explicitly forming the normal equations, which square the condition number.
Solve two triangular linear systems, rather than forming an inverse matrix:
For this LU decomposition, forward substitution gives , and . Then back substitution gives
All diagonal entries used as divisors are nonzero. The same LU decomposition can be reused for many right-hand vectors, with only these two triangular solves repeated.
Introduce . Solve by forward substitution and then by back substitution. For these factors, the recurrences are
followed by
The nonzero diagonal entries make both triangular solves well-defined. No matrix inverse is calculated.
The Gauss-Seidel method solves each component using the already updated components from the same iteration. In the splitting , those updated diagonal and lower-triangular terms stay on the left, while upper-triangular terms use the previous iterate. Thus
Here is lower triangular with nonzero diagonal, so each new iterate is obtained by forward substitution, starting from the specified zero vector.
Let column of be , so . Every diagonal entry of the invertible lower triangular matrix is nonzero, since its determinant is the product of those entries. In row one through row , the right-hand side is zero. Forward substitution first gives , then , and successively for all . These are precisely the entries above the diagonal in column of . Every column satisfies this, proving that is lower triangular. This is triangularity of an inverse matrix.
Apply the same permutation to the right-hand side and solve two triangular systems. Forward substitution in gives
so . Back substitution in gives , , and . Therefore . Substitution in the original system returns , as required.
Choose a fixed time increment , let , and approximate by . The Backward Euler method evaluates the transport term at the new time:
Rearrange to the linear system
Although is a singular matrix, is an invertible matrix for every . In each row, its diagonal entry is and the sum of the absolute values of its off-diagonal entries is ; hence it is a strictly diagonally dominant matrix. Its Gershgorin discs have centre and radius , excluding zero. In particular, the zero eigenvalue of becomes an eigenvalue of .
Both triangular solves use the factors of . The LU factorization of the singular transport matrix from part (a) is not a solver for this new linear system. No matrix inverse needs to be formed. Since and are fixed, the same LU factorization serves every step; only the right-hand side changes. A varying would give without changing these factors.
As a check, multiplying the update by gives
exactly reproducing the inventory balance at the sampled times, apart from roundoff error. The Backward Euler method has temporal global error for smooth solutions, so its A-stability does not remove the need to select for accuracy.
When a fixed matrix is used with several forcing or measurement vectors, compute its Pivoted LU decomposition once. Collect right-hand sides into the columns of , and the corresponding solutions into . Then
Each column undergoes the same row permutation, forward substitution and back substitution. Neither , nor depends on . This is the useful separation between preparing a linear system and applying its solution procedure repeatedly. LAPACK implements it by taking previously computed factors, permuting all right-hand sides, and performing the two triangular solves.[ref]
For the unpivoted factors in Computed three-by-three LU decomposition, take
Direct matrix multiplication checks all three identities , and . The first column reproduces the previous solve; the other two use exactly the same factors. New right-hand sides can also arrive one at a time. If changes, these stored factors generally need to be recomputed.
Figure 1.
One row permutation fixes a zero pivot element; each new right-hand side reuses the same LU decomposition and two triangular solves
. Details.
Sparse Gaussian elimination Created 2026-10-14 Updated 2026-10-18
Sparse Gaussian elimination solves a linear system by Gaussian elimination while exploiting its sparse matrix structure to avoid storing zeros and performing unnecessary arithmetic operations. The catch is that zeros in the input need not remain zero: eliminating a shared unknown can couple two equations that previously had no direct coupling. These new positions are fill-in, and their number can depend strongly on the order of elimination.
For a real symmetric positive-definite matrix, the usual direct method is a Cholesky decomposition. Choose an ordering, use symbolic factorization to allocate the predicted factor entries, compute their values, then solve two triangular systems. Compressed sparse storage makes the reduced storage useful. General LU decomposition may also need numerical partial pivoting, so an ordering chosen for sparsity can change during factorization.[ref]
For a fixed ordering, let be the permutation matrix that puts the unknowns in that order. Permute both rows and columns:
Here is the lower triangular matrix in the Cholesky decomposition of ; . Forward substitution and back substitution give the original solution. The simultaneous permutation preserves the symmetric positive-definite matrix property because for every nonzero vector . A row permutation alone generally loses the symmetric matrix structure.
The local mechanism is a Schur complement. If the active pivot element is , then for remaining indices ,
Even when , two nonzero couplings through make the second term nonzero. Thus the elimination graph removes and joins its remaining neighbors into a clique. The fill-path criterion for symmetric elimination extends this local rule across several steps. The elimination tree organizes the resulting dependencies; the minimum degree algorithm and nested dissection choose orderings to control them.
This connection between graphs and linear systems was already explicit in Donald J. Rose, R. Endre Tarjan and George S. Lueker's 1976 study of fill-in and perfect elimination orderings.[ref]
An invertible lower triangular matrix has a lower triangular matrix inverse. To see this, solve for column of the inverse. The nonzero diagonal and forward substitution force for . Applying the result to the transpose proves the upper-triangular case as well. Invertibility is essential; a singular triangular matrix has no ordinary matrix inverse.