?trnlspbc_solve

Solves a nonlinear least squares problem with linear (bound) constraints using the Trust-Region algorithm.

Syntax

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

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 ?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:


Equation

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:

Input Parameters

handle

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

fvec

REAL for strnlspbc_solve

DOUBLE PRECISION for dtrnlspbc_solve

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

fjac

REAL for strnlspbc_solve

DOUBLE PRECISION for dtrnlspbc_solve

Array of size m by n. Contains the Jacobian matrix of the function.

Output Parameters

fvec

REAL for strnlspbc_solve

DOUBLE PRECISION for dtrnlspbc_solve

Array of size m. Updated function evaluated at x.

RCI_Request

INTEGER. Informs about the task stage.

See the Description section for the parameter values and their meaning.

res

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.


Submit feedback on this help topic

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