Namespaces

Types in MathNet.Numerics

Type FindMinimum

Namespace MathNet.Numerics

Static Functions

Public Static Functions

Vector<T> OfFunction(Func<Vector<double>, double> function, Vector<T> initialGuess, double tolerance, int maxIterations)

Find vector x that minimizes the function f(x) using the Nelder-Mead Simplex algorithm. For more options and diagnostics consider to use NelderMeadSimplex directly.

Vector<T> OfFunctionConstrained(Func<Vector<double>, double> function, Vector<T> lowerBound, Vector<T> upperBound, Vector<T> initialGuess, double gradientTolerance, double parameterTolerance, double functionProgressTolerance, int maxIterations)

Find vector x that minimizes the function f(x), constrained within bounds, using the Broyden–Fletcher–Goldfarb–Shanno Bounded (BFGS-B) algorithm. The missing gradient is evaluated numerically (forward difference). For more options and diagnostics consider to use BfgsBMinimizer directly.

Vector<T> OfFunctionGradient(Func<Vector<double>, double> function, Func<Vector<double>, Vector<double>> gradient, Vector<T> initialGuess, double gradientTolerance, double parameterTolerance, double functionProgressTolerance, int maxIterations)

Find vector x that minimizes the function f(x) using the Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm. For more options and diagnostics consider to use BfgsMinimizer directly. An alternative routine using conjugate gradients (CG) is available in ConjugateGradientMinimizer.

Vector<T> OfFunctionGradient(Func<Vector<double>, Tuple<double, Vector<double>>> functionGradient, Vector<T> initialGuess, double gradientTolerance, double parameterTolerance, double functionProgressTolerance, int maxIterations)

Find vector x that minimizes the function f(x) using the Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm. For more options and diagnostics consider to use BfgsMinimizer directly. An alternative routine using conjugate gradients (CG) is available in ConjugateGradientMinimizer.

Vector<T> OfFunctionGradientConstrained(Func<Vector<double>, double> function, Func<Vector<double>, Vector<double>> gradient, Vector<T> lowerBound, Vector<T> upperBound, Vector<T> initialGuess, double gradientTolerance, double parameterTolerance, double functionProgressTolerance, int maxIterations)

Find vector x that minimizes the function f(x), constrained within bounds, using the Broyden–Fletcher–Goldfarb–Shanno Bounded (BFGS-B) algorithm. For more options and diagnostics consider to use BfgsBMinimizer directly.

Vector<T> OfFunctionGradientConstrained(Func<Vector<double>, Tuple<double, Vector<double>>> functionGradient, Vector<T> lowerBound, Vector<T> upperBound, Vector<T> initialGuess, double gradientTolerance, double parameterTolerance, double functionProgressTolerance, int maxIterations)

Find vector x that minimizes the function f(x), constrained within bounds, using the Broyden–Fletcher–Goldfarb–Shanno Bounded (BFGS-B) algorithm. For more options and diagnostics consider to use BfgsBMinimizer directly.

Vector<T> OfFunctionGradientHessian(Func<Vector<double>, double> function, Func<Vector<double>, Vector<double>> gradient, Func<Vector<double>, Matrix<double>> hessian, Vector<T> initialGuess, double gradientTolerance, int maxIterations)

Find vector x that minimizes the function f(x) using the Newton algorithm. For more options and diagnostics consider to use NewtonMinimizer directly.

Vector<T> OfFunctionGradientHessian(Func<Vector<double>, Tuple<double, Vector<double>, Matrix<double>>> functionGradientHessian, Vector<T> initialGuess, double gradientTolerance, int maxIterations)

Find vector x that minimizes the function f(x) using the Newton algorithm. For more options and diagnostics consider to use NewtonMinimizer directly.

double OfScalarFunctionConstrained(Func<double, double> function, double lowerBound, double upperBound, double tolerance, int maxIterations)

Find value x that minimizes the scalar function f(x), constrained within bounds, using the Golden Section algorithm. For more options and diagnostics consider to use GoldenSectionMinimizer directly.