Developer Reference

Contents

?trnlsp_solve

Solves a nonlinear least squares problem using the TR algorithm.

Syntax

MKL_INT
strnlsp_solve
(
_TRNSP_HANDLE_t
*
handle
,
float
*
fvec
,
float
*
fjac
,
MKL_INT
*
RCI_Request
);
MKL_INT
dtrnlsp_solve
(
_TRNSP_HANDLE_t
*
handle
,
double
*
fvec
,
double
*
fjac
,
MKL_INT
*
RCI_Request
);
Include Files
  • mkl.h
Description
The
?trnlsp_solve
routine uses the TR algorithm to solve nonlinear least squares problems.
The problem is stated as follows:
Equation
where
  • F
    (
    x
    ):
    R
    n
    R
    m
  • m
    n
From a current point
x
current
, the algorithm uses the trust-region approach:
Equation
to get
x
new
=
x
current
+
s
that satisfies
Equation
where
  • J
    (
    x
    )
    is the Jacobian matrix
  • s
    is the trial step
  • ||
    s
    ||
    2
    ≤ Δ
    current
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
[0]
-3
||
F
(
x
)||
2
<
eps
[1]
-4
The Jacobian matrix is singular.
||
J
(
x
)
[
m
*(
j
-1)...
m
*
j
-1]
||
2
<
eps
[2]
,
j
= 1, ...,
n
-5
||
s
||
2
<
eps
[3]
-6
||
F
(
x
)||
2
- ||
F
(
x
) -
J
(
x
)
s
||
2
<
eps
[4]
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
handle
Type
_TRNSP_HANDLE_t
.
fvec
Array of size
m
. Contains the function values at
X
, where
fvec
[
i
]
= (
y
i
f
i
(
x
))
.
fjac
Array of size
m
by
n
. Contains the Jacobian matrix of the function.
Output Parameters
fvec
Array of size
m
. Updated function evaluated at
x
.
RCI_Request
Informs about the task stage.
See the Description section for the parameter values and their meaning.
res
Indicates the task completion.
res
=
TR_SUCCESS
- the routine completed the task normally.
TR_SUCCESS
is defined in the
mkl_rci.h
include file.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804