TJacobianFunction Delegate

Source: Optimization.cs · Assembly: Dew.Math
MulticastDelegateTJacobianFunction

public delegate TJacobianFunction

Defines procedure for calculating the Jacobian matrix.

Jacobian matrix element (i,j) is defined as partial(Y(j))/partial(C(i)).

Examples

csharp
// Split banana function in two parts
private void BananaFun(TVec x, TVec f, double[] c, object[] o)
{
    f[0] = 100*Math387.IntPower(x[1]-Math387.IntPower(x[0],2),2);
    f[1] = Math387.IntPower(1-x[0],2);
}
// Jacobian is 2x2 matrix
private void BananaJac(TVec x, TVec f, TMtx Jac)
{
    Jac[0,0] = -400*(x[1]-Math387.IntPower(x[0],2))*x[0]; // partial(f0)/ partial(x0)
    Jac[0,1] = -2*(1-x[0]); // partial(f1)/ partial(x0)
    Jac[1,0] = 200*(x[1]-Math387.IntPower(x[0],2)); // partial(f0)/ partial(x1)
    Jac[1,1] = 0.0; // partial(f1)/ partial(x1)
}