FunctionMath.Derivative Method

Definition

Namespace: Numerics.NET
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.4

Overload List

Derivative(Func<Double, Double>, Double) Returns an approximation to the derivative of a function.
Derivative(Func<Double, Double>, Double, DifferencesDirection) Returns an approximation to the derivative of a function.
Derivative(Func<Double, Double>, Double, Double) Returns an approximation to the derivative of a function.
Derivative(Func<Double, Double>, Double, DifferencesDirection, Int32) Returns an approximation to the derivative of a function.
Derivative(Func<Double, Double>, Double, Int32, DifferencesDirection, Int32, Boolean, Double, Double, Double) Returns an approximation to the derivative of the specified order of a function.

Derivative(Func<Double, Double>, Double)

Returns an approximation to the derivative of a function.
C#
public static double Derivative(
	this Func<double, double> targetFunction,
	double x
)

Parameters

targetFunction  Func<Double, Double>
A delegate that represents a function of one variable that specifies the function to differentiate.
x  Double
The point at which to evaluate the derivative.

Return Value

Double
A numerical approximation to the derivative of targetFunction at x.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Double, Double>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Exceptions

ArgumentNullException

targetFunction is null.

Derivative(Func<Double, Double>, Double, DifferencesDirection)

Returns an approximation to the derivative of a function.
C#
public static double Derivative(
	this Func<double, double> targetFunction,
	double x,
	DifferencesDirection direction
)

Parameters

targetFunction  Func<Double, Double>
A delegate that represents a function of one variable that specifies the function to differentiate.
x  Double
The point at which to evaluate the derivative.
direction  DifferencesDirection
A DifferencesDirection that specifies the interval to be used for differentiation.

Return Value

Double
A numerical approximation to the derivative of targetFunction at x.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Double, Double>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Remarks

This method is useful when the targetFunction is not defined or is discontinuous on either side of x.

If the function is badly behaved on the left, you can set direction to Forward, and the function will only be evaluated at x and to the right of x. Passing Forward causes the function to be evaluated at x and points to the left of x.

If the function is well-behaved on both sides, you should use Central, since that will, in general, yield better results. This is also the default when the direction parameter is omitted.

Exceptions

ArgumentNullException

targetFunction is null.

Derivative(Func<Double, Double>, Double, Double)

Returns an approximation to the derivative of a function.
C#
public static double Derivative(
	this Func<double, double> targetFunction,
	double x,
	out double error
)

Parameters

targetFunction  Func<Double, Double>
A delegate that represents a function of one variable that specifies the function to differentiate.
x  Double
The point at which to evaluate the derivative.
error  Double
On return, an estimate for the error in the derivative.

Return Value

Double
A numerical approximation to the derivative of targetFunction at x.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Double, Double>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Exceptions

ArgumentNullException

targetFunction is null.

Derivative(Func<Double, Double>, Double, DifferencesDirection, Int32)

Returns an approximation to the derivative of a function.
C#
public static double Derivative(
	this Func<double, double> targetFunction,
	double x,
	DifferencesDirection direction,
	out int evaluationsNeeded
)

Parameters

targetFunction  Func<Double, Double>
A delegate that represents a function of one variable that specifies the function to differentiate.
x  Double
The point at which to evaluate the derivative.
direction  DifferencesDirection
A DifferencesDirection that specifies the interval to be used for differentiation.
evaluationsNeeded  Int32
On exit, contains the number of function evaluations needed to evaluate the derivative.

Return Value

Double
A numerical approximation to the derivative of targetFunction at x.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Double, Double>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Remarks

This method is useful when the targetFunction is not defined or is discontinuous on either side of x.

If the function is badly behaved on the left, you can set direction to Forward, and the function will only be evaluated at x and to the right of x. Passing Forward causes the function to be evaluated at x and points to the left of x.

If the function is well-behaved on both sides, you should use Central, since that will, in general, yield better results. This is also the default when the direction parameter is omitted.

Exceptions

ArgumentNullException

targetFunction is null.

Derivative(Func<Double, Double>, Double, Int32, DifferencesDirection, Int32, Boolean, Double, Double, Double)

Returns an approximation to the derivative of the specified order of a function.
C#
public static double Derivative(
	this Func<double, double> targetFunction,
	double x,
	int order = 1,
	DifferencesDirection direction = DifferencesDirection.Central,
	int accuracyOrder = 2,
	bool adaptive = false,
	double xMin = -1.79769313486232E+308,
	double xMax = 1.79769313486232E+308,
	double noiseFactor = 10
)

Parameters

targetFunction  Func<Double, Double>
A delegate that represents a function of one variable that specifies the function to differentiate.
x  Double
The point at which to evaluate the derivative.
order  Int32  (Optional)
The order of the derivative.
direction  DifferencesDirection  (Optional)
Optional. The direction in which to compute the finite differences. The default is central differences.
accuracyOrder  Int32  (Optional)
Optional. The accuracy order of the finite difference method. The default is 2.
adaptive  Boolean  (Optional)
Optional. If true, the step size is computed based on the function values around the points where the function's derivative is requested. If false (the default), a default step size is used.
xMin  Double  (Optional)
Optional. The smallest value for which the function may be evaluated. The default is MinValue.
xMax  Double  (Optional)
Optional. The largest value for which the function may be evaluated. The default is MaxValue.
noiseFactor  Double  (Optional)
Optional. An estimate for the noise in the function values relative to the machine precision. The default is 10.

Return Value

Double
A numerical approximation to the derivative of targetFunction at x.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Double, Double>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Exceptions

ArgumentNullException

targetFunction is null.

ArgumentOutOfRangeException

order is less than zero.

-or-

accuracyOrder is less than one.

See Also