Solves a nonlinear least squares problem with linear (bound) constraints using the Trust-Region algorithm.
Fortran:
res = strnlspbc_solve(handle, fvec, fjac, RCI_Request)
res = dtrnlspbc_solve(handle, fvec, fjac, RCI_Request)
C:
res = strnlspbc_solve(&handle, fvec, fjac, &RCI_Request);
res = dtrnlspbc_solve(&handle, fvec, fjac, &RCI_Request);
The Fortran interfaces are specified in the mkl_rci.fi include file and the C interfaces are specified in the mkl_rci.h include file.
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(1) |
-3 |
||F(x)||2 < eps(2) |
-4 |
The Jacobian matrix is singular. ||J(x)(1:m,j)||2 < eps(3), j = 1, ..., n |
-5 |
||s||2 < eps(4) |
-6 |
||F(x)||2 - ||F(x) - J(x)s||2 < eps(5) |
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 in C/C++ and INTEGER*8 in FORTRAN.
REAL for strnlspbc_solve
DOUBLE PRECISION for dtrnlspbc_solve
Array of size m. Contains the function values at X, where fvec(i) = (yi – fi(x)).
REAL for strnlspbc_solve
DOUBLE PRECISION for dtrnlspbc_solve
Array of size m by n. Contains the Jacobian matrix of the function.
REAL for strnlspbc_solve
DOUBLE PRECISION for dtrnlspbc_solve
Array of size m. Updated function evaluated at x.
INTEGER. Informs about the task stage.
See the Description section for the parameter values and their meaning.
INTEGER. Informs about the task completion.
res = TR_SUCCESS means the routine completed the task normally.
TR_SUCCESS is defined in the mkl_rci.h and mkl_rci.fi include files.
Copyright © 1994 - 2011, Intel Corporation. All rights reserved.