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

Syntax

C#
public delegate void E04KD_FUNCT(
	ref int iflag,
	int n,
	double[] xc,
	ref double fc,
	double[] gc
)
Visual Basic
Public Delegate Sub E04KD_FUNCT ( _
	ByRef iflag As Integer, _
	n As Integer, _
	xc As Double(), _
	ByRef fc As Double, _
	gc As Double() _
)
Visual C++
public delegate void E04KD_FUNCT(
	int% iflag, 
	int n, 
	array<double>^ xc, 
	double% fc, 
	array<double>^ gc
)
F#
type E04KD_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 1 or 2. The value 1 indicates that only the first derivatives of F need be supplied, and the value 2 indicates that both F itself and its first derivatives must be calculated.
On exit: if it is not possible to evaluate F or its first derivatives at the point given in xc (or if it is wished to stop the calculations for any other reason) you should reset iflag to a negative number and return control to e04kd. e04kd 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 the Fxj, or F and the Fxj, are required.
fc
Type: System..::..Double%
On exit: unless iflag=1 on entry or 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 funct resets iflag, it must set gc[j-1] to the value of the first derivative Fxj at the point x, for j=1,2,,n.

See Also