31namespace Minimization {
40template <
typename _Scalar,
typename _Environment>
42 public Step<_Environment> {
47 static_assert(std::is_same<Scalar, typename Environment::Scalar>::value,
"The scalar type must match that of the environment");
48 static_assert(std::is_base_of<MinimizationEnvironment<Scalar>,
Environment>::value,
"The environment type must derive from MinimizationEnvironment.");
60 return "Calculate a new iteration of the variables and add them to the environment.";
72 const auto& variables = environment.variables.back();
73 const auto& f = environment.gradient_function;
74 const auto& J = environment.hessian_function;
79 const auto& new_variables = non_linear_environment.variables.back();
80 environment.variables.push_back(new_variables);
Definition: NewtonStepUpdate.hpp:42
_Scalar Scalar
Definition: NewtonStepUpdate.hpp:45
_Environment Environment
Definition: NewtonStepUpdate.hpp:46
void execute(Environment &environment) override
Definition: NewtonStepUpdate.hpp:69
std::string description() const override
Definition: NewtonStepUpdate.hpp:59
Definition: NewtonStepUpdate.hpp:44
Definition: NonLinearEquationEnvironment.hpp:35
Definition: BaseOneElectronIntegralBuffer.hpp:25