Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site











SourceForge.net Logo

Nonlinear functions

 

Some functions have been include to ease nonlinear optimization and equation system solving.

 


 

bool SolveNonLinearEquations(Eigen::VectorXd &y, Function <int(const Eigen::VectorXd &b, Eigen::VectorXd &residual)> Residual)

Given a system of non linear equations defined by Function Residual, and a set of initial values of the unknowns set in y, this function tries to obtain the set of y that zeroes the Residual.

The dimension of y (y.size()) has to be equal to the number of equations (residual.size()).

It uses a modification of the Powell's hybrid method ("dogleg"). The Jacobian is approximated using a forward-difference method.

The algorithm was ported in Eigen from MINPACK library.

 


 

bool NonLinearOptimization(Eigen::VectorXd &y, Eigen::Index numData, Function <int(const Eigen::VectorXd &y, Eigen::VectorXd &residual)>residual)

Given a number of numData records, the objective is to obtain in an iterative way the y unknown coefficients that minimizes, ideally to zero, the residual error of the Residual Function.

To improve the success of this calculation, y has to be initially filled with adequate initial guess of the unknowns.

Residual Function has to fill in every call residual[numData] Vector by applying the unknowns provisionally guessed values in y to the model to be solved.

The algorithm was ported in Eigen from MINPACK library.

 

 

Do you want to contribute?