22 static bool run(
const Manifold &space, Fun &&fun, JacFun &&jac_fun,
23 const ConstVectorRef &xinit, VectorRef xout, VectorRef f0,
24 VectorRef dx, MatrixRef Jf0, Scalar eps = 1e-6,
33 VectorXs xcand = xout;
35 Scalar err = f0.norm();
41 }
else if (iter >= max_iters) {
46 dx = Jf0.lu().solve(-f0);
50 while (alpha > options.alpha_min) {
52 space.integrate(xout, dx_ls, xcand);
54 Scalar cand_err = f0.norm();
55 if (cand_err <= (1. - options.armijo_c1) * err) {
60 alpha *= options.ls_beta;