Documentation


optimization_test.cpp

Example of function optimization
#include <iostream>
#include <animal/numrecipes/optimization/mnbrak.h>
#include <animal/numrecipes/optimization/golden.h>
#include <animal/numrecipes/optimization/brent.h>
#include <animal/numrecipes/optimization/dbrent.h>

double myFunction ( double x )
{
    return (x-1)*(x-1) + 1;
}

double myDeriv ( double x )
{
    return 2*(x-1);
}



main()
{

double a = 2, b=4, c, fa, fb, fc;

nr::mnbrak( &a,&b,&c, &fa,&fb,&fc, myFunction );
std::cout<<" mnbrak returns "<< a <<", "<< b <<","<< c <<", "<< fa <<", "<< fb
<<", "<< fc << std::endl;

double tol = 1.0e-3, minValue, location;

minValue = nr::golden( a,b,c, myFunction, tol, &location );
std::cout<<"golden: minimum value of "<< minValue <<" found at "<< location << std::endl;

minValue = nr::brent( a,b,c, myFunction, tol, &location );
std::cout<<"brent: minimum value of "<< minValue <<" found at "<< location << std::endl;

minValue = nr::dbrent( a,b,c, myFunction, myDeriv, tol, &location );
std::cout<<"dbrent: minimum value of "<< minValue <<" found at "<< location << std::endl;
}

Generated on Thu Dec 23 13:52:23 2004 by doxygen 1.3.6