fnSphere <- function(x) sum(x * x)
grSphere <- function(x) 2*x
x0 <- c(1, 1)
d0 <- -grSphere(x0)
linesearch_ww(x0, d0, fnSphere, grSphere)
# $alpha 0.5
# $xalpha 0 0
# $falpha 0
# $galpha 0 0
# $fail 0
# $beta 0.5
# $gbeta 0 0
# $fevalrec 2 0
fnExtSphere <- function(x) sum((1:length(x)) * x * x)
grExtSphere <- function(x) 2 * (1:length(x)) * x
x0 <- c(1, 1)
d0 <- -grExtSphere(x0)
linesearch_sw(x0, d0, fnExtSphere, grExtSphere)
# $alpha 0.2777778
# $xalpha 0.4444444 -0.1111111
# $falpha 0.2222222
# $galpha 0.8888889 -0.4444444
# $fail 0
# $steps 1
Run the code above in your browser using DataLab