?trnlsp_solve

Solves a nonlinear least squares problem using the Trust-Region algorithm.

Syntax

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);

Include Files

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.

Description

The ?trnlsp_solve routine uses the Trust-Region algorithm to solve nonlinear least squares problems.

The problem is stated as follows:


Equation

where F(x):RnRm and mn. From a current point xcurrent, the algorithm uses the trust-region approach:


Equation

to get xnew = xcurrent + s that satisfies


Equation

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.

Input Parameters

handle

Type _TRNSP_HANDLE_t in C/C++ and INTEGER*8 in FORTRAN.

fvec

REAL for strnlsp_solve

DOUBLE PRECISION for dtrnlsp_solve

Array of size m. Contains the function values at X, where fvec(i) = (yifi (x)).

fjac

REAL for strnlsp_solve

DOUBLE PRECISION for dtrnlsp_solve

Array of size (m,n). Contains the Jacobi matrix of the function.

Output Parameters

fvec

REAL for strnlsp_solve

DOUBLE PRECISION for dtrnlsp_solve

Array of size m. Contains the updated function values at X.

RCI_Request

INTEGER. Informs about the task stage.

See Description for the other values of the parameter and their meaning.

res

INTEGER. Informs about the task completion.

res = TR_SUCCESS means the routine completed the task normally.


Submit feedback on this help topic

Copyright © 1994 - 2010, Intel Corporation. All rights reserved.