function [fixed_point, iterations] = fixed_point_method(g, epsilon, x0)
## Find a fixed_point of the function `g` with initial guess x0.
##
## INPUTS:
##
## * ``g`` - The function to iterate.
##
## * ``epsilon`` - We stop when two successive iterations are within
## epsilon of each other, taken under the infinity norm. halt the
## search and return the current approximation.
##
## OUTPUTS:
##
## * ``fixed_point`` - The fixed point that we found.
##
## * ``iterations`` - The number of iterations that we performed
## during the search.
##
iterations = 0;
prev = x0;
current = g(x0);
while (norm(current - prev, Inf) > epsilon)
prev = current;
current = g(current);
iterations = iterations + 1;
end
fixed_point = current;
end