function alpha = backtracking(f, gf, p, x, alpha, rho, c)
xn = x + alpha * p;
while f(xn(1), xn(2)) > f(x(1), x(2)) + c * alpha * gf(x(1), x(2))' * p
alpha = rho * alpha;
end