Theoretica
A C++ numerical and automatic mathematical library
multi_extrema.h File Reference

Search of extrema of multivariate functions. More...

#include "../core/constants.h"
#include "../autodiff/autodiff.h"
#include "./extrema.h"
#include <functional>

Go to the source code of this file.

Namespaces

 theoretica
 Main namespace of the library which contains all functions and objects.
 

Functions

template<unsigned int N>
vec< real, N > theoretica::multi_minimize_grad (multidual< N >(*f)(vec< multidual< N >, N >), vec< real, N > guess=vec< real, N >(0), real gamma=OPTIMIZATION_MINGRAD_GAMMA, real tolerance=OPTIMIZATION_MINGRAD_TOLERANCE, unsigned int max_iter=OPTIMIZATION_MINGRAD_ITER)
 Find a local minimum of the given multivariate function using fixed-step gradient descent. More...
 
template<unsigned int N>
vec< real, N > theoretica::multi_maximize_grad (multidual< N >(*f)(vec< multidual< N >, N >), vec< real, N > guess=vec< real, N >(0), real gamma=OPTIMIZATION_MINGRAD_GAMMA, real tolerance=OPTIMIZATION_MINGRAD_TOLERANCE, unsigned int max_iter=OPTIMIZATION_MINGRAD_ITER)
 Find a local maximum of the given multivariate function using fixed-step gradient descent. More...
 
template<unsigned int N>
vec< real, N > theoretica::multi_minimize_lingrad (multidual< N >(*f)(vec< multidual< N >, N >), vec< real, N > guess=vec< real, N >(0), real tolerance=OPTIMIZATION_MINGRAD_TOLERANCE, unsigned int max_iter=OPTIMIZATION_MINGRAD_ITER)
 Find a local minimum of the given multivariate function using gradient descent with linear search. More...
 
template<unsigned int N>
vec< real, N > theoretica::multi_maximize_lingrad (multidual< N >(*f)(vec< multidual< N >, N >), vec< real, N > guess=vec< real, N >(0), real tolerance=OPTIMIZATION_MINGRAD_TOLERANCE, unsigned int max_iter=OPTIMIZATION_MINGRAD_ITER)
 Find a local maximum of the given multivariate function using gradient descent with linear search. More...
 
template<unsigned int N>
vec< real, N > theoretica::multi_minimize (multidual< N >(*f)(vec< multidual< N >, N >), vec< real, N > guess=vec< real, N >(0), real tolerance=OPTIMIZATION_MINGRAD_TOLERANCE)
 Use the best available algorithm to find a local minimum of the given multivariate function. More...
 
template<unsigned int N>
vec< real, N > theoretica::multi_maximize (multidual< N >(*f)(vec< multidual< N >, N >), vec< real, N > guess=vec< real, N >(0), real tolerance=OPTIMIZATION_MINGRAD_TOLERANCE)
 Use the best available algorithm to find a local maximum of the given multivariate function. More...
 

Detailed Description

Search of extrema of multivariate functions.