In general, you need not provide a version of qphess, because a ‘default’ method with name E04NFU/E54NFU is included in the Library. However, the algorithm of e04nf requires only the product of H or HTH and a vector x; and in some cases you may obtain increased efficiency by providing a version of qphess that avoids the need to define the elements of the matrices H or HTH explicitly.
qphess is not referenced if the problem is of type FP or LP, in which case qphess may be the method E04NFU/E54NFU.

Syntax

C#
public delegate void E04NF_QPHESS(
	int n,
	int jthcol,
	double[,] h,
	double[] x,
	double[] hx,
	E04..::..e04nfOptions options
)
Visual Basic
Public Delegate Sub E04NF_QPHESS ( _
	n As Integer, _
	jthcol As Integer, _
	h As Double(,), _
	x As Double(), _
	hx As Double(), _
	options As E04..::..e04nfOptions _
)
Visual C++
public delegate void E04NF_QPHESS(
	int n, 
	int jthcol, 
	array<double,2>^ h, 
	array<double>^ x, 
	array<double>^ hx, 
	E04..::..e04nfOptions^ options
)
F#
type E04NF_QPHESS = 
    delegate of 
        n : int * 
        jthcol : int * 
        h : float[,] * 
        x : float[] * 
        hx : float[] * 
        options : E04..::..e04nfOptions -> unit

Parameters

n
Type: System..::..Int32
On entry: this is the same parameter as supplied to this method. See the description for the top level parameter n.
jthcol
Type: System..::..Int32
On entry: specifies whether or not the vector x is a column of the identity matrix.
jthcol=j>0
The vector x is the jth column of the identity matrix, and hence Hx or HTHx is the jth column of H or HTH, respectively. This may in some cases require very little computation and qphess may be coded to take advantage of this. However special code is not necessary because x is always stored explicitly in the array x.
jthcol=0
x has no special form.
h
Type: array<System..::..Double,2>[,](,)[,][,]
On entry: this is the same parameter as supplied to this method. See the description for the top level parameter h.
x
Type: array<System..::..Double>[]()[][]
On entry: the vector x.
hx
Type: array<System..::..Double>[]()[][]
On exit: the product Hx if the problem is of type QP1 or QP2 (the default), or the product HTHx if the problem is of type QP3 or QP4.
options
Type: NagLibrary..::..E04..::..e04nfOptions

See Also