CRAN Package Check Results for Package nleqslv

Last updated on 2024-03-28 17:49:35 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 3.3.5 9.66 33.40 43.06 OK
r-devel-linux-x86_64-debian-gcc 3.3.5 5.01 26.49 31.50 OK
r-devel-linux-x86_64-fedora-clang 3.3.5 54.30 OK
r-devel-linux-x86_64-fedora-gcc 3.3.5 52.24 OK
r-devel-windows-x86_64 3.3.5 16.00 996.00 1012.00 ERROR
r-patched-linux-x86_64 3.3.5 6.88 33.98 40.86 OK
r-release-linux-x86_64 3.3.5 6.21 33.43 39.64 OK
r-release-macos-arm64 3.3.5 30.00 OK
r-release-macos-x86_64 3.3.5 60.00 OK
r-release-windows-x86_64 3.3.5 20.00 55.00 75.00 OK
r-oldrel-macos-arm64 3.3.5 34.00 OK
r-oldrel-windows-x86_64 3.3.5 19.00 57.00 76.00 OK

Check Details

Version: 3.3.5
Check: tests
Result: ERROR Running 'brdban.R' [0s] Comparing 'brdban.Rout' to 'brdban.Rout.save' ... OK Running 'brdbanded.R' [0s] Comparing 'brdbanded.Rout' to 'brdbanded.Rout.save' ... OK Running 'brdtri.R' [0s] Comparing 'brdtri.Rout' to 'brdtri.Rout.save' ... OK Running 'brdtrijac.R' [0s] Comparing 'brdtrijac.Rout' to 'brdtrijac.Rout.save' ... OK Running 'chquad.R' [0s] Comparing 'chquad.Rout' to 'chquad.Rout.save' ... OK Running 'control-try.R' [169s] Running 'dslnex.R' [153s] Running 'dslnexCN.R' [168s] Running 'dslnexHook.R' [0s] Comparing 'dslnexHook.Rout' to 'dslnexHook.Rout.save' ... OK Running 'dslnexauto.R' [0s] Comparing 'dslnexauto.Rout' to 'dslnexauto.Rout.save' ... OK Running 'dslnexjacout.R' [0s] Comparing 'dslnexjacout.Rout' to 'dslnexjacout.Rout.save' ... OK Running 'dslnexscaled.R' [0s] Comparing 'dslnexscaled.Rout' to 'dslnexscaled.Rout.save' ... OK Running 'singular1.R' [0s] Comparing 'singular1.Rout' to 'singular1.Rout.save' ... OK Running 'singular2.R' [0s] Comparing 'singular2.Rout' to 'singular2.Rout.save' ... OK Running 'singular3.R' [0s] Comparing 'singular3.Rout' to 'singular3.Rout.save' ... OK Running 'trig.R' [150s] Running 'tscalargrad.R' [0s] Comparing 'tscalargrad.Rout' to 'tscalargrad.Rout.save' ... OK Running 'xcutlip1p2.R' [157s] Running 'xnames.R' [0s] Comparing 'xnames.Rout' to 'xnames.Rout.save' ... OK Running 'xsearchzeros.R' [0s] Comparing 'xsearchzeros.Rout' to 'xsearchzeros.Rout.save' ... OK Running 'xtestnslv.R' [152s] Running the tests in 'tests/control-try.R' failed. Complete output: > > library(nleqslv) > > # Dennis Schnabel example 6.5.1 page 149 > f <- function(x) { + y <- numeric(2) + y[1] <- x[1]^2 + x[2]^2 - 2 + y[2] <- exp(x[1]-1) + x[2]^3 - 2 + y + } > > # check error handling in control argument > try(nleqslv(f,control=list(1e-3))) Error in nleqslv(f, control = list(0.001)) : 'control' argument must be a named list > try(nleqslv(f,control=list(f=1e-3))) Error in nleqslv(f, control = list(f = 0.001)) : unknown names in control: 'f' > try(nleqslv(f,control=list(f=1e-7,b=1e-3))) Error in nleqslv(f, control = list(f = 1e-07, b = 0.001)) : unknown names in control: 'f', 'b' > > proc.time() user system elapsed 0.17 0.04 0.20 Running the tests in 'tests/dslnex.R' failed. Complete output: > > library("nleqslv") > > # Dennis & Schnabel,1996,"Numerical methods for unconstrained optimization and nonlinear equations", SIAM > # example 6.5.1 page 149 > > dslnex <- function(x) { + y <- numeric(2) + y[1] <- x[1]^2 + x[2]^2 - 2 + y[2] <- exp(x[1]-1) + x[2]^3 - 2 + y + } > > jacdsln <- function(x) { + n <- length(x) + Df <- matrix(numeric(n*n),n,n) + Df[1,1] <- 2*x[1] + Df[1,2] <- 2*x[2] + Df[2,1] <- exp(x[1]-1) + Df[2,2] <- 3*x[2]^2 + + Df + } > > xstart <- c(2,0.5) > fstart <- dslnex(xstart) > xstart [1] 2.0 0.5 > fstart [1] 2.2500000 0.8432818 > > # a solution is c(1,1) > > do.print.xf <- FALSE > > print.result <- function(z) { + if( do.print.xf ) { + print(z$x) + print(z$fvec) + } + print(z$message) + print(all(abs(z$fvec)<=1e-8)) + } > > # Broyden numerical Jacobian > for( z in c("cline", "qline", "gline") ) { # cubic, quadratic, geometric linesearch + znlq <- nleqslv(xstart, dslnex, global=z,control=list(btol=.01)) + print.result(znlq) + } [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE > > # Broyden numerical Jacobian > for( z in c("dbldog","pwldog") ) { # double dogleg, Powell (single) dogleg + for( delta in c(-1.0, -2.0) ) { # Cauchy step , Newton step + znlq <- nleqslv(xstart, dslnex, global=z, control=list(btol=.01,delta=delta)) + print.result(znlq) + } + } [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE > > # Broyden analytical jacobian > for( z in c("dbldog","pwldog") ) { # double dogleg, Powell (single) dogleg + for( delta in c(-1.0, -2.0) ) { # Cauchy step , Newton step + znlq <- nleqslv(xstart, dslnex, jacdsln, global=z, control=list(btol=.01,delta=delta)) + print.result(znlq) + } + } [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE > > # Newton analytical jacobian > for( z in c("dbldog","pwldog") ) { # double dogleg, Powell (single) dogleg + for( delta in c(-1.0, -2.0) ) { # Cauchy step , Newton step + znlq <- nleqslv(xstart, dslnex, jacdsln, method="Newton", global=z, control=list(btol=.01,delta=delta)) + print.result(znlq) + } + } [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE [1] "Function criterion near zero" [1] TRUE > > proc.time() user system elapsed 0.21 0.07 0.28 Running the tests in 'tests/dslnexCN.R' failed. Complete output: > > library("nleqslv") > > # Dennis & Schnabel,1996,"Numerical methods for unconstrained optimization and nonlinear equations", SIAM > # example 6.5.1 page 149 > > dslnex <- function(x) { + y <- numeric(2) + y[1] <- x[1]^2 + x[2]^2 - 2 + y[2] <- exp(x[1]-1) + x[2]^3 - 2 + y + } > > > xstart <- c(2,0.5) > fstart <- dslnex(xstart) > xstart [1] 2.0 0.5 > fstart [1] 2.2500000 0.8432818 > > do.print.xf <- TRUE > > print.result <- function(z) { + if( do.print.xf ) { + print(z$x) + print(z$fvec) + } + print(z$message) + print(all(abs(z$fvec)<=1e-8)) + } > > sink("dslnexCN-num.txt") > for( z in c("dbldog","pwldog") ) { # double dogleg, Powell (single) dogleg + for( delta in c(-1.0, -2.0) ) { # Cauchy step , Newton step + znlq <- nleqslv(xstart, dslnex, global=z, control=list(btol=.01,delta=delta, trace=1)) + print.result(znlq) + } + } > sink() > > sink("dslnexCN-char.txt") > for( z in c("dbldog","pwldog") ) { # double dogleg, Powell (single) dogleg + for( delta in c("cauchy", "newton") ) { # Cauchy step , Newton step + znlq <- nleqslv(xstart, dslnex, global=z, control=list(btol=.01,delta=delta,trace=1)) + print.result(znlq) + } + } > sink() > > z1 <- readLines(con="dslnexCN-num.txt") > z2 <- readLines(con="dslnexCN-char.txt") > > all.equal(z1,z2) [1] TRUE > > proc.time() user system elapsed 0.21 0.09 0.29 Running the tests in 'tests/trig.R' failed. Complete output: > > library("nleqslv") > > # Trigonometric function > trig <- function(x) { + n <- length(x) + y <- cos(x) + s <- sum(y) + y <- n - s + c(1:n) * (1-y) - sin(x) + + y + } > > trigjac <- function(x) { + n <- length(x) + J <- matrix(numeric(n*n),n,n) + + for (p in 1:n) { + J[,p] <- sin(x[p]) + J[p,p] <- (p+1) * sin(x[p]) - cos(x[p]) + } + + J + } > > do.print.xf <- FALSE > > print.result <- function(z) { + if( do.print.xf ) { + print(z$x) + print(z$fvec) + } + print(z$message) + print(all(abs(z$fvec)<=1e-8)) + } > > n <- 10 > xstart <- rep(1,n)/n > fstart <- trig(xstart) > > znlm <- nleqslv(xstart, trig, global="dbldog", control=list(trace=0)) > print.result(znlm) [1] "Function criterion near zero" [1] TRUE > > proc.time() user system elapsed 0.15 0.07 0.21 Running the tests in 'tests/xcutlip1p2.R' failed. Complete output: > # Steady-State solution for reaction rate equations > # Shacham homotopy method (discrete changing of one or more parameters) > # M. Shacham: Numerical Solution of Constrained Non-linear algebriac equations > # International Journal for Numerical Methods in Engineering, 1986, pp.1455--1481. > > # solution should always be > 0 > > library(nleqslv) > > RNGkind(kind="Wichmann-Hill") > set.seed(123) > > # Problem 2, page 1463/1464 > > cutlip <- function(x) { + # paper has wrong order of parameters + # use the Fortran program to get the correct values + + # parameter set 2 + k1 <- 17.721 + k2 <- 3.483 + k3 <- 505.051 + kr1<- 0.118 + kr2<- 0.033 + + r <- numeric(6) + + r[1] = 1 - x[1] - k1*x[1]*x[6] + kr1 * x[4] + r[2] = 1 - x[2] - k2*x[2]*x[6] + kr2 * x[5] + r[3] = -x[3] + 2*k3*x[4]*x[5] + r[4] = k1*x[1]*x[6] - kr1*x[4] - k3*x[4]*x[5] + r[5] = 1.5*(k2*x[2]*x[6] - kr2*x[5]) - k3*x[4]*x[5] + r[6] = 1 - x[4] - x[5] - x[6] + + r + } > > > Nrep <- 50 > xstart <- matrix(0,nrow=Nrep, ncol=6) > xstart[,1] <- runif(Nrep,min=0,max=2) > xstart[,2] <- runif(Nrep,min=0,max=1) > xstart[,3] <- runif(Nrep,min=0,max=2) > xstart[,4] <- runif(Nrep,min=0,max=1) > xstart[,5] <- runif(Nrep,min=0,max=1) > xstart[,6] <- runif(Nrep,min=0,max=1) > > ans <- searchZeros(xstart,cutlip, method="Broyden",global="dbldog") > nrow(ans$x)==4 [1] TRUE > all(ans$xfnorm <= 1e-10) [1] TRUE > > zans <- searchZeros(ans$xstart,cutlip, method="Broyden",global="dbldog") > length(zans$idxcvg)==4 [1] TRUE > all(ans$xfnorm == zans$xfnorm) [1] TRUE > > proc.time() user system elapsed 0.20 0.09 0.28 Running the tests in 'tests/xtestnslv.R' failed. Complete output: > > library(nleqslv) > > # function to replace small number with OK or if not with NZ > # this is to avoid differences in the Fnorm column between machines/cpu/os/compilers > > # the test is for checking that testnslv (still) works as expected > > fixsmall <- function(x) { + z <- ifelse(x < .Machine$double.eps^(2/3), "OK","NZ") + z <- ifelse(is.na(z), "NA", z) + z + } > > dslnex <- function(x) { + y <- numeric(2) + y[1] <- x[1]^2 + x[2]^2 - 2 + y[2] <- exp(x[1]-1) + x[2]^3 - 2 + y + } > xstart <- c(0.5,0.5) > fstart <- dslnex(xstart) > z <- testnslv(xstart,dslnex) > zfn <- z$out[,"Fnorm"] > z$out[,"Fnorm"] <- fixsmall(zfn) > z Call: testnslv(x = xstart, fn = dslnex) Results: Method Global termcd Fcnt Jcnt Iter Message Fnorm 1 Newton cline 1 7 6 6 Fcrit OK 2 Newton qline 1 7 6 6 Fcrit OK 3 Newton gline 1 9 5 5 Fcrit OK 4 Newton pwldog 1 7 6 6 Fcrit OK 5 Newton dbldog 1 7 6 6 Fcrit OK 6 Newton hook 1 7 6 6 Fcrit OK 7 Newton none 1 8 8 8 Fcrit OK 8 Broyden cline 1 12 1 9 Fcrit OK 9 Broyden qline 1 12 1 9 Fcrit OK 10 Broyden gline 1 14 1 10 Fcrit OK 11 Broyden pwldog 1 12 1 10 Fcrit OK 12 Broyden dbldog 1 12 1 10 Fcrit OK 13 Broyden hook 1 12 1 10 Fcrit OK 14 Broyden none 1 13 1 13 Fcrit OK > > # this will encounter an error > xstart <- c(2.0,0.5) > fstart <- dslnex(xstart) > z <- testnslv(xstart,dslnex) Error (method=Newton global=none): non-finite value(s) detected in jacobian (row=2,col=1) > zfn <- z$out[,"Fnorm"] > z$out[,"Fnorm"] <- fixsmall(zfn) > z Call: testnslv(x = xstart, fn = dslnex) Results: Method Global termcd Fcnt Jcnt Iter Message Fnorm 1 Newton cline 1 11 7 7 Fcrit OK 2 Newton qline 1 10 7 7 Fcrit OK 3 Newton gline 1 17 7 7 Fcrit OK 4 Newton pwldog 1 6 5 5 Fcrit OK 5 Newton dbldog 1 6 5 5 Fcrit OK 6 Newton hook 1 11 7 7 Fcrit OK 7 Newton none NA NA NA NA ERROR NA 8 Broyden cline 1 17 1 11 Fcrit OK 9 Broyden qline 1 18 1 13 Fcrit OK 10 Broyden gline 1 25 1 11 Fcrit OK 11 Broyden pwldog 1 12 1 10 Fcrit OK 12 Broyden dbldog 1 12 1 10 Fcrit OK 13 Broyden hook 1 16 1 12 Fcrit OK 14 Broyden none 4 20 1 20 Maxiter NZ > > proc.time() user system elapsed 0.25 0.09 0.28 Flavor: r-devel-windows-x86_64