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, a parameter can be set to cause immediate termination.)

Syntax

C#
public delegate void E04YB_LSQHES(
	ref int iflag,
	int m,
	int n,
	double[] fvec,
	double[] xc,
	double[] b
)
Visual Basic
Public Delegate Sub E04YB_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 E04YB_LSQHES(
	int% iflag, 
	int m, 
	int n, 
	array<double>^ fvec, 
	array<double>^ xc, 
	array<double>^ b
)
F#
type E04YB_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, e04yb will terminate immediately, with ifail set to your setting of iflag.
m
Type: System..::..Int32
On entry: the numbers m of residuals.
n
Type: System..::..Int32
On entry: the numbers n 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 Bx, evaluated at the point in xc, stored by rows. (The upper triangle is not needed 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