Math.NET Numerics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

387 lines
20 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>ObjectiveFunction - Math.NET Numerics Documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link type="text/css" rel="stylesheet" href="../main.css"/>
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="../js/jquery.scrollTo-min.js"></script>
<script type="text/javascript" src="../js/navigation.js"></script>
<script type="text/javascript" src="../js/example.js"></script>
</head>
<body><div id="namespaces">
<h2 class="fixed">Namespaces</h2>
<div class="scroll">
<ul>
<li>
<a href="../MathNet.Numerics/index.htm">MathNet.Numerics</a>
</li>
<li>
<a href="../MathNet.Numerics.Differentiation/index.htm">MathNet.Numerics.Differentiation</a>
</li>
<li>
<a href="../MathNet.Numerics.Distributions/index.htm">MathNet.Numerics.Distributions</a>
</li>
<li>
<a href="../MathNet.Numerics.Financial/index.htm">MathNet.Numerics.Financial</a>
</li>
<li>
<a href="../MathNet.Numerics.IntegralTransforms/index.htm">MathNet.Numerics.IntegralTransforms</a>
</li>
<li>
<a href="../MathNet.Numerics.Integration/index.htm">MathNet.Numerics.Integration</a>
</li>
<li>
<a href="../MathNet.Numerics.Interpolation/index.htm">MathNet.Numerics.Interpolation</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra/index.htm">MathNet.Numerics.LinearAlgebra</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Complex/index.htm">MathNet.Numerics.LinearAlgebra.Complex</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Complex.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Complex.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Complex32/index.htm">MathNet.Numerics.LinearAlgebra.Complex32</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Complex32.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Complex32.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Double/index.htm">MathNet.Numerics.LinearAlgebra.Double</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Double.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Double.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Factorization/index.htm">MathNet.Numerics.LinearAlgebra.Factorization</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Single/index.htm">MathNet.Numerics.LinearAlgebra.Single</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Single.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Single.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Solvers/index.htm">MathNet.Numerics.LinearAlgebra.Solvers</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearAlgebra.Storage/index.htm">MathNet.Numerics.LinearAlgebra.Storage</a>
</li>
<li>
<a href="../MathNet.Numerics.LinearRegression/index.htm">MathNet.Numerics.LinearRegression</a>
</li>
<li>
<a href="../MathNet.Numerics.OdeSolvers/index.htm">MathNet.Numerics.OdeSolvers</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/index.htm" class="current">MathNet.Numerics.Optimization</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization.LineSearch/index.htm">MathNet.Numerics.Optimization.LineSearch</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization.ObjectiveFunctions/index.htm">MathNet.Numerics.Optimization.ObjectiveFunctions</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization.TrustRegion/index.htm">MathNet.Numerics.Optimization.TrustRegion</a>
</li>
<li>
<a href="../MathNet.Numerics.Providers/index.htm">MathNet.Numerics.Providers</a>
</li>
<li>
<a href="../MathNet.Numerics.Providers.FourierTransform/index.htm">MathNet.Numerics.Providers.FourierTransform</a>
</li>
<li>
<a href="../MathNet.Numerics.Providers.LinearAlgebra/index.htm">MathNet.Numerics.Providers.LinearAlgebra</a>
</li>
<li>
<a href="../MathNet.Numerics.Providers.SparseSolver/index.htm">MathNet.Numerics.Providers.SparseSolver</a>
</li>
<li>
<a href="../MathNet.Numerics.Random/index.htm">MathNet.Numerics.Random</a>
</li>
<li>
<a href="../MathNet.Numerics.RootFinding/index.htm">MathNet.Numerics.RootFinding</a>
</li>
<li>
<a href="../MathNet.Numerics.Statistics/index.htm">MathNet.Numerics.Statistics</a>
</li>
<li>
<a href="../MathNet.Numerics.Statistics.Mcmc/index.htm">MathNet.Numerics.Statistics.Mcmc</a>
</li>
</ul>
</div>
</div><div id="types">
<h2 class="fixed">Types in MathNet.Numerics.Optimization</h2>
<div class="scroll">
<ul>
<li>
<a href="../MathNet.Numerics.Optimization/BfgsBMinimizer.htm">BfgsBMinimizer</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/BfgsMinimizer.htm">BfgsMinimizer</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/BfgsMinimizerBase.htm">BfgsMinimizerBase</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/BfgsSolver.htm">BfgsSolver</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/ConjugateGradientMinimizer.htm">ConjugateGradientMinimizer</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/EvaluationException.htm">EvaluationException</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/ExitCondition.htm">ExitCondition</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/GoldenSectionMinimizer.htm">GoldenSectionMinimizer</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/GradientProjectionResult.htm">GradientProjectionResult</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/IncompatibleObjectiveException.htm">IncompatibleObjectiveException</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/InnerOptimizationException.htm">InnerOptimizationException</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/IObjectiveFunctionEvaluation.htm">IObjectiveFunctionEvaluation</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/IObjectiveModel.htm">IObjectiveModel</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/IObjectiveModelEvaluation.htm">IObjectiveModelEvaluation</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/IScalarObjectiveFunction.htm">IScalarObjectiveFunction</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/IScalarObjectiveFunctionEvaluation.htm">IScalarObjectiveFunctionEvaluation</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/IUnconstrainedMinimizer.htm">IUnconstrainedMinimizer</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/LevenbergMarquardtMinimizer.htm">LevenbergMarquardtMinimizer</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/LimitedMemoryBfgsMinimizer.htm">LimitedMemoryBfgsMinimizer</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/MaximumIterationsException.htm">MaximumIterationsException</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/MinimizationResult.htm">MinimizationResult</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/MinimizationWithLineSearchResult.htm">MinimizationWithLineSearchResult</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/MinimizerBase.htm">MinimizerBase</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/NelderMeadSimplex.htm">NelderMeadSimplex</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/NewtonMinimizer.htm">NewtonMinimizer</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/NonlinearMinimizationResult.htm">NonlinearMinimizationResult</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/NonlinearMinimizerBase.htm">NonlinearMinimizerBase</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm" class="current">ObjectiveFunction</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/OptimizationException.htm">OptimizationException</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/QuadraticGradientProjectionSearch.htm">QuadraticGradientProjectionSearch</a>
</li>
<li>
<a href="../MathNet.Numerics.Optimization/ScalarMinimizationResult.htm">ScalarMinimizationResult</a>
</li>
</ul>
</div>
</div>
<div class="header">
<p class="class"><strong>Type</strong> ObjectiveFunction</p>
<p><strong>Namespace</strong> MathNet.Numerics.Optimization</p>
</div>
<div class="sub-header">
<h3 class="section">Static Functions</h3>
<ul>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#Gradient">Gradient</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#Gradient">Gradient</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#GradientHessian">GradientHessian</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#GradientHessian">GradientHessian</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#Hessian">Hessian</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#Hessian">Hessian</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#NonlinearFunction">NonlinearFunction</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#NonlinearFunction">NonlinearFunction</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#NonlinearModel">NonlinearModel</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#NonlinearModel">NonlinearModel</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#ScalarDerivative">ScalarDerivative</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#ScalarSecondDerivative">ScalarSecondDerivative</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#ScalarValue">ScalarValue</a></li>
<li><a href="../MathNet.Numerics.Optimization/ObjectiveFunction.htm#Value">Value</a></li>
</ul>
</div>
<h3 class="section">Public Static Functions</h3>
<div id="Gradient" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>Gradient</strong>(<span title="System.Func<Vector<double>, ValueTuple<double, Vector<double>>>">Func&lt;Vector&lt;double&gt;, ValueTuple&lt;double, Vector&lt;double&gt;&gt;&gt;</span> function)</h4>
<div class="content">Objective function where the Gradient is available. Greedy evaluation.
</div>
</div>
<div id="Gradient" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>Gradient</strong>(<span title="System.Func<Vector<double>, double>">Func&lt;Vector&lt;double&gt;, double&gt;</span> function, <span title="System.Func<Vector<double>, Vector<double>>">Func&lt;Vector&lt;double&gt;, Vector&lt;double&gt;&gt;</span> gradient)</h4>
<div class="content">Objective function where the Gradient is available. Lazy evaluation.
</div>
</div>
<div id="GradientHessian" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>GradientHessian</strong>(<span title="System.Func<Vector<double>, ValueTuple<double, Vector<double>, Matrix<double>>>">Func&lt;Vector&lt;double&gt;, ValueTuple&lt;double, Vector&lt;double&gt;, Matrix&lt;double&gt;&gt;&gt;</span> function)</h4>
<div class="content">Objective function where both Gradient and Hessian are available. Greedy evaluation.
</div>
</div>
<div id="GradientHessian" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>GradientHessian</strong>(<span title="System.Func<Vector<double>, double>">Func&lt;Vector&lt;double&gt;, double&gt;</span> function, <span title="System.Func<Vector<double>, Vector<double>>">Func&lt;Vector&lt;double&gt;, Vector&lt;double&gt;&gt;</span> gradient, <span title="System.Func<Vector<double>, Matrix<double>>">Func&lt;Vector&lt;double&gt;, Matrix&lt;double&gt;&gt;</span> hessian)</h4>
<div class="content">Objective function where both Gradient and Hessian are available. Lazy evaluation.
</div>
</div>
<div id="Hessian" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>Hessian</strong>(<span title="System.Func<Vector<double>, ValueTuple<double, Matrix<double>>>">Func&lt;Vector&lt;double&gt;, ValueTuple&lt;double, Matrix&lt;double&gt;&gt;&gt;</span> function)</h4>
<div class="content">Objective function where the Hessian is available. Greedy evaluation.
</div>
</div>
<div id="Hessian" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>Hessian</strong>(<span title="System.Func<Vector<double>, double>">Func&lt;Vector&lt;double&gt;, double&gt;</span> function, <span title="System.Func<Vector<double>, Matrix<double>>">Func&lt;Vector&lt;double&gt;, Matrix&lt;double&gt;&gt;</span> hessian)</h4>
<div class="content">Objective function where the Hessian is available. Lazy evaluation.
</div>
</div>
<div id="NonlinearFunction" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>NonlinearFunction</strong>(<span title="System.Func<Vector<double>, Vector<double>, Vector<double>>">Func&lt;Vector&lt;double&gt;, Vector&lt;double&gt;, Vector&lt;double&gt;&gt;</span> function, <span title="System.Func<Vector<double>, Vector<double>, Matrix<double>>">Func&lt;Vector&lt;double&gt;, Vector&lt;double&gt;, Matrix&lt;double&gt;&gt;</span> derivatives, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> observedX, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> observedY, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> weight)</h4>
<div class="content">Objective function with a user supplied jacobian for nonlinear least squares regression.
</div>
</div>
<div id="NonlinearFunction" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>NonlinearFunction</strong>(<span title="System.Func<Vector<double>, Vector<double>, Vector<double>>">Func&lt;Vector&lt;double&gt;, Vector&lt;double&gt;, Vector&lt;double&gt;&gt;</span> function, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> observedX, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> observedY, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> weight, <span title="System.int">int</span> accuracyOrder)</h4>
<div class="content">Objective function for nonlinear least squares regression.
The numerical jacobian with accuracy order is used.
</div>
</div>
<div id="NonlinearModel" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveModel.htm">IObjectiveModel</a> <strong>NonlinearModel</strong>(<span title="System.Func<Vector<double>, Vector<double>, Vector<double>>">Func&lt;Vector&lt;double&gt;, Vector&lt;double&gt;, Vector&lt;double&gt;&gt;</span> function, <span title="System.Func<Vector<double>, Vector<double>, Matrix<double>>">Func&lt;Vector&lt;double&gt;, Vector&lt;double&gt;, Matrix&lt;double&gt;&gt;</span> derivatives, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> observedX, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> observedY, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> weight)</h4>
<div class="content">objective model with a user supplied jacobian for non-linear least squares regression.
</div>
</div>
<div id="NonlinearModel" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveModel.htm">IObjectiveModel</a> <strong>NonlinearModel</strong>(<span title="System.Func<Vector<double>, Vector<double>, Vector<double>>">Func&lt;Vector&lt;double&gt;, Vector&lt;double&gt;, Vector&lt;double&gt;&gt;</span> function, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> observedX, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> observedY, <a href="../MathNet.Numerics.LinearAlgebra/Vector`1.htm">Vector&lt;T&gt;</a> weight, <span title="System.int">int</span> accuracyOrder)</h4>
<div class="content">Objective model for non-linear least squares regression.
</div>
</div>
<div id="ScalarDerivative" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IScalarObjectiveFunction.htm">IScalarObjectiveFunction</a> <strong>ScalarDerivative</strong>(<span title="System.Func<double, double>">Func&lt;double, double&gt;</span> function, <span title="System.Func<double, double>">Func&lt;double, double&gt;</span> derivative)</h4>
<div class="content">Objective function where the first derivative is available.
</div>
</div>
<div id="ScalarSecondDerivative" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IScalarObjectiveFunction.htm">IScalarObjectiveFunction</a> <strong>ScalarSecondDerivative</strong>(<span title="System.Func<double, double>">Func&lt;double, double&gt;</span> function, <span title="System.Func<double, double>">Func&lt;double, double&gt;</span> derivative, <span title="System.Func<double, double>">Func&lt;double, double&gt;</span> secondDerivative)</h4>
<div class="content">Objective function where the first and second derivatives are available.
</div>
</div>
<div id="ScalarValue" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IScalarObjectiveFunction.htm">IScalarObjectiveFunction</a> <strong>ScalarValue</strong>(<span title="System.Func<double, double>">Func&lt;double, double&gt;</span> function)</h4>
<div class="content">Objective function where neither first nor second derivative is available.
</div>
</div>
<div id="Value" class="method">
<h4><a href="../MathNet.Numerics.Optimization/IObjectiveFunction.htm">IObjectiveFunction</a> <strong>Value</strong>(<span title="System.Func<Vector<double>, double>">Func&lt;Vector&lt;double&gt;, double&gt;</span> function)</h4>
<div class="content">Objective function where neither Gradient nor Hessian is available.
</div>
</div>
<div id="footer">
<p>Based on v5.0.0.0 of MathNet.Numerics (Math.NET Numerics)</p>
<p>Generated by <a href="http://docu.jagregory.com">docu</a></p>
</div>
</body>
</html>