ILNumerics Ultimate VS

Optimization.jacobian_fast Method

ILNumerics Ultimate VS Documentation
ILNumerics - Technical Application Development
Efficient numerical estimation of the jacobian matrix (forward finite differences).

[ILNumerics Optimization Toolbox]

Namespace:  ILNumerics.Toolboxes
Assembly:  ILNumerics.Toolboxes.Optimization (in ILNumerics.Toolboxes.Optimization.dll) Version: 5.5.0.0 (5.5.7503.3146)
Syntax

public static RetArray<double> jacobian_fast(
	Optimization.ObjectiveFunction<double> func,
	InArray<double> x,
	InArray<double> Fx = null
)

Parameters

func
Type: ILNumerics.Toolboxes.Optimization.ObjectiveFunction<Double>
Function to be evaluated
x
Type: ILNumerics.InArray<Double>
Vector giving the position of current evaluation
Fx (Optional)
Type: ILNumerics.InArray<Double>
[optional] Vector with results of the evaluation of the objective function

Return Value

Type: RetArray<Double>
Jacobian estimate, matrix of size func().Length by x.Length
Exceptions

ExceptionCondition
ArgumentNullException If x has a null component
ArgumentOutOfRangeException If f is not defined at x
Remarks

This algorithm computes a good estimate of the jacobian matrix, concentrating on speed rather than on exactness.

On empty input x, an empty array will be returned.

[ILNumerics Optimization Toolbox]

Examples

Find the minimizer for f(x) = sin(x) + cos(x); x,f in R3, start searching at (1,1,1), using levenberg marquardt algorithm. The jacobian_fast(Optimization.ObjectiveFunction<Double> , InArray<Double> , InArray<Double> ) jacobian estimate is used for computing the jacobian in each step:

Array<double> Minimizer = Optimization.optimlevm(x => sin(x) + cos(x), zeros<double>(3, 1), jacobianFunc: Optimization.jacobian_fast);

See Also

Reference

Other Resources