function [ x, it ] = fixed_point ( f, g, x, xtol, ftol, itmax ) it <-- 0 xold <-- 0 old <-- 0 new <-- 0 alpha <-- 0 Loop it <-- it + 1 xold <-- x x <-- g(x) old <-- new new <-- abs ( x - xold ) alpha_old <-- alpha if old is not 0, THEN alpha <-- new / old if alpha_old is not 0 THEN r <-- log ( alpha ) / log ( alpha_old ); print r if new <= xtol and |f(x)| <= ftol, break from loop with success if it > itmax, break from loop with failure End loop return end