For QP problems, you must supply a version of qphx to compute the matrix product Hx. If H has zero rows and columns, it is most efficient to order the variables x=yzT so that
Hx=H1000yz=H1y0,
where the nonlinear variables y appear first as shown. For FP and LP problems, qphx will never be called by e04nk and hence qphx may be the dummy method E04NKU/E54NKU.

Syntax

C#
public delegate void E04NK_QPHX(
	int nstate,
	int ncolh,
	double[] x,
	double[] hx
)
Visual Basic
Public Delegate Sub E04NK_QPHX ( _
	nstate As Integer, _
	ncolh As Integer, _
	x As Double(), _
	hx As Double() _
)
Visual C++
public delegate void E04NK_QPHX(
	int nstate, 
	int ncolh, 
	array<double>^ x, 
	array<double>^ hx
)
F#
type E04NK_QPHX = 
    delegate of 
        nstate : int * 
        ncolh : int * 
        x : float[] * 
        hx : float[] -> unit

Parameters

nstate
Type: System..::..Int32
On entry: if nstate=1, e04nk is calling qphx for the first time. This parameter setting allows you to save computation time if certain data must be read or calculated only once.
If nstate2, e04nk is calling qphx for the last time. This parameter setting allows you to perform some additional computation on the final solution. In general, the last call to qphx is made with nstate=2+ifail (see []).
Otherwise, nstate=0.
ncolh
Type: System..::..Int32
On entry: this is the same parameter ncolh as supplied to e04nk.
x
Type: array<System..::..Double>[]()[][]
On entry: the first ncolh elements of the vector x.
hx
Type: array<System..::..Double>[]()[][]
On exit: the product Hx.

See Also