Fixed Point Method

using LinearAlgebra

function fp(g, x, tol=1E-5, maxit=10000)

    for k in 1:maxit
        xnew = g(x)
        if norm(xnew-x)/norm(x) <= tol
            return xnew, k
        end
        x = xnew
    end

    println("No convergence in $maxit iterations")
    return x, k
end

#---------------------------

g(x) = sqrt(x+2.0)

#---------------------------

xguess = 4.0
x, nit = fp(g, xguess)
println("\nx = $x")
println("iterations = $nit")
x = 2.000006616131052
iterations = 9