25 float newton_rhaphson(std::function<T(T)> &&f, std::function<T(T)> &&df, T epsilon_c, T x_0) {
27 auto iterate_newton = [](T f, T df, T xk) -> T {
34 while (epsilon > epsilon_c) {
35 T xkp1 = iterate_newton(f(xk), df(xk), xk);
37 epsilon = std::fabs(xk - xkp1);
namespace for math utility