funct must evaluate the function Fx and its first derivatives Fxj at any point x. (However, if you do not wish to calculate Fx or its first derivatives at a particular x, there is the option of setting a parameter to cause e04lb to terminate immediately.)

Syntax

C#
public delegate void E04LB_FUNCT(
	ref int iflag,
	int n,
	double[] xc,
	ref double fc,
	double[] gc
)
Visual Basic
Public Delegate Sub E04LB_FUNCT ( _
	ByRef iflag As Integer, _
	n As Integer, _
	xc As Double(), _
	ByRef fc As Double, _
	gc As Double() _
)
Visual C++
public delegate void E04LB_FUNCT(
	int% iflag, 
	int n, 
	array<double>^ xc, 
	double% fc, 
	array<double>^ gc
)
F#
type E04LB_FUNCT = 
    delegate of 
        iflag : int byref * 
        n : int * 
        xc : float[] * 
        fc : float byref * 
        gc : float[] -> unit

Parameters

iflag
Type: System..::..Int32%
On entry: will have been set to 2.
On exit: if it is not possible to evaluate Fx or its first derivatives at the point x given in xc (or if it is wished to stop the calculation for any other reason) you should reset iflag to some negative number and return control to e04lb. e04lb will then terminate immediately with ifail set to your setting of iflag.
n
Type: System..::..Int32
On entry: the number n of variables.
xc
Type: array<System..::..Double>[]()[][]
On entry: the point x at which F and the Fxj are required.
fc
Type: System..::..Double%
On exit: unless iflag is reset, funct must set fc to the value of the objective function F at the current point x.
gc
Type: array<System..::..Double>[]()[][]
On exit: unless iflag is reset, funct must set gc[j-1] to the value of the first derivative Fxj at the point x, for j=1,2,,n.

See Also