--- /dev/null
+function [x, iterations, residual_norms] = ...
+ gauss_seidel(A, b, x0, tolerance, max_iterations)
+
+ if (nargin < 4)
+ tolerance = 1e-10;
+ end
+
+ if (nargin < 5)
+ max_iterations = intmax();
+ end
+
+ omega = 1;
+
+ if (nargout > 2)
+ [x, iterations, residual_norms] = ...
+ successive_over_relaxation(A, b, omega, x0, tolerance, max_iterations);
+ else
+ [x, iterations] = ...
+ successive_over_relaxation(A, b, omega, x0, tolerance, max_iterations);
+ end
+end