33 const std::vector<Eigen::MatrixXd>& mathist) {
35 Index size = dmathist.size();
37 const Eigen::MatrixXd& dmat = dmathist.back();
38 const Eigen::MatrixXd&
H = mathist.back();
39 Eigen::VectorXd DiF = Eigen::VectorXd::Zero(size);
40 Eigen::MatrixXd DiFj = Eigen::MatrixXd::Zero(size, size);
42 for (
Index i = 0; i < size; i++) {
43 DiF(i) = ((dmathist[i]) - dmat).cwiseProduct(
H).sum();
46 for (
Index i = 0; i < size; i++) {
47 for (
Index j = 0; j < size; j++) {
48 DiFj(i, j) = ((dmathist[i]) - dmat).cwiseProduct((mathist[j]) -
H).sum();
59 Eigen::VectorXd coeffs = Eigen::VectorXd::Constant(size, 1.0 /
double(size));
63 double xnorm = coeffs.sum();
66 if (std::abs(coeffs.tail(1).value()) < 0.001) {