seidel: Solve linear systems using the Gauss-Seidel method
Description
Gauss-Seidel method is an iterative algorithm for solving a system of linear equations.
Usage
seidel(a, b, start, maxiter = 200, tol = 1e-7)
Value
a vector with the approximate solution, the iterations performed are returned
as the attribute 'iterations'.
Arguments
a
a square numeric matrix containing the coefficients of the linear system.
b
a vector of right-hand sides of the linear system.
start
a vector for initial starting point.
maxiter
the maximum number of iterations. Defaults to 200
tol
tolerance level for stopping iterations.
Details
Let \(\bold{D}\), \(\bold{L}\), and \(\bold{U}\) denote the diagonal, lower
triangular and upper triangular parts of a matrix \(\bold{A}\). Gauss-Seidel method
solve the equation \(\bold{Ax} = \bold{b}\), iteratively by rewriting \((\bold{L}
+ \bold{D})\bold{x} + \bold{Ux} = \bold{b}\). Assuming that \(\bold{L} + \bold{D}\) is
nonsingular leads to the iteration formula
$$\bold{x}^{(k+1)} = -(\bold{L} + \bold{D})^{-1}\bold{U}\bold{x}^{(k)} + (\bold{L}
+ \bold{D})^{-1}\bold{b}$$
References
Golub, G.H., Van Loan, C.F. (1996).
Matrix Computations, 3rd Edition.
John Hopkins University Press.