Namespaces

Types in MathNet.Numerics

Type FindMinimum

Namespace MathNet.Numerics

Static Functions

Public Static Functions

ValueTuple<double, double> OfFunction(Func<double, double, double> function, double initialGuess0, double initialGuess1, 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.

ValueTuple<double, double, double> OfFunction(Func<double, double, double, double> function, double initialGuess0, double initialGuess1, double initialGuess2, 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.

ValueTuple<double, double, double, double> OfFunction(Func<double, double, double, double, double> function, double initialGuess0, double initialGuess1, double initialGuess2, double initialGuess3, 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.

ValueTuple<double, double, double, double, double> OfFunction(Func<double, double, double, double, double, double> function, double initialGuess0, double initialGuess1, double initialGuess2, double initialGuess3, double initialGuess4, 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> 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>, ValueTuple<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>, ValueTuple<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>, ValueTuple<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 OfScalarFunction(Func<double, double> function, double 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.

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.