Theoretica
A C++ numerical and automatic mathematical library
|
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... | |
Search of extrema of multivariate functions.