Auxiliary for use as a delegate parameter
Syntax
C# |
---|
public static void e04udm( ref int mode, int ncnln, int n, int[] needc, double[] x, double[] c, double[,] cjac, int nstate ) |
Visual Basic |
---|
Public Shared Sub e04udm ( _ ByRef mode As Integer, _ ncnln As Integer, _ n As Integer, _ needc As Integer(), _ x As Double(), _ c As Double(), _ cjac As Double(,), _ nstate As Integer _ ) |
Visual C++ |
---|
public: static void e04udm( int% mode, int ncnln, int n, array<int>^ needc, array<double>^ x, array<double>^ c, array<double,2>^ cjac, int nstate ) |
F# |
---|
static member e04udm : mode : int byref * ncnln : int * n : int * needc : int[] * x : float[] * c : float[] * cjac : float[,] * nstate : int -> unit |
Parameters
- mode
- Type: System..::..Int32%On entry: indicates which values must be assigned during each call of _confun. Only the following values need be assigned, for each value of such that :
- ncnln
- Type: System..::..Int32On entry: , the number of nonlinear constraints.
- n
- Type: System..::..Int32On entry: , the number of variables.
- needc
- Type: array<System..::..Int32>[]()[][]An array of size [ncnln]
- x
- Type: array<System..::..Double>[]()[][]An array of size [n]On entry: , the vector of variables at which the constraint functions and/or the available elements of the constraint Jacobian are to be evaluated.
- c
- Type: array<System..::..Double>[]()[][]An array of size [ncnln]
- cjac
- Type: array<System..::..Double,2>[,](,)[,][,]An array of size [dim1, n]Note: dim1 must satisfy the constraint:On entry: unless or , the elements of cjac are set to special values which enable e04ud to detect whether they are changed by _confun.On exit: if and or , the th row of cjac must contain the available elements of the vector given bywhere is the partial derivative of the th constraint with respect to the th variable, evaluated at the point . See also the parameter confun_nstate. The remaining rows of cjac, corresponding to non-positive elements of needc, are ignored.If all elements of the constraint Jacobian are known (i.e., or ), any constant elements may be assigned to cjac one time only at the start of the optimization. An element of cjac that is not subsequently assigned in _confun will retain its initial value throughout. Constant elements may be loaded into cjac either before the call to e04ud or during the first call to _confun (signalled by the value ). The ability to preload constants is useful when many Jacobian elements are identically zero, in which case cjac may be initialized to zero and nonzero elements may be reset by _confun.Note that constant nonzero elements do affect the values of the constraints. Thus, if is set to a constant value, it need not be reset in subsequent calls to _confun, but the value must nonetheless be added to . For example, if and then the term must be included in the definition of .It must be emphasized that, if or , unassigned elements of cjac are not treated as constant; they are estimated by finite differences, at nontrivial expense. If you do not supply a value for the optional parameter optparam_differenceinterval, an interval for each element of is computed automatically at the start of the optimization. The automatic procedure can usually identify constant elements of cjac, which are then computed once only by finite differences.
- nstate
- Type: System..::..Int32On entry: if then e04ud is calling _confun for the first time. This parameter setting allows you to save computation time if certain data must be read or calculated only once.
Description
Auxiliary for use as a delegate parameter
References
None.
Error Indicators and Warnings
None.
Accuracy
Not applicable.
Further Comments
None.
Example
None.