Description
Hello,
I am somewhat new to C++, and wanted to use this library for a constrained minimization problem. I am practicing with sumt using a simple case
From reading the function description on the website, I originally assumed that the constraint function needed to return a vector in the form
Many Thanks,
Sam
double square(const Eigen::VectorXd& vals_inp, Eigen::VectorXd* grad_out, void* opt_data){
return pow(vals_inp(0),2);
}
Eigen::VectorXd square_cons(const Eigen::VectorXd& vals_inp, Eigen::MatrixXd* jacob_out, void* constr_data){
Eigen::VectorXd ones = Eigen::VectorXd::Ones(vals_inp.size());
return vals_inp - ones;
}
Eigen::VectorXd test(){
Eigen::VectorXd guess = 2.0 * Eigen::VectorXd::Ones(1);
bool success = optim::sumt(guess, square, nullptr, square_cons, nullptr);
return guess;
}