Depending upon the value of iflag, fcn must either return the values of the functions fi at a point x or return the Jacobian at x.

Syntax

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

Parameters

n
Type: System..::..Int32
On entry: n, the number of equations.
x
Type: array<System..::..Double>[]()[][]
On entry: the components of the point x at which the functions or the Jacobian must be evaluated.
fvec
Type: array<System..::..Double>[]()[][]
On entry: if iflag=0 or 2, fvec contains the function values fix and must not be changed.
On exit: if iflag=1 on entry, fvec must contain the function values fix (unless iflag is set to a negative value by fcn).
fjac
Type: array<System..::..Double,2>[,](,)[,][,]
On entry: if iflag=0, fjac[i-1,j-1] contains the value of fixj at the point x, for i=1,2,,n and j=1,2,,n. When iflag=0 or 1, fjac must not be changed.
On exit: if iflag=2 on entry, fjac[i-1,j-1] must contain the value of fixj at the point x, for i=1,2,,n and j=1,2,,n, (unless iflag is set to a negative value by fcn).
iflag
Type: System..::..Int32%
On entry: iflag=0, 1 or 2.
iflag=0
x, fvec and fjac are available for printing (see nprint).
iflag=1
fvec is to be updated.
iflag=2
fjac is to be updated.
On exit: in general, iflag should not be reset by fcn. If, however, you wish to terminate execution (perhaps because some illegal point x has been reached), then iflag should be set to a negative integer value.

See Also