Matrix splitting

In the mathematical discipline of numerical linear algebra, a matrix splitting is an expression which represents a given matrix as a sum or difference of matrices. Many iterative methods (for example, for systems of differential equations) depend upon the direct solution of matrix equations involving matrices more general than tridiagonal matrices. These matrix equations can often be solved directly and efficiently when written as a matrix splitting. The technique was devised by Richard S. Varga in 1960.
Regular splittings.
We seek to solve the matrix equation
where A is a given "n" × "n" non-singular matrix, and k is a given column vector with "n" components. We split the matrix A into
where B and C are "n" × "n" matrices. If, for an arbitrary "n" × "n" matrix M, M has nonnegative entries, we write M ≥ 0. If M has only positive entries, we write M > 0. Similarly, if the matrix M1 − M2 has nonnegative entries, we write M1 ≥ M2.
Definition: A = B − C is a regular splitting of A if B−1 ≥ 0 and C ≥ 0.
We assume that matrix equations of the form
where g is a given column vector, can be solved directly for the vector x. If () represents a regular splitting of A, then the iterative method
where x(0) is an arbitrary vector, can be carried out. Equivalently, we write () in the form
The matrix D = B−1C has nonnegative entries if () represents a regular splitting of A.
It can be shown that if A−1 > 0, then formula_1 < 1, where formula_1 represents the spectral radius of D, and thus D is a convergent matrix. As a consequence, the iterative method () is necessarily convergent.
If, in addition, the splitting () is chosen so that the matrix B is a diagonal matrix (with the diagonal entries all non-zero, since B must be invertible), then B can be inverted in linear time (see Time complexity).
Matrix iterative methods.
Many iterative methods can be described as a matrix splitting. If the diagonal entries of the matrix A are all nonzero, and we express the matrix A as the matrix sum
where D is the diagonal part of A, and U and L are respectively strictly upper and lower triangular "n" × "n" matrices, then we have the following.
The Jacobi method can be represented in matrix form as a splitting
The Gauss–Seidel method can be represented in matrix form as a splitting
The method of successive over-relaxation can be represented in matrix form as a splitting
Example.
Regular splitting.
In equation (), let
Let us apply the splitting () which is used in the Jacobi method: we split A in such a way that B consists of "all" of the diagonal elements of A, and C consists of "all" of the off-diagonal elements of A, negated. (Of course this is not the only useful way to split a matrix into two matrices.) We have
Since B−1 ≥ 0 and C ≥ 0, the splitting () is a regular splitting. Since A−1 > 0, the spectral radius formula_1 < 1. (The approximate eigenvalues of D are formula_6) Hence, the matrix D is convergent and the method () necessarily converges for the problem (). Note that the diagonal elements of A are all greater than zero, the off-diagonal elements of A are all less than zero and A is strictly diagonally dominant.
The method () applied to the problem () then takes the form
The exact solution to equation () is
The first few iterates for equation () are listed in the table below, beginning with . From the table one can see that the method is evidently converging to the solution (), albeit rather slowly.
Jacobi method.
As stated above, the Jacobi method () is the same as the specific regular splitting () demonstrated above.
Gauss–Seidel method.
Since the diagonal entries of the matrix A in problem () are all nonzero, we can express the matrix A as the splitting (), where
We then have
The Gauss–Seidel method () applied to the problem () takes the form
The first few iterates for equation () are listed in the table below, beginning with . From the table one can see that the method is evidently converging to the solution (), somewhat faster than the Jacobi method described above.
Successive over-relaxation method.
Let "ω" = 1.1. Using the splitting () of the matrix A in problem () for the successive over-relaxation method, we have
The successive over-relaxation method () applied to the problem () takes the form
The first few iterates for equation () are listed in the table below, beginning with . From the table one can see that the method is evidently converging to the solution (), slightly faster than the Gauss–Seidel method described above.