Gauss-Seidel is an iterative method for solving Systems of Linear Equations – use initial guesses and then converge on a solution. This is better for large numbers of equation. Furthermore, the effects of round-off error are reduced as it is only associated with the current iteration and does not accumulate over the solutions steps.
Method
Let’s use the system:
- Initial values
- Guess initial values for the unknowns (), such as:
- Solve for values
- Express equations in an explicit form by isolating each variable.
-
Solve for new values using values from the previous steps.
-
Repeat until the convergence criterion is met. this is basically just .
Notes
- Diagonal terms must not be to avoid division by zero
- Apply pivoting if required to move equations and avoid division by zero
- Convergence is not guaranteed in all cases.
Example
Let’s say we have the system:
Guess initial values:
Rearranging (refer to equations (6), (7), (8)) to get:
Then, the first iteration is:
Note here that is immediately using the calculated value, not using the old value of .
Full iterations: