FunctionMath.GetNumericalJacobian Method

Definition

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

Overload List

GetNumericalJacobian(Func<Vector<Double>, Double>[]) Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>) Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>, DifferencesDirection) Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>, DifferencesDirection, Vector<Double>) Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>, DifferencesDirection, Vector<Double>, Vector<Double>) Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>, DifferencesDirection, Vector<Double>, Vector<Double>, Vector<Double>) Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.

GetNumericalJacobian(Func<Vector<Double>, Double>[])

Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
C#
public static Func<Vector<double>, Matrix<double>?, Matrix<double>> GetNumericalJacobian(
	this Func<Vector<double>, double>[] functions
)

Parameters

functions  Func<Vector<Double>, Double>[]
An array of delegates that represent a multivariate function.

Return Value

Func<Vector<Double>, Matrix<Double>, Matrix<Double>>
A delegate that represents a multivariate function returning a matrix in its second argument.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Vector<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

Simple forward differences are used to compute the numerical derivatives.

GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>)

Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
C#
public static Func<Vector<double>, Matrix<double>?, Matrix<double>> GetNumericalJacobian(
	this Func<Vector<double>, Vector<double>?, Vector<double>> function
)

Parameters

function  Func<Vector<Double>, Vector<Double>, Vector<Double>>
A delegate that represents a multivariate function returning a vector in its second argument.

Return Value

Func<Vector<Double>, Matrix<Double>, Matrix<Double>>
A delegate that represents a multivariate function returning a matrix in its second argument.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Vector<Double>, Vector<Double>, Vector<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

Simple forward differences are used to compute the numerical derivatives.

GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>, DifferencesDirection)

Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
C#
public static Func<Vector<double>, Matrix<double>?, Matrix<double>> GetNumericalJacobian(
	this Func<Vector<double>, Vector<double>?, Vector<double>> function,
	DifferencesDirection differencingMethod
)

Parameters

function  Func<Vector<Double>, Vector<Double>, Vector<Double>>
A delegate that represents a multivariate function returning a vector in its second argument.
differencingMethod  DifferencesDirection
The type of divided differences used to approximate the derivative.

Return Value

Func<Vector<Double>, Matrix<Double>, Matrix<Double>>
A delegate that represents a multivariate function returning a matrix in its second argument.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Vector<Double>, Vector<Double>, Vector<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

Simple forward differences are used to compute the numerical derivatives.

GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>, DifferencesDirection, Vector<Double>)

Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
C#
public static Func<Vector<double>, Matrix<double>?, Matrix<double>> GetNumericalJacobian(
	this Func<Vector<double>, Vector<double>?, Vector<double>> function,
	DifferencesDirection differencingMethod,
	Vector<double>? scale
)

Parameters

function  Func<Vector<Double>, Vector<Double>, Vector<Double>>
A delegate that represents a multivariate function returning a vector in its second argument.
differencingMethod  DifferencesDirection
The type of divided differences used to approximate the derivative.
scale  Vector<Double>
A vector containing a scale factor for the step size for each argument.

Return Value

Func<Vector<Double>, Matrix<Double>, Matrix<Double>>
A delegate that represents a multivariate function returning a matrix in its second argument.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Vector<Double>, Vector<Double>, Vector<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

Simple forward differences are used to compute the numerical derivatives.

GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>, DifferencesDirection, Vector<Double>, Vector<Double>)

Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
C#
public static Func<Vector<double>, Matrix<double>?, Matrix<double>> GetNumericalJacobian(
	this Func<Vector<double>, Vector<double>?, Vector<double>> function,
	DifferencesDirection differencingMethod,
	Vector<double>? lowerBounds,
	Vector<double>? upperBounds
)

Parameters

function  Func<Vector<Double>, Vector<Double>, Vector<Double>>
A delegate that represents a multivariate function returning a vector in its second argument.
differencingMethod  DifferencesDirection
The type of divided differences used to approximate the derivative.
lowerBounds  Vector<Double>
A vector containing lower bounds for the arguments. The function will not be evaluated past these bounds. May be null.
upperBounds  Vector<Double>
A vector containing upper bounds for the arguments. The function will not be evaluated past these bounds. May be null.

Return Value

Func<Vector<Double>, Matrix<Double>, Matrix<Double>>
A delegate that represents a multivariate function returning a matrix in its second argument.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Vector<Double>, Vector<Double>, Vector<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

If bounds are provided, the function is never evaluated outside these bounds. An alternative differencing method may be used if the bounds would be violated.

GetNumericalJacobian(Func<Vector<Double>, Vector<Double>, Vector<Double>>, DifferencesDirection, Vector<Double>, Vector<Double>, Vector<Double>)

Returns a delegate that numerically evaluates the Jacobian of a multivariate vector function.
C#
public static Func<Vector<double>, Matrix<double>?, Matrix<double>> GetNumericalJacobian(
	this Func<Vector<double>, Vector<double>?, Vector<double>> function,
	DifferencesDirection differencingMethod,
	Vector<double>? lowerBounds,
	Vector<double>? upperBounds,
	Vector<double>? scale
)

Parameters

function  Func<Vector<Double>, Vector<Double>, Vector<Double>>
A delegate that represents a multivariate function returning a vector in its second argument.
differencingMethod  DifferencesDirection
The type of divided differences used to approximate the derivative.
lowerBounds  Vector<Double>
A vector containing lower bounds for the arguments. The function will not be evaluated past these bounds. May be null.
upperBounds  Vector<Double>
A vector containing upper bounds for the arguments. The function will not be evaluated past these bounds. May be null.
scale  Vector<Double>
A vector containing a scale factor for the step size for each argument.

Return Value

Func<Vector<Double>, Matrix<Double>, Matrix<Double>>
A delegate that represents a multivariate function returning a matrix in its second argument.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Func<Vector<Double>, Vector<Double>, Vector<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

If bounds are provided, the function is never evaluated outside these bounds. An alternative differencing method may be used if the bounds would be violated.

See Also