lsqhes must calculate the elements of the symmetric matrix
Bx=i=1mfixGix,
at any point x, where Gix is the Hessian matrix of fix. (As with lsqfun, there is the option of causing e04he to terminate immediately.)

Syntax

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

Parameters

iflag
Type: System..::..Int32%
On entry: is set to a non-negative number.
On exit: if lsqhes resets iflag to some negative number, e04he will terminate immediately, with ifail set to your setting of iflag.
m
Type: System..::..Int32
On entry: m, the numbers of residuals.
n
Type: System..::..Int32
On entry: n, the numbers of variables.
fvec
Type: array<System..::..Double>[]()[][]
On entry: the value of the residual fi at the point x, for i=1,2,,m, so that the values of the fi can be used in the calculation of the elements of b.
xc
Type: array<System..::..Double>[]()[][]
On entry: the point x at which the elements of b are to be evaluated.
b
Type: array<System..::..Double>[]()[][]
On exit: unless iflag is reset to a negative number, b must contain the lower triangle of the matrix b[x-1], evaluated at the point x, stored by rows. (The upper triangle is not required because the matrix is symmetric.) More precisely, b[jj-1/2+k-1] must contain i=1mfi2fixjxk evaluated at the point x, for j=1,2,,n and k=1,2,,j.

See Also