Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
Document Table of Contents

?trnlsp_init

Initializes the solver of a nonlinear least squares problem.

Syntax

res = strnlsp_init(handle, n, m, x, eps, iter1, iter2, rs)

res = dtrnlsp_init(handle, n, m, x, eps, iter1, iter2, rs)

Include Files

  • Fortran: mkl_rci.fi, mkl_rci.f90

Description

The ?trnlsp_init routine initializes the solver.

After initialization, all subsequent invocations of the ?trnlsp_solve routine should use the values of the handle returned by ?trnlsp_init. This handle stores internal data, including pointers to the arrays x and eps. It is important to not move or deallocate these arrays until after calling the ?trnlsp_delete routine.

The eps array contains a number indicating the stopping criteria:

eps Value

Description

1

Δ < eps(1)

2

||F(x)||2 < eps(2)

3

The Jacobian matrix is singular.

||J(x)(1:m,j)||2 < eps(3), j = 1, ..., n

4

||s||2 < eps(4)

5

||F(x)||2 - ||F(x) - J(x)s||2 < eps(5)

6

The trial step precision. If eps(6) = 0, then the trial step meets the required precision ( 1.0*10-10).

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

n

INTEGER. Length of x.

m

INTEGER. Length of F(x).

x

REAL for strnlsp_init

DOUBLE PRECISION for dtrnlsp_init

Array of size n. Initial guess. A reference to this array is stored in handle for later use and modification by ?trnlsp_solve

.

eps

REAL for strnlsp_init

DOUBLE PRECISION for dtrnlsp_init

Array of size 6; contains stopping criteria. See the values in the Description section.

A reference to this array is stored in handle for later use by ?trnlsp_solve

.

iter1

INTEGER. Specifies the maximum number of iterations.

iter2

INTEGER. Specifies the maximum number of iterations of trial step calculation.

rs

REAL for strnlsp_init

DOUBLE PRECISION for dtrnlsp_init

Definition of initial size of the trust region (boundary of the trial step). The recommend minimum value is 0.1, and the recommended maximum value is 100.0. Based on your knowledge of the objective function and initial guess you can increase or decrease the initial trust region. It can influence the iteration process, for example, the direction of the iteration process and the number of iterations. If you set rs to 0.0, the solver uses the default value, which is 100.0.

Output Parameters

handle

Type INTEGER*8.

res

INTEGER. Indicates task completion status.

  • res = TR_SUCCESS - the routine completed the task normally.

  • res = TR_INVALID_OPTION - there was an error in the input parameters.

  • res = TR_OUT_OF_MEMORY - there was a memory error.

TR_SUCCESS, TR_INVALID_OPTION, and TR_OUT_OF_MEMORY are defined in the mkl_rci.fi include file.

See Also