https://github.com/cran/nleqslv
Tip revision: b291c257929a6544b37be66339a91c35b2479479 authored by Berend Hasselman on 21 April 2009, 00:00:00 UTC
version 1.4
version 1.4
Tip revision: b291c25
brdban.Rout.save
R version 2.8.1 (2008-12-22)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> # Broyden banded function
>
> library("nleqslv")
>
> brdban <- function(x) {
+ ml <- 5
+ mu <- 1
+ n <- length(x)
+ y <- numeric(n)
+
+ for( k in 1:n ) {
+
+ k1 <- max(1, k - ml)
+ k2 <- min(n, k + mu)
+
+ temp = 0.0
+ for(j in k1:k2) {
+ if ( j != k ) {
+ temp <- temp + x[j] * (1.0 + x[j])
+ }
+ }
+
+ y[k] <- x[k] * (2.0 + 5.0 * x[k]**2) + 1.0 - temp
+
+ }
+ y
+ }
>
> n <- 10
> xstart <- -rep(1,n)
>
> xsol <- c( -0.42830, -0.47660, -0.51965, -0.55810, -0.59251,
+ -0.62450, -0.62324, -0.62139, -0.62045, -0.58647 )
>
> fsol <- brdban(xsol)
>
> znlq <- nleqslv(xstart, brdban, global="dbldog",
+ control=list(trace=1,ftol=1e-8,xtol=1e-8,btol=1e-2,delta=-1.0))
Algorithm parameters
--------------------
Method: Broyden Global strategy: double dogleg (initial trust region = -1)
Maximum stepsize = 1000
Scaling: fixed
ftol = 1e-08 xtol = 1e-08 btol = 0.01
Iteration report
----------------
Iter Jac Lambda Gamma Eta Dlt0 Dltn Fnorm Largest |f|
0 1.800000e+02 6.000000e+00
1 N(5.6e-01) C 0.9939 0.9952 0.8783 1.7567 1.095254e+01 2.052478e+00
1 N 0.9939 0.9952 0.8880 1.7760 1.022871e+01 1.589807e+00
2 B(5.9e-01) N 0.9808 0.9846 0.2793 0.5586 1.439892e+00 6.815532e-01
3 B(2.5e-01) N 0.8983 0.9186 0.1683 0.3365 7.485024e-02 2.163321e-01
4 B(1.7e-01) N 0.5093 0.6074 0.0464 0.0928 7.964714e-03 8.281790e-02
5 B(1.5e-01) N 0.7803 0.8242 0.0119 0.0119 2.364606e-03 4.189804e-02
6 B(1.5e-01) N 0.8663 0.8931 0.0069 0.0138 4.306996e-04 1.854601e-02
7 B(7.4e-02) N 0.7998 0.8398 0.0047 0.0094 5.034267e-06 2.447328e-03
8 B(5.2e-02) N 0.8719 0.8975 0.0004 0.0009 1.159785e-06 7.808025e-04
9 B(4.5e-02) N 0.9817 0.9854 0.0001 0.0001 4.326464e-07 5.795349e-04
10 B(4.8e-02) W 0.5515 0.5765 0.6612 0.0001 0.0002 7.420325e-08 3.148056e-04
10 N 0.5765 0.6612 0.0002 0.0003 2.202833e-08 1.251008e-04
11 B(5.3e-02) N 0.8557 0.8846 0.0000 0.0000 5.492722e-09 6.574238e-05
12 B(5.6e-02) N 0.9578 0.9662 0.0000 0.0000 1.322667e-09 2.887975e-05
13 B(6.9e-02) N 0.8883 0.9106 0.0000 0.0000 8.694772e-11 7.360340e-06
14 B(1.2e-01) N 0.6186 0.6949 0.0000 0.0000 3.517077e-12 1.544708e-06
15 B(1.1e-01) N 0.9176 0.9341 0.0000 0.0000 1.198874e-12 1.064222e-06
16 B(1.0e-01) N 0.9841 0.9873 0.0000 0.0000 3.388443e-13 5.645454e-07
17 B(6.8e-02) P 0.7798 0.8239 0.0000 0.0000 5.690742e-15 6.905413e-08
17 N 0.7798 0.8239 0.0000 0.0000 1.182053e-15 2.821496e-08
18 B(7.3e-02) N 0.9936 0.9949 0.0000 0.0000 3.519352e-16 1.471924e-08
> znlq
$x
[1] -0.4283029 -0.4765964 -0.5196525 -0.5580993 -0.5925062 -0.6245037
[7] -0.6232395 -0.6213938 -0.6204536 -0.5864693
$fvec
[1] -5.236529e-10 1.430344e-09 -6.745516e-09 9.923324e-09 -1.301495e-08
[6] 1.471924e-08 6.127840e-10 -1.214721e-08 4.770360e-09 9.189667e-10
$termcd
[1] 2
$message
[1] "x-values within tolerance `xtol'"
$scalex
[1] 1 1 1 1 1 1 1 1 1 1
$nfcnt
[1] 21
$njcnt
[1] 1
>
> xstart <- -2*rep(1,n)
> znlq <- nleqslv(xstart, brdban, global="dbldog",
+ control=list(trace=1,ftol=1e-8,xtol=1e-8,btol=1e-2,delta=-1.0))
Algorithm parameters
--------------------
Method: Broyden Global strategy: double dogleg (initial trust region = -1)
Maximum stepsize = 1000
Scaling: fixed
ftol = 1e-08 xtol = 1e-08 btol = 0.01
Iteration report
----------------
Iter Jac Lambda Gamma Eta Dlt0 Dltn Fnorm Largest |f|
0 1.347700e+04 5.500000e+01
1 N(6.1e-01) C 0.9970 0.9976 2.1667 4.3334 1.107526e+03 1.734646e+01
1 N 0.9970 0.9976 2.1781 4.3562 1.081593e+03 1.539037e+01
2 B(5.1e-01) N 0.9886 0.9909 0.8616 1.7233 2.352076e+02 7.052426e+00
3 B(1.5e-01) N 0.8884 0.9107 0.7539 1.5077 3.033773e+01 2.624047e+00
4 B(4.9e-02) N 0.5217 0.6174 0.4222 0.8445 3.726499e+00 1.172257e+00
5 B(2.7e-02) N 0.1237 0.2989 0.2216 0.4432 3.920544e-01 5.632242e-01
6 B(1.9e-02) N 0.4300 0.5440 0.0761 0.0761 1.430604e-01 3.553678e-01
7 B(1.5e-02) N 0.9480 0.9584 0.0177 0.0177 1.077089e-01 2.901659e-01
8 B(1.3e-02) N 0.9826 0.9861 0.0119 0.0119 7.660051e-02 2.445633e-01
9 B(5.2e-03) W 0.2073 0.9508 0.9606 0.0119 0.0119 5.132645e-02 2.161259e-01
10 B(7.3e-03) W 0.2172 0.8361 0.8689 0.0119 0.0119 7.362918e-02 2.620698e-01
11 N(6.1e-01) C 0.8690 0.8952 0.0447 0.0893 7.711139e-03 8.514345e-02
11 N 0.8690 0.8952 0.0543 0.1086 1.209667e-04 1.195480e-02
12 B(5.8e-01) N 0.8575 0.8860 0.0029 0.0057 5.138149e-07 8.390791e-04
13 B(5.5e-01) N 0.9155 0.9324 0.0002 0.0004 5.140388e-11 5.725924e-06
14 B(5.5e-01) N 0.8667 0.8934 0.0000 0.0000 1.214646e-13 3.399846e-07
15 B(5.3e-01) N 0.8236 0.8589 0.0000 0.0000 1.596621e-16 1.233130e-08
16 B(5.1e-01) N 0.8465 0.8772 0.0000 0.0000 1.991123e-20 1.448182e-10
> znlq
$x
[1] -0.4283029 -0.4765964 -0.5196525 -0.5580993 -0.5925062 -0.6245037
[7] -0.6232395 -0.6213938 -0.6204536 -0.5864693
$fvec
[1] -1.902917e-11 -1.612172e-11 -6.240031e-11 -5.284440e-12 -1.104761e-11
[6] -1.505085e-11 2.676104e-11 1.062976e-10 1.448182e-10 4.407386e-11
$termcd
[1] 1
$message
[1] "Function criterion near zero"
$scalex
[1] 1 1 1 1 1 1 1 1 1 1
$nfcnt
[1] 18
$njcnt
[1] 2
>