Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?trnlspbc_solve

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

Syntax

res
=
strnlspbc_solve
(
handle
,
fvec
,
fjac
,
RCI_Request
)
res
=
dtrnlspbc_solve
(
handle
,
fvec
,
fjac
,
RCI_Request
)
Include Files
  • Fortran:
    mkl_rci.fi
    ,
    mkl_rci.f90
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
l
i
x
i
u
i
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:
  • 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
INTEGER*8
.
fvec
REAL
for
strnlspbc_solve
DOUBLE PRECISION
for
dtrnlspbc_solve
Array of size
m
. Contains the function values at
X
, where
fvec
(
i
)
= (
y
i
f
i
(
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