Developer Reference for Intel® oneAPI Math Kernel Library for C
?trnlspbc_solve
Solves a nonlinear least squares problem with linear (bound) constraints using the Trust-Region algorithm.
Syntax
MKL_INTstrnlspbc_solve ( _TRNSPBC_HANDLE_t*handle , float*fvec , float*fjac , MKL_INT*RCI_Request );
MKL_INTdtrnlspbc_solve ( _TRNSPBC_HANDLE_t*handle , double*fvec , double*fjac , MKL_INT*RCI_Request );
Include Files
mkl.h
Description
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
l_{i}≤x_{i}≤u_{i}
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(1)[0] |
-3 |
||F(x)||_{2} < eps(2)[1] |
-4 |
The Jacobian matrix is singular. ||J(x)(1:m,j)[m*(j-1)…m*j-1]||2 :code:` < ` eps(3)[2], j = 1, ..., n |
-5 |
||s||_{2} < eps(4)[3] |
-6 |
||F(x)||_{2} - ||F(x) - J(x)s||_{2} < |eps(5)[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.
Input Parameters
handle
Type _TRNSPBC_HANDLE_t .
fvec
Array of size m . Contains the function values at X , where fvec(i)[i]= (y_{i} – f_{i}(x)) .
fjac
Array of size m by n . Contains the Jacobian matrix of the function.
Output Parameters
fvec
Array of size m . Updated function evaluated at x .
RCI_Request
Informs about the task stage.
See the Description section for the parameter values and their meaning.
res
Informs about the task completion.
res = TR_SUCCESS means the routine completed the task normally.
TR_SUCCESS is defined in the mkl_rci.hmkl_rci.fi include file.