示例#1
0
        public void FindMaximum_XSquared_ThrowsExceptions()
        {
            OneDimensionalFunction       derivative    = x => 2 * x;
            GradientDescentExtremaFinder extremaFinder = new GradientDescentExtremaFinder(derivative);

            double initialGuess      = 3;
            var    calculatedMinimum = extremaFinder.FindMaximum(initialGuess);

            double expectedMinimum = 0;

            Assert.AreEqual(expectedMinimum, calculatedMinimum, Tolerance);
        }
示例#2
0
        public void FindMaximum_SinX_ReturnsPiOverTwo()
        {
            OneDimensionalFunction       derivative    = x => Math.Cos(x);
            GradientDescentExtremaFinder extremaFinder = new GradientDescentExtremaFinder(derivative);

            double initialGuess         = 0;
            var    calculatedMinimumLoc = extremaFinder.FindMaximum(initialGuess);

            double expectedMinimumLoc = Math.PI / 2;

            Assert.AreEqual(expectedMinimumLoc, calculatedMinimumLoc, Tolerance);
        }