Matrix splitting

From formulasearchengine
Jump to navigation Jump to search

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 (e.g., 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.[1]

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 M0. If M has only positive entries, we write M > 0. Similarly, if the matrix M1M2 has nonnegative entries, we write M1M2.

Definition: A = BC is a regular splitting of A if and only if B−10 and C0.

We assume that matrix equations of the form

where g is a given column vector, can be solved directly for the vector x. If (2) represents a regular splitting of A, then the iterative method

where x(0) is an arbitrary vector, can be carried out. Equivalently, we write (4) in the form

The matrix D = B−1C has nonnegative entries if (2) represents a regular splitting of A.[2]

It can be shown that if A−1 > 0, then < 1, where represents the spectral radius of D, and thus D is a convergent matrix. As a consequence, the iterative method (5) is necessarily convergent.[3][4]

If, in addition, the splitting (2) 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

[5][6]

The Gauss-Seidel method can be represented in matrix form as a splitting

[7][8]

The method of successive over-relaxation can be represented in matrix form as a splitting

[9][10]

Example

Regular splitting

In equation (1), let

Let us apply the splitting (7) 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−10 and C0, the splitting (11) is a regular splitting. Since A−1 > 0, the spectral radius < 1. (The approximate eigenvalues of D are ≈ –0.4599820, –0.3397859, 0.7997679.) Hence, the matrix D is convergent and the method (5) necessarily converges for the problem (10). 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.[11]

The method (5) applied to the problem (10) then takes the form

The exact solution to equation (12) is

The first few iterates for equation (12) are listed in the table below, beginning with x(0) = (0.0, 0.0, 0.0)T. From the table one can see that the method is evidently converging to the solution (13), albeit rather slowly.

Jacobi method

As stated above, the Jacobi method (7) is the same as the specific regular splitting (11) demonstrated above.

Gauss-Seidel method

Since the diagonal entries of the matrix A in problem (10) are all nonzero, we can express the matrix A as the splitting (6), where

We then have

The Gauss-Seidel method (8) applied to the problem (10) takes the form

The first few iterates for equation (15) are listed in the table below, beginning with x(0) = (0.0, 0.0, 0.0)T. From the table one can see that the method is evidently converging to the solution (13), somewhat faster than the Jacobi method described above.

Successive over-relaxation method

Let ω = 1.1. Using the splitting (14) of the matrix A in problem (10) for the successive over-relaxation method, we have

The successive over-relaxation method (9) applied to the problem (10) takes the form

The first few iterates for equation (16) are listed in the table below, beginning with x(0) = (0.0, 0.0, 0.0)T. From the table one can see that the method is evidently converging to the solution (13), slightly faster than the Gauss-Seidel method described above.

See also

Notes

References

  • {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

  • {{#invoke:citation/CS1|citation

|CitationClass=book }}

  • {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

Template:Numerical linear algebra