Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
?trnlspbc_solve
Solves a nonlinear least squares problem with linear (bound) constraints using the Trust-Region algorithm.
Syntax
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);
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
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.
Input Parameters
- handle
 -  
     
Type _TRNSPBC_HANDLE_t.
 - fvec
 -  
     
Array of size m. Contains the function values at X, where fvec[i] = (yi – fi(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.h include file.