Intel® oneAPI Math Kernel Library Developer Reference - C
Solves a nonlinear least squares problem with linear (bound) constraints using the Trust-Region algorithm.
MKL_INT strnlspbc_solve (_TRNSPBC_HANDLE_t* handle, float* fvec, float* fjac, MKL_INT* RCI_Request);
MKL_INT dtrnlspbc_solve (_TRNSPBC_HANDLE_t* handle, double* fvec, double* fjac, MKL_INT* RCI_Request);
The ?trnlspbc_solve routine, based on RCI, uses the Trust-Region algorithm to solve nonlinear least squares problems with linear (bound) constraints. The problem is stated as follows:
where
li≤xi≤ui
i = 1, ..., n.
The RCI_Request parameter provides additional information:
RCI_Request Value |
Description |
---|---|
2 |
Request to calculate the Jacobian matrix and put the result into fjac |
1 |
Request to recalculate the function at vector X and put the result into fvec |
0 |
One successful iteration step on the current trust-region radius (that does not mean that the value of x has changed) |
-1 |
The algorithm has exceeded the maximum number of iterations |
-2 |
Δ < eps[0] |
-3 |
||F(x)||2 < eps[1] |
-4 |
The Jacobian matrix is singular. ||J(x)[m*(j-1)...m*j-1]||2 < eps[2], j = 1, ..., n |
-5 |
||s||2 < eps[3] |
-6 |
||F(x)||2 - ||F(x) - J(x)s||2 < |eps[4]| |
Note:
J(x) is the Jacobian matrix.
Δ is the trust-region area.
F(x) is the value of the functional.
s is the trial step.
Type _TRNSPBC_HANDLE_t.
Array of size m. Contains the function values at X, where fvec[i] = (yi – fi(x)).
Array of size m by n. Contains the Jacobian matrix of the function.
Array of size m. Updated function evaluated at x.
Informs about the task stage.
See the Description section for the parameter values and their meaning.
Informs about the task completion.
res = TR_SUCCESS means the routine completed the task normally.
TR_SUCCESS is defined in the mkl_rci.h include file.