Solves a nonlinear least squares problem using the Trust-Region algorithm.
Fortran:
res = strnlsp_solve(handle, fvec, fjac, RCI_Request)
res = dtrnlsp_solve(handle, fvec, fjac, RCI_Request)
C:
res = strnlsp_solve(&handle, fvec, fjac, &RCI_Request);
res = dtrnlsp_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 ?trnlsp_solve routine uses the Trust-Region algorithm to solve nonlinear least squares problems.
The problem is stated as follows:
where F(x):Rn → Rm and m ≥ n. From a current point xcurrent, the algorithm uses the trust-region approach:
to get xnew = xcurrent + s that satisfies
where J(x) is the Jacobi matrix, s is the trial step, and ||s||2 ≤ Δcurrent.
The RCI_Request parameter provides additional information:
RCI_Request= 2 indicates the requirement to calculate the Jacobian matrix and put the result into fjac.
RCI_Request= 1 indicates the requirement to recalculate the function at vector X and put the result into fvec.
RCI_Request= 0 indicates a successful iteration on a current trust-region radius but does not mean that the value of x has changed.
RCI_Request= -1 indicates that the algorithm has exceeded the maximum number of iterations.
RCI_Request= -2 indicates that Δ < eps(1)
RCI_Request= -3 indicates that ||F(x)||2 < eps(2)
RCI_Request= -4 indicates that the Jacobi matrix is singular. ||J(x)(1:m,j)||2 < eps(3), j = 1, ..., n
RCI_Request= -5 indicates that ||s||2 < eps(4)
RCI_Request= -6 indicates that ||F(x)||2 - ||F(x) - J(x)s||2 < eps(5),
where J(x) is the Jacobi matrix, Δ is the trust-region area, F(x) is the value of the functional, and s is the trial step.
Type _TRNSP_HANDLE_t in C/C++ and INTEGER*8 in FORTRAN.
REAL for strnlsp_solve
DOUBLE PRECISION for dtrnlsp_solve
Array of size m. Contains the function values at X, where fvec(i) = (yi – fi (x)).
REAL for strnlsp_solve
DOUBLE PRECISION for dtrnlsp_solve
Array of size (m,n). Contains the Jacobi matrix of the function.
REAL for strnlsp_solve
DOUBLE PRECISION for dtrnlsp_solve
Array of size m. Contains the updated function values at X.
INTEGER. Informs about the task stage.
See Description for the other values of the parameter and their meaning.
INTEGER. Informs about the task completion.
res = TR_SUCCESS means the routine completed the task normally.
Copyright © 1994 - 2010, Intel Corporation. All rights reserved.