diff --git a/src/Numerics/Numerics.csproj b/src/Numerics/Numerics.csproj
index 32dc2b7c..bf35d659 100644
--- a/src/Numerics/Numerics.csproj
+++ b/src/Numerics/Numerics.csproj
@@ -112,12 +112,12 @@
-
+
-
-
+
+
diff --git a/src/Numerics/Optimization/IUnconstrainedMinimizer.cs b/src/Numerics/Optimization/IUnconstrainedMinimizer.cs
index e565edb2..3c88e8ca 100644
--- a/src/Numerics/Optimization/IUnconstrainedMinimizer.cs
+++ b/src/Numerics/Optimization/IUnconstrainedMinimizer.cs
@@ -4,6 +4,6 @@ namespace MathNet.Numerics.Optimization
{
public interface IUnconstrainedMinimizer
{
- MinimizationOutput FindMinimum(IObjectiveFunction objective, Vector initialGuess);
+ MinimizationResult FindMinimum(IObjectiveFunction objective, Vector initialGuess);
}
}
diff --git a/src/Numerics/Optimization/Implementation/LineSearchOutput.cs b/src/Numerics/Optimization/Implementation/LineSearchResult.cs
similarity index 72%
rename from src/Numerics/Optimization/Implementation/LineSearchOutput.cs
rename to src/Numerics/Optimization/Implementation/LineSearchResult.cs
index 85469013..70673ca1 100644
--- a/src/Numerics/Optimization/Implementation/LineSearchOutput.cs
+++ b/src/Numerics/Optimization/Implementation/LineSearchResult.cs
@@ -1,10 +1,10 @@
namespace MathNet.Numerics.Optimization.Implementation
{
- public class LineSearchOutput : MinimizationOutput
+ public class LineSearchResult : MinimizationResult
{
public double FinalStep { get; private set; }
- public LineSearchOutput(IObjectiveFunction functionInfo, int iterations, double finalStep, ExitCondition reasonForExit)
+ public LineSearchResult(IObjectiveFunction functionInfo, int iterations, double finalStep, ExitCondition reasonForExit)
: base(functionInfo, iterations, reasonForExit)
{
FinalStep = finalStep;
diff --git a/src/Numerics/Optimization/Implementation/WeakWolfeLineSearch.cs b/src/Numerics/Optimization/Implementation/WeakWolfeLineSearch.cs
index 2901418e..4edf7cae 100644
--- a/src/Numerics/Optimization/Implementation/WeakWolfeLineSearch.cs
+++ b/src/Numerics/Optimization/Implementation/WeakWolfeLineSearch.cs
@@ -19,7 +19,7 @@ namespace MathNet.Numerics.Optimization.Implementation
}
// Implemented following http://www.math.washington.edu/~burke/crs/408/lectures/L9-weak-Wolfe.pdf
- public LineSearchOutput FindConformingStep(IObjectiveFunctionEvaluation startingPoint, Vector searchDirection, double initialStep)
+ public LineSearchResult FindConformingStep(IObjectiveFunctionEvaluation startingPoint, Vector searchDirection, double initialStep)
{
double lowerBound = 0.0;
double upperBound = Double.PositiveInfinity;
@@ -33,7 +33,7 @@ namespace MathNet.Numerics.Optimization.Implementation
var objective = startingPoint.CreateNew();
int ii;
- MinimizationOutput.ExitCondition reasonForExit = MinimizationOutput.ExitCondition.None;
+ MinimizationResult.ExitCondition reasonForExit = MinimizationResult.ExitCondition.None;
for (ii = 0; ii < _maximumIterations; ++ii)
{
objective.EvaluateAt(initialPoint + searchDirection * step);
@@ -54,7 +54,7 @@ namespace MathNet.Numerics.Optimization.Implementation
}
else
{
- reasonForExit = MinimizationOutput.ExitCondition.WeakWolfeCriteria;
+ reasonForExit = MinimizationResult.ExitCondition.WeakWolfeCriteria;
break;
}
@@ -68,7 +68,7 @@ namespace MathNet.Numerics.Optimization.Implementation
}
if (maxRelChange < _parameterTolerance)
{
- reasonForExit = MinimizationOutput.ExitCondition.LackOfProgress;
+ reasonForExit = MinimizationResult.ExitCondition.LackOfProgress;
break;
}
}
@@ -84,7 +84,7 @@ namespace MathNet.Numerics.Optimization.Implementation
throw new MaximumIterationsException(String.Format("Maximum iterations ({0}) reached.", _maximumIterations));
}
- return new LineSearchOutput(objective, ii, step, reasonForExit);
+ return new LineSearchResult(objective, ii, step, reasonForExit);
}
bool Conforms(IObjectiveFunction startingPoint, Vector searchDirection, double step, IObjectiveFunction endingPoint)
diff --git a/src/Numerics/Optimization/MinimizationOutput.cs b/src/Numerics/Optimization/MinimizationResult.cs
similarity index 89%
rename from src/Numerics/Optimization/MinimizationOutput.cs
rename to src/Numerics/Optimization/MinimizationResult.cs
index 802a3522..77cc389c 100644
--- a/src/Numerics/Optimization/MinimizationOutput.cs
+++ b/src/Numerics/Optimization/MinimizationResult.cs
@@ -2,7 +2,7 @@
namespace MathNet.Numerics.Optimization
{
- public class MinimizationOutput
+ public class MinimizationResult
{
public enum ExitCondition
{
@@ -21,7 +21,7 @@ namespace MathNet.Numerics.Optimization
public int Iterations { get; private set; }
public ExitCondition ReasonForExit { get; private set; }
- public MinimizationOutput(IObjectiveFunction functionInfo, int iterations, ExitCondition reasonForExit)
+ public MinimizationResult(IObjectiveFunction functionInfo, int iterations, ExitCondition reasonForExit)
{
FunctionInfoAtMinimum = functionInfo;
Iterations = iterations;
diff --git a/src/Numerics/Optimization/MinimizationWithLineSearchOutput.cs b/src/Numerics/Optimization/MinimizationWithLineSearchResult.cs
similarity index 80%
rename from src/Numerics/Optimization/MinimizationWithLineSearchOutput.cs
rename to src/Numerics/Optimization/MinimizationWithLineSearchResult.cs
index 2d3df000..72002bee 100644
--- a/src/Numerics/Optimization/MinimizationWithLineSearchOutput.cs
+++ b/src/Numerics/Optimization/MinimizationWithLineSearchResult.cs
@@ -1,11 +1,11 @@
namespace MathNet.Numerics.Optimization
{
- public class MinimizationWithLineSearchOutput : MinimizationOutput
+ public class MinimizationWithLineSearchResult : MinimizationResult
{
public int TotalLineSearchIterations { get; private set; }
public int IterationsWithNonTrivialLineSearch { get; private set; }
- public MinimizationWithLineSearchOutput(IObjectiveFunction functionInfo, int iterations, ExitCondition reasonForExit, int totalLineSearchIterations, int iterationsWithNonTrivialLineSearch)
+ public MinimizationWithLineSearchResult(IObjectiveFunction functionInfo, int iterations, ExitCondition reasonForExit, int totalLineSearchIterations, int iterationsWithNonTrivialLineSearch)
: base(functionInfo, iterations, reasonForExit)
{
TotalLineSearchIterations = totalLineSearchIterations;
diff --git a/src/Numerics/Optimization/NewtonMinimizer.cs b/src/Numerics/Optimization/NewtonMinimizer.cs
index 79a18249..e2e04420 100644
--- a/src/Numerics/Optimization/NewtonMinimizer.cs
+++ b/src/Numerics/Optimization/NewtonMinimizer.cs
@@ -1,7 +1,6 @@
using System;
using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.Optimization.Implementation;
-using LU = MathNet.Numerics.LinearAlgebra.Factorization.LU;
namespace MathNet.Numerics.Optimization
{
@@ -18,7 +17,7 @@ namespace MathNet.Numerics.Optimization
UseLineSearch = useLineSearch;
}
- public MinimizationOutput FindMinimum(IObjectiveFunction objective, Vector initialGuess)
+ public MinimizationResult FindMinimum(IObjectiveFunction objective, Vector initialGuess)
{
if (!objective.IsGradientSupported)
{
@@ -35,7 +34,7 @@ namespace MathNet.Numerics.Optimization
ValidateGradient(objective);
if (ExitCriteriaSatisfied(objective.Gradient))
{
- return new MinimizationOutput(objective, 0, MinimizationOutput.ExitCondition.AbsoluteGradient);
+ return new MinimizationResult(objective, 0, MinimizationResult.ExitCondition.AbsoluteGradient);
}
// Set up line search algorithm
@@ -59,7 +58,7 @@ namespace MathNet.Numerics.Optimization
if (UseLineSearch || tmpLineSearch)
{
- LineSearchOutput result;
+ LineSearchResult result;
try
{
result = lineSearcher.FindConformingStep(objective, searchDirection, 1.0);
@@ -89,7 +88,7 @@ namespace MathNet.Numerics.Optimization
throw new MaximumIterationsException(String.Format("Maximum iterations ({0}) reached.", MaximumIterations));
}
- return new MinimizationWithLineSearchOutput(objective, iterations, MinimizationOutput.ExitCondition.AbsoluteGradient, totalLineSearchSteps, iterationsWithNontrivialLineSearch);
+ return new MinimizationWithLineSearchResult(objective, iterations, MinimizationResult.ExitCondition.AbsoluteGradient, totalLineSearchSteps, iterationsWithNontrivialLineSearch);
}
bool ExitCriteriaSatisfied(Vector gradient)