E04.E04UC_OBJFUN Delegate
関数リスト一覧   NagLibrary Namespaceへ  ライブラリイントロダクション  本ヘルプドキュメントのchm形式版

objfun must calculate the objective function Fx and (optionally) its gradient gx = F x  for a specified n-vector x.

Syntax

C#
public delegate void E04UC_OBJFUN(
	ref int mode,
	int n,
	double[] x,
	ref double objf,
	double[] objgrd,
	int nstate
)
Visual Basic (Declaration)
Public Delegate Sub E04UC_OBJFUN ( _
	ByRef mode As Integer, _
	n As Integer, _
	x As Double(), _
	ByRef objf As Double, _
	objgrd As Double(), _
	nstate As Integer _
)
Visual C++
public delegate void E04UC_OBJFUN(
	int% mode, 
	int n, 
	array<double>^ x, 
	double% objf, 
	array<double>^ objgrd, 
	int nstate
)
F#
type E04UC_OBJFUN = 
    delegate of 
        mode:int byref * 
        n:int * 
        x:float[] * 
        objf:float byref * 
        objgrd:float[] * 
        nstate:int -> unit

Parameters

mode
Type: System..::.Int32 %
On entry: indicates which values must be assigned during each call of objfun. Only the following values need be assigned:
mode=0
objf.
mode=1
All available elements of objgrd.
mode=2
objf and all available elements of objgrd.
On exit: may be set to a negative value if you wish to terminate the solution to the current problem. In this case e04uc will terminate with ifail set to mode.
n
Type: System..::.Int32
On entry: n, the number of variables.
x
Type: array< System..::.Double >[]()[]
On entry: x, the vector of variables at which the objective function and/or all available elements of its gradient are to be evaluated.
objf
Type: System..::.Double %
On exit: if mode=0 or 2, objf must be set to the value of the objective function at x.
objgrd
Type: array< System..::.Double >[]()[]
On entry: the elements of objgrd are set to special values which enable e04uc to detect whether they are changed by objfun.
On exit: if mode=1 or 2, objgrd must return the available elements of the gradient evaluated at x.
nstate
Type: System..::.Int32
On entry: if nstate=1 then e04uc is calling objfun for the first time. This parameter setting allows you to save computation time if certain data must be read or calculated only once.

See Also