SymbolicMath.GetJacobian Method

Definition

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23

Overload List

GetJacobian(Expression<Func<Vector<Double>, Double>>[]) Returns a delegate that evaluates the Jacobian of a multivariate vector function.
GetJacobian(IEnumerable<Expression<Func<Vector<Double>, Double>>>) Returns a delegate that symbolically evaluates the Jacobian of a collection of multivariate function.

GetJacobian(Expression<Func<Vector<Double>, Double>>[])

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

Parameters

functions  Expression<Func<Vector<Double>, Double>>[]
An array of lambda expressions 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.

Remarks

The partial derivatives are calculated symbolically from the supplied lambda expressions. The expressions must not contain loops or blocks. If functions are encountered for which no symbolic derivative is available, a numerical approximation is used.

GetJacobian(IEnumerable<Expression<Func<Vector<Double>, Double>>>)

Returns a delegate that symbolically evaluates the Jacobian of a collection of multivariate function.
C#
public static Func<Vector<double>, Matrix<double>, Matrix<double>> GetJacobian(
	IEnumerable<Expression<Func<Vector<double>, double>>> functions
)

Parameters

functions  IEnumerable<Expression<Func<Vector<Double>, Double>>>
A sequence of lambda expressions 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.

Remarks

The partial derivatives are calculated symbolically from the supplied lambda expressions. The expressions must not contain loops or blocks. If functions are encountered for which no symbolic derivative is available, a numerical approximation is used.

See Also