Minimum Finder  1.0
Find the minimum of one multi-dimss function
Loading...
Searching...
No Matches
functions.cpp File Reference
#include "functions.h"
#include <cmath>
+ Include dependency graph for functions.cpp:

Go to the source code of this file.

Functions

double functionToMinimize (double x, double y)
 
void computeGradient (double x, double y, double &dx, double &dy)
 
double lineSearchBacktracking (double x, double y, double d_x, double d_y, double alpha_init, double rho, double c)
 

Function Documentation

◆ computeGradient()

void computeGradient ( double x,
double y,
double & dx,
double & dy )

Definition at line 19 of file functions.cpp.

20{
21 dx = cos(x + y) - sin(x + 2 * y);
22 dy = cos(x + y) - 2 * sin(x + 2 * y);
23}

◆ functionToMinimize()

double functionToMinimize ( double x,
double y )

Definition at line 13 of file functions.cpp.

14{
15 return sin(x + y) + cos(x + 2 * y);
16}

◆ lineSearchBacktracking()

double lineSearchBacktracking ( double x,
double y,
double d_x,
double d_y,
double alpha_init,
double rho,
double c )

Definition at line 26 of file functions.cpp.

27{
28 double alpha = alpha_init;
29 double f0 = functionToMinimize(x, y);
30 double grad_dot_dir = d_x * d_x + d_y * d_y; // Since d is -grad
31 while (functionToMinimize(x + alpha * d_x, y + alpha * d_y) > f0 + c * alpha * grad_dot_dir)
32 {
33 alpha *= rho;
34 if (alpha < 1e-8)
35 break;
36 }
37 return alpha;
38}
double functionToMinimize(double x, double y)
Definition functions.cpp:13