dfsaneacc {dfsaneacc} | R Documentation |
Accelerated derivative-free spectral residual method for nonlinear systems of equations
Description
Accelerated derivative-free algorithm to solve nonlinear systems of equations.
Usage
dfsaneacc(x, evalr, nhlim = 6, epsf = 1e-06, maxit = Inf, iprint = -1, ...)
Arguments
x |
initial estimate for the solution of the nonlinear system. |
evalr |
a function that computes the nonlinear system evaluated at a given point as parameter and return the evaluated value. See details below. |
nhlim |
an integer that determines how many previous iterates must be considered in the sequential secant acceleration step. The default is 6. |
epsf |
a real value determining the absolute convergence
tolerance. The default is |
maxit |
an integer determining the maximum number of
iterations. The default is |
iprint |
the output level. The default is |
... |
represents additional arguments that must be passed to |
Details
The function dfsaneacc
implements sequential residual methods
(La Cruz and Raydan 2003; La Cruz, Mart\'inez, and Raydan 2006) with
sequential secant acceleration approach proposed by Birgin and
Mart\'inez (2022).
Convergence of the algorithm is declared when \|F(x)\|_2^2 \leq
\mbox{epsf}^2
. The default value for epsf
is 1.0e-6
.
The algorithm employ the function evalr
to compute the value of
the nonlinear system at a given point x
. The function
evalr
must have the form evalr (x, ...)
.
The function has four output levels, based on the value of the input
parameter iprint
: iprint=-1
no output is generated,
iprint=0
means basic information at every iteration,
iprint=1
adds additional information related to the
backtracking strategy, and iprint=2
adds information related to
the computation of the acceleration step. Its default value is
iprint=-1
.
Value
A list with
x |
the final estimate to the solution. |
res |
the final nonlinear system value. |
normF |
the final nonlinear system value squared L2-norm. |
iter |
the total number of iterations. |
fcnt |
the total number of functional evaluations. |
istop |
an integer indicating the convergence type. Possible values
are |
Author(s)
Ernesto G. Birgin [aut, ctb], John L. Gardenghi [aut, cre, ctb, trl], Diaulas S. Marcondes [aut, ctb, trl], Jose M. Martinez [aut, ctb]
Maintainer: John L. Gardenghi <john.gardenghi@unb.br>
References
J. Barzilai, and J. M. Borwein (1988), Two-point step size gradient methods, IMA J Numerical Analysis, 8, 141-148.
E. G. Birgin, J. M. Mart\'inez (2022), Secant acceleration of sequential residual methods for solving large-scale nonlinear systems of equations, SIAM Journal on Numerical Analysis, 60(6), 3145-3180.
W. LaCruz, and M. Raydan (2003), Nonmonotone spectral methods for large-scale nonlinear systems, Optimization Methods and Software, 18, 583-599.
W. LaCruz, J. M. Mart\'inez, and M. Raydan (2006), Spectral residual method without gradient information for solving large-scale nonlinear systems of equations, Mathematics of Computation, 75, 1429-1448.
M. Raydan (1997), Barzilai-Borwein gradient method for large-scale unconstrained minimization problem, SIAM Journal on Optimization, 7, 26-33.
Examples
n <- 3
x0 <- rep(1/n^2, n)
expfun2 <- function(x) {
n <- length(x)
f <- rep(NA, n)
f[1] <- exp(x[1]) - 1.0
f[2:n] <- (2:n)/10.0 * (exp(x[2:n]) + x[1:n-1] - 1)
f
}
ret <- dfsaneacc(x=x0, evalr=expfun2, nhlim=6, epsf=1.0e-6*sqrt(n),
iprint=0)
ret