public void TestRosenbrockFunction() { var minimizer = new QNMinimizer(); var f = new RosenbrockFunction(); var x = minimizer.Minimize(f); var minValue = f.ValueAt(x); Assert.AreEqual(x[0], 1.0, 1e-5); Assert.AreEqual(x[1], 1.0, 1e-5); Assert.AreEqual(minValue, 0, 1e-10); }
public void TestQuadraticFunction() { var minimizer = new QNMinimizer(); var f = new QuadraticFunction(); var x = minimizer.Minimize(f); var minValue = f.ValueAt(x); Assert.AreEqual(x[0], 1.0, 0.000001); Assert.AreEqual(x[1], 5.0, 0.000001); Assert.AreEqual(minValue, 10.0, 0.000001); }