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.
 
 
 

538 lines
26 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>NumericalDerivative - 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" class="current">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">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.Differentiation</h2>
<div class="scroll">
<ul>
<li>
<a href="../MathNet.Numerics.Differentiation/FiniteDifferenceCoefficients.htm">FiniteDifferenceCoefficients</a>
</li>
<li>
<a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm" class="current">NumericalDerivative</a>
</li>
<li>
<a href="../MathNet.Numerics.Differentiation/NumericalHessian.htm">NumericalHessian</a>
</li>
<li>
<a href="../MathNet.Numerics.Differentiation/NumericalJacobian.htm">NumericalJacobian</a>
</li>
<li>
<a href="../MathNet.Numerics.Differentiation/StepType.htm">StepType</a>
</li>
</ul>
</div>
</div>
<div class="header">
<p class="class"><strong>Type</strong> NumericalDerivative</p>
<p><strong>Namespace</strong> MathNet.Numerics.Differentiation</p>
</div>
<div class="sub-header">
<div id="summary">Class to evaluate the numerical derivative of a function using finite difference approximations.
Variable point and center methods can be initialized .
This class can also be used to return function handles (delegates) for a fixed derivative order and variable.
It is possible to evaluate the derivative and partial derivative of univariate and multivariate functions respectively.
</div>
<h3 class="section">Constructors</h3>
<ul>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#.ctor">NumericalDerivative</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#.ctor">NumericalDerivative</a></li>
</ul>
<h3 class="section">Methods</h3>
<ul>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#CreateDerivativeFunctionHandle">CreateDerivativeFunctionHandle</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#CreateMixedPartialDerivativeFunctionHandle">CreateMixedPartialDerivativeFunctionHandle</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#CreateMixedPartialDerivativeFunctionHandle">CreateMixedPartialDerivativeFunctionHandle</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#CreatePartialDerivativeFunctionHandle">CreatePartialDerivativeFunctionHandle</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#CreatePartialDerivativeFunctionHandle">CreatePartialDerivativeFunctionHandle</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#Equals">Equals</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#EvaluateDerivative">EvaluateDerivative</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#EvaluateDerivative">EvaluateDerivative</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#EvaluateMixedPartialDerivative">EvaluateMixedPartialDerivative</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#EvaluateMixedPartialDerivative">EvaluateMixedPartialDerivative</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#EvaluatePartialDerivative">EvaluatePartialDerivative</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#EvaluatePartialDerivative">EvaluatePartialDerivative</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#GetHashCode">GetHashCode</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#GetType">GetType</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#ResetEvaluations">ResetEvaluations</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#ToString">ToString</a></li>
</ul>
<h3 class="section">Properties</h3>
<ul>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#BaseStepSize">BaseStepSize</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#Center">Center</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#Epsilon">Epsilon</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#Evaluations">Evaluations</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#StepSize">StepSize</a></li>
<li><a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#StepType">StepType</a></li>
</ul>
</div>
<h3 class="section">Public Constructors</h3>
<div id=".ctor" class="method">
<h4> <strong>NumericalDerivative</strong>(<span title="System.int">int</span> points, <span title="System.int">int</span> center)</h4>
<div class="content">Initialized a NumericalDerivative class.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.int">int</span></code> points</h6>
<p class="comments">Number of points for finite difference derivatives. </p>
<h6><code><span title="System.int">int</span></code> center</h6>
<p class="comments">Location of the center with respect to other points. Value ranges from zero to points-1. </p>
</div>
</div>
</div>
<div id=".ctor" class="method">
<h4> <strong>NumericalDerivative</strong>()</h4>
<div class="content">Initializes a NumericalDerivative class with the default 3 point center difference method.
</div>
</div>
<h3 class="section">Public Methods</h3>
<div id="CreateDerivativeFunctionHandle" class="method">
<h4><span title="System.Func<double, double>">Func&lt;double, double&gt;</span> <strong>CreateDerivativeFunctionHandle</strong>(<span title="System.Func<double, double>">Func&lt;double, double&gt;</span> f, <span title="System.int">int</span> order)</h4>
<div class="content">Creates a function handle for the derivative of a scalar univariate function.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Func<double, double>">Func&lt;double, double&gt;</span></code> f</h6>
<p class="comments">Input function handle. </p>
<h6><code><span title="System.int">int</span></code> order</h6>
<p class="comments">Derivative order. </p>
</div>
<div class="return">
<h5>Return</h5>
<h6><code><span title="System.Func<double, double>">Func&lt;double, double&gt;</span></code></h6>
<p>Function handle that evaluates the derivative of input function at a fixed order. </p>
</div>
</div>
</div>
<div id="CreateMixedPartialDerivativeFunctionHandle" class="method">
<h4><span title="System.Func<Double[], Double[]>">Func&lt;Double[], Double[]&gt;</span> <strong>CreateMixedPartialDerivativeFunctionHandle</strong>(<span title="System.Func`2[]">Func`2[]</span> f, <span title="System.Int32[]">Int32[]</span> parameterIndex, <span title="System.int">int</span> order)</h4>
<div class="content">
</div>
</div>
<div id="CreateMixedPartialDerivativeFunctionHandle" class="method">
<h4><span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span> <strong>CreateMixedPartialDerivativeFunctionHandle</strong>(<span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span> f, <span title="System.Int32[]">Int32[]</span> parameterIndex, <span title="System.int">int</span> order)</h4>
<div class="content">Creates a function handle for the mixed partial derivative of a multivariate function.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span></code> f</h6>
<p class="comments">Input function handle. </p>
<h6><code><span title="System.Int32[]">Int32[]</span></code> parameterIndex</h6>
<p class="comments">Vector of indices for the independent variables at descending derivative orders. </p>
<h6><code><span title="System.int">int</span></code> order</h6>
<p class="comments">Highest derivative order. </p>
</div>
<div class="return">
<h5>Return</h5>
<h6><code><span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span></code></h6>
<p>Function handle that evaluates the fixed mixed partial derivative of input function at fixed order. </p>
</div>
</div>
</div>
<div id="CreatePartialDerivativeFunctionHandle" class="method">
<h4><span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span> <strong>CreatePartialDerivativeFunctionHandle</strong>(<span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span> f, <span title="System.int">int</span> parameterIndex, <span title="System.int">int</span> order)</h4>
<div class="content">Creates a function handle for the partial derivative of a multivariate function.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span></code> f</h6>
<p class="comments">Input function handle. </p>
<h6><code><span title="System.int">int</span></code> parameterIndex</h6>
<p class="comments">Index of the independent variable for partial derivative. </p>
<h6><code><span title="System.int">int</span></code> order</h6>
<p class="comments">Derivative order. </p>
</div>
<div class="return">
<h5>Return</h5>
<h6><code><span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span></code></h6>
<p>Function handle that evaluates partial derivative of input function at a fixed order. </p>
</div>
</div>
</div>
<div id="CreatePartialDerivativeFunctionHandle" class="method">
<h4><span title="System.Func<Double[], Double[]>">Func&lt;Double[], Double[]&gt;</span> <strong>CreatePartialDerivativeFunctionHandle</strong>(<span title="System.Func`2[]">Func`2[]</span> f, <span title="System.int">int</span> parameterIndex, <span title="System.int">int</span> order)</h4>
<div class="content">
</div>
</div>
<div id="Equals" class="method">
<h4><span title="System.bool">bool</span> <strong>Equals</strong>(<span title="System.object">object</span> obj)</h4>
<div class="content">
</div>
</div>
<div id="EvaluateDerivative" class="method">
<h4><span title="System.double">double</span> <strong>EvaluateDerivative</strong>(<span title="System.Double[]">Double[]</span> points, <span title="System.int">int</span> order, <span title="System.double">double</span> stepSize)</h4>
<div class="content">Evaluates the derivative of equidistant points using the finite difference method.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Double[]">Double[]</span></code> points</h6>
<p class="comments">Vector of points StepSize apart. </p>
<h6><code><span title="System.int">int</span></code> order</h6>
<p class="comments">Derivative order. </p>
<h6><code><span title="System.double">double</span></code> stepSize</h6>
<p class="comments">Finite difference step size. </p>
</div>
<div class="return">
<h5>Return</h5>
<h6><code><span title="System.double">double</span></code></h6>
<p>Derivative of points of the specified order. </p>
</div>
</div>
</div>
<div id="EvaluateDerivative" class="method">
<h4><span title="System.double">double</span> <strong>EvaluateDerivative</strong>(<span title="System.Func<double, double>">Func&lt;double, double&gt;</span> f, <span title="System.double">double</span> x, <span title="System.int">int</span> order, <span title="System.Nullable<double>">Nullable&lt;double&gt;</span> currentValue)</h4>
<div class="content">Evaluates the derivative of a scalar univariate function. <blockquote class="remarks">
Supplying the optional argument currentValue will reduce the number of function evaluations
required to calculate the finite difference derivative.
</blockquote>
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Func<double, double>">Func&lt;double, double&gt;</span></code> f</h6>
<p class="comments">Function handle. </p>
<h6><code><span title="System.double">double</span></code> x</h6>
<p class="comments">Point at which to compute the derivative. </p>
<h6><code><span title="System.int">int</span></code> order</h6>
<p class="comments">Derivative order. </p>
<h6><code><span title="System.Nullable<double>">Nullable&lt;double&gt;</span></code> currentValue</h6>
<p class="comments">Current function value at center. </p>
</div>
<div class="return">
<h5>Return</h5>
<h6><code><span title="System.double">double</span></code></h6>
<p>Function derivative at x of the specified order. </p>
</div>
</div>
</div>
<div id="EvaluateMixedPartialDerivative" class="method">
<h4><span title="System.double">double</span> <strong>EvaluateMixedPartialDerivative</strong>(<span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span> f, <span title="System.Double[]">Double[]</span> x, <span title="System.Int32[]">Int32[]</span> parameterIndex, <span title="System.int">int</span> order, <span title="System.Nullable<double>">Nullable&lt;double&gt;</span> currentValue)</h4>
<div class="content">Evaluates the mixed partial derivative of variable order for multivariate functions. <blockquote class="remarks">
This function recursively uses <a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#EvaluatePartialDerivative">EvaluatePartialDerivative</a> to evaluate mixed partial derivative.
Therefore, it is more efficient to call <a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#EvaluatePartialDerivative">EvaluatePartialDerivative</a> for higher order derivatives of
a single independent variable.
</blockquote>
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span></code> f</h6>
<p class="comments">Multivariate function handle. </p>
<h6><code><span title="System.Double[]">Double[]</span></code> x</h6>
<p class="comments">Points at which to evaluate the derivative. </p>
<h6><code><span title="System.Int32[]">Int32[]</span></code> parameterIndex</h6>
<p class="comments">Vector of indices for the independent variables at descending derivative orders. </p>
<h6><code><span title="System.int">int</span></code> order</h6>
<p class="comments">Highest order of differentiation. </p>
<h6><code><span title="System.Nullable<double>">Nullable&lt;double&gt;</span></code> currentValue</h6>
<p class="comments">Current function value at center. </p>
</div>
<div class="return">
<h5>Return</h5>
<h6><code><span title="System.double">double</span></code></h6>
<p>Function mixed partial derivative at x of the specified order. </p>
</div>
</div>
</div>
<div id="EvaluateMixedPartialDerivative" class="method">
<h4><span title="System.Double[]">Double[]</span> <strong>EvaluateMixedPartialDerivative</strong>(<span title="System.Func`2[]">Func`2[]</span> f, <span title="System.Double[]">Double[]</span> x, <span title="System.Int32[]">Int32[]</span> parameterIndex, <span title="System.int">int</span> order, <span title="System.Nullable`1[]">Nullable`1[]</span> currentValue)</h4>
<div class="content">
</div>
</div>
<div id="EvaluatePartialDerivative" class="method">
<h4><span title="System.Double[]">Double[]</span> <strong>EvaluatePartialDerivative</strong>(<span title="System.Func`2[]">Func`2[]</span> f, <span title="System.Double[]">Double[]</span> x, <span title="System.int">int</span> parameterIndex, <span title="System.int">int</span> order, <span title="System.Nullable`1[]">Nullable`1[]</span> currentValue)</h4>
<div class="content">
</div>
</div>
<div id="EvaluatePartialDerivative" class="method">
<h4><span title="System.double">double</span> <strong>EvaluatePartialDerivative</strong>(<span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span> f, <span title="System.Double[]">Double[]</span> x, <span title="System.int">int</span> parameterIndex, <span title="System.int">int</span> order, <span title="System.Nullable<double>">Nullable&lt;double&gt;</span> currentValue)</h4>
<div class="content">Evaluates the partial derivative of a multivariate function.
<div class="parameters">
<h5>Parameters</h5>
<h6><code><span title="System.Func<Double[], double>">Func&lt;Double[], double&gt;</span></code> f</h6>
<p class="comments">Multivariate function handle. </p>
<h6><code><span title="System.Double[]">Double[]</span></code> x</h6>
<p class="comments">Vector at which to evaluate the derivative. </p>
<h6><code><span title="System.int">int</span></code> parameterIndex</h6>
<p class="comments">Index of independent variable for partial derivative. </p>
<h6><code><span title="System.int">int</span></code> order</h6>
<p class="comments">Derivative order. </p>
<h6><code><span title="System.Nullable<double>">Nullable&lt;double&gt;</span></code> currentValue</h6>
<p class="comments">Current function value at center. </p>
</div>
<div class="return">
<h5>Return</h5>
<h6><code><span title="System.double">double</span></code></h6>
<p>Function partial derivative at x of the specified order. </p>
</div>
</div>
</div>
<div id="GetHashCode" class="method">
<h4><span title="System.int">int</span> <strong>GetHashCode</strong>()</h4>
<div class="content">
</div>
</div>
<div id="GetType" class="method">
<h4><span title="System.Type">Type</span> <strong>GetType</strong>()</h4>
<div class="content">
</div>
</div>
<div id="ResetEvaluations" class="method">
<h4><span title="System.void">void</span> <strong>ResetEvaluations</strong>()</h4>
<div class="content">Resets the evaluation counter.
</div>
</div>
<div id="ToString" class="method">
<h4><span title="System.string">string</span> <strong>ToString</strong>()</h4>
<div class="content">
</div>
</div>
<h3 class="section">Public Properties</h3>
<div id="BaseStepSize" class="method">
<h4><span title="System.double">double</span> <strong>BaseStepSize</strong> get; set;</h4>
<div class="content">Sets and gets the base finite difference step size. This assigned value to this parameter is only used if <a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#StepType">StepType</a> is set to RelativeX.
However, if the StepType is Relative, it will contain the base step size computed from <a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#Epsilon">Epsilon</a> based on the finite difference order.
</div>
</div>
<div id="Center" class="method">
<h4><span title="System.int">int</span> <strong>Center</strong> get; set;</h4>
<div class="content">Sets and gets the location of the center point for the finite difference derivative.
</div>
</div>
<div id="Epsilon" class="method">
<h4><span title="System.double">double</span> <strong>Epsilon</strong> get; set;</h4>
<div class="content">Sets and gets the base finite difference step size. This parameter is only used if <a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#StepType">StepType</a> is set to Relative.
By default this is set to machine epsilon, from which <a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#BaseStepSize">BaseStepSize</a> is computed.
</div>
</div>
<div id="Evaluations" class="method">
<h4><span title="System.int">int</span> <strong>Evaluations</strong> get; set;</h4>
<div class="content">Number of times a function is evaluated for numerical derivatives.
</div>
</div>
<div id="StepSize" class="method">
<h4><span title="System.double">double</span> <strong>StepSize</strong> get; set;</h4>
<div class="content">Sets and gets the finite difference step size. This value is for each function evaluation if relative step size types are used.
If the base step size used in scaling is desired, see <a href="../MathNet.Numerics.Differentiation/NumericalDerivative.htm#Epsilon">Epsilon</a>. <blockquote class="remarks">
Setting then getting the StepSize may return a different value. This is not unusual since a user-defined step size is converted to a
base-2 representable number to improve finite difference accuracy.
</blockquote>
</div>
</div>
<div id="StepType" class="method">
<h4><a href="../MathNet.Numerics.Differentiation/StepType.htm">StepType</a> <strong>StepType</strong> get; set;</h4>
<div class="content">Type of step size for computing finite differences. If set to absolute, dx = h.
If set to relative, dx = (1+abs(x))*h^(2/(order+1)). This provides accurate results when
h is approximately equal to the square-root of machine accuracy, epsilon.
</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>