diff --git a/src/Numerics/FindMinimum.cs b/src/Numerics/FindMinimum.cs
index b34c824e..b37bcfcd 100644
--- a/src/Numerics/FindMinimum.cs
+++ b/src/Numerics/FindMinimum.cs
@@ -46,6 +46,28 @@ namespace MathNet.Numerics
return result.MinimizingPoint;
}
+ ///
+ /// Find vector x that minimizes the function f(x) using the Nelder-Mead Simplex algorithm.
+ /// For more options and diagnostics consider to use directly.
+ ///
+ public static Tuple OfFunction(Func function, double initialGuess0, double initialGuess1, double tolerance = 1e-8, int maxIterations = 1000)
+ {
+ var objective = ObjectiveFunction.Value(v => function(v[0], v[1]));
+ var result = NelderMeadSimplex.Minimum(objective, CreateVector.Dense(new[] { initialGuess0, initialGuess1 }), tolerance, maxIterations);
+ return Tuple.Create(result.MinimizingPoint[0], result.MinimizingPoint[1]);
+ }
+
+ ///
+ /// Find vector x that minimizes the function f(x) using the Nelder-Mead Simplex algorithm.
+ /// For more options and diagnostics consider to use directly.
+ ///
+ public static Tuple OfFunction(Func function, double initialGuess0, double initialGuess1, double initialGuess2, double tolerance = 1e-8, int maxIterations = 1000)
+ {
+ var objective = ObjectiveFunction.Value(v => function(v[0], v[1], v[2]));
+ var result = NelderMeadSimplex.Minimum(objective, CreateVector.Dense(new[] { initialGuess0, initialGuess1, initialGuess2 }), tolerance, maxIterations);
+ return Tuple.Create(result.MinimizingPoint[0], result.MinimizingPoint[1], result.MinimizingPoint[2]);
+ }
+
///
/// Find vector x that minimizes the function f(x) using the Nelder-Mead Simplex algorithm.
/// For more options and diagnostics consider to use directly.