R Under development (unstable) (2026-02-10 r89394 ucrt) -- "Unsuffered Consequences" Copyright (C) 2026 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 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. > fuzz <- 1e-1 #1e-3 # 1e-10 > options(digits=12) > if(!require("BB"))stop("this test requires package BB.") Loading required package: BB > if(!require("setRNG"))stop("this test requires setRNG.") Loading required package: setRNG > > # Use a preset seed so test values are reproducable. > test.rng <- list(kind="Wichmann-Hill", normal.kind="Box-Muller", seed=c(979,1479,1542)) > old.seed <- setRNG(test.rng) > > ########## > cat("BB test rosbkext.f ...\n") BB test rosbkext.f ... > > rosbkext.f <- function(x){ + p <- x + n <- length(p) + sum (100*(p[1:(n-1)]^2 - p[2:n])^2 + (p[1:(n-1)] - 1)^2) + } > > p0 <- rnorm(50,sd=2) > system.time(ans.spg <- spg(par=p0, fn=rosbkext.f, control=list(maxit=2500)))[1] iter: 0 f-value: 275349.107371 pgrad: 53135.6671127 iter: 10 f-value: 228.477119989 pgrad: 137.655947015 iter: 20 f-value: 48.160048961 pgrad: 1.94833731371 iter: 30 f-value: 47.2792034523 pgrad: 2.84286002739 iter: 40 f-value: 46.8179073762 pgrad: 2.59699447724 iter: 50 f-value: 46.3859573614 pgrad: 3.33321942492 iter: 60 f-value: 45.9137084095 pgrad: 2.1137991979 iter: 70 f-value: 45.4881413924 pgrad: 1.58427887698 iter: 80 f-value: 44.9204633582 pgrad: 1.82103342183 iter: 90 f-value: 44.4240259895 pgrad: 8.91030346395 iter: 100 f-value: 44.1728164705 pgrad: 2.05684230536 iter: 110 f-value: 43.4853913566 pgrad: 4.50806986407 iter: 120 f-value: 43.2173569029 pgrad: 1.5599730574 iter: 130 f-value: 43.1657661117 pgrad: 14.7914630588 iter: 140 f-value: 42.2520747916 pgrad: 2.69997840974 iter: 150 f-value: 42.0311683557 pgrad: 10.6940393607 iter: 160 f-value: 41.3636991772 pgrad: 2.12489688067 iter: 170 f-value: 41.1683382752 pgrad: 1.45064241508 iter: 180 f-value: 40.9260959005 pgrad: 1.47939857698 iter: 190 f-value: 40.3463579885 pgrad: 1.40365223444 iter: 200 f-value: 39.7806474371 pgrad: 1.60912442482 iter: 210 f-value: 39.6011763941 pgrad: 1.42812908166 iter: 220 f-value: 38.9819080857 pgrad: 11.3073974006 iter: 230 f-value: 38.4313394319 pgrad: 1.4662558101 iter: 240 f-value: 37.9761846391 pgrad: 1.46654180355 iter: 250 f-value: 37.7021479883 pgrad: 7.57050308664 iter: 260 f-value: 37.4276656108 pgrad: 1.40870859866 iter: 270 f-value: 37.0892606338 pgrad: 1.70964653989 iter: 280 f-value: 36.970087179 pgrad: 10.6454400139 iter: 290 f-value: 36.7157222502 pgrad: 1.54962421561 iter: 300 f-value: 36.4618771414 pgrad: 1.54447526768 iter: 310 f-value: 36.2784388603 pgrad: 1.439112296 iter: 320 f-value: 35.9022571347 pgrad: 1.47966012776 iter: 330 f-value: 35.4396605391 pgrad: 1.47311418175 iter: 340 f-value: 35.1271155297 pgrad: 6.90842078654 iter: 350 f-value: 34.9406264014 pgrad: 3.04136079876 iter: 360 f-value: 34.3820350879 pgrad: 15.6165041432 iter: 370 f-value: 33.9007785682 pgrad: 1.49166140773 iter: 380 f-value: 33.6428615969 pgrad: 1.43322345991 iter: 390 f-value: 33.061184633 pgrad: 1.95407544368 iter: 400 f-value: 32.8692902555 pgrad: 7.0356263393 iter: 410 f-value: 32.6063661382 pgrad: 1.96745808978 iter: 420 f-value: 32.3874952897 pgrad: 1.44206104835 iter: 430 f-value: 32.1479165455 pgrad: 3.23855253725 iter: 440 f-value: 31.7240300088 pgrad: 2.17114592971 iter: 450 f-value: 31.2386225537 pgrad: 2.30765426323 iter: 460 f-value: 31.0573274883 pgrad: 1.44024546955 iter: 470 f-value: 30.9430466961 pgrad: 1.47170506892 iter: 480 f-value: 29.8529160559 pgrad: 5.41100781959 iter: 490 f-value: 29.6507738728 pgrad: 1.40356942069 iter: 500 f-value: 29.3384420066 pgrad: 1.44846573846 iter: 510 f-value: 28.8050634443 pgrad: 2.45318314995 iter: 520 f-value: 28.6143329688 pgrad: 1.36291141928 iter: 530 f-value: 28.4477852914 pgrad: 2.10549440993 iter: 540 f-value: 28.3052516092 pgrad: 3.47934257405 iter: 550 f-value: 27.6823212403 pgrad: 5.12551967091 iter: 560 f-value: 27.4491752549 pgrad: 1.65228243532 iter: 570 f-value: 27.2717323438 pgrad: 1.5447891144 iter: 580 f-value: 27.1008842693 pgrad: 1.47392146488 iter: 590 f-value: 26.9093945912 pgrad: 1.46349186991 iter: 600 f-value: 26.2522744566 pgrad: 2.28458883811 iter: 610 f-value: 26.0172691088 pgrad: 1.62969559625 iter: 620 f-value: 25.7753283113 pgrad: 1.6095489741 iter: 630 f-value: 25.3798002953 pgrad: 5.53006490378 iter: 640 f-value: 25.0383029661 pgrad: 1.39475382355 iter: 650 f-value: 24.6986750752 pgrad: 2.15749924593 iter: 660 f-value: 24.3489443024 pgrad: 2.98573876734 iter: 670 f-value: 24.0903111599 pgrad: 2.45211001726 iter: 680 f-value: 23.3960298077 pgrad: 1.49366478297 iter: 690 f-value: 23.1031795025 pgrad: 1.4320185926 iter: 700 f-value: 22.9512985982 pgrad: 1.46867638051 iter: 710 f-value: 22.4715539303 pgrad: 3.87998099427 iter: 720 f-value: 22.3299926084 pgrad: 1.45369774884 iter: 730 f-value: 21.7005590305 pgrad: 1.80737089295 iter: 740 f-value: 21.4685815035 pgrad: 7.72585877939 iter: 750 f-value: 21.2711542788 pgrad: 4.35001656029 iter: 760 f-value: 20.3693074724 pgrad: 2.32847952475 iter: 770 f-value: 20.1021100289 pgrad: 1.38789204129 iter: 780 f-value: 19.9868101816 pgrad: 3.31142324228 iter: 790 f-value: 19.7380631497 pgrad: 3.54388447477 iter: 800 f-value: 18.7304204403 pgrad: 3.98624326436 iter: 810 f-value: 18.2859689711 pgrad: 2.46741151955 iter: 820 f-value: 18.0436844004 pgrad: 5.14215173553 iter: 830 f-value: 17.6204423678 pgrad: 1.47663847372 iter: 840 f-value: 17.4666571071 pgrad: 1.43364083272 iter: 850 f-value: 16.5348110539 pgrad: 4.05101047818 iter: 860 f-value: 16.3381053704 pgrad: 1.53010926596 iter: 870 f-value: 16.1483159983 pgrad: 1.47836580311 iter: 880 f-value: 15.9035664851 pgrad: 3.65427366589 iter: 890 f-value: 15.586263623 pgrad: 1.41586825819 iter: 900 f-value: 15.3254791501 pgrad: 1.43604813374 iter: 910 f-value: 15.0751980944 pgrad: 1.53216204168 iter: 920 f-value: 14.8220932697 pgrad: 2.04212055266 iter: 930 f-value: 14.5874960299 pgrad: 1.44903912869 iter: 940 f-value: 14.409121675 pgrad: 1.46514107513 iter: 950 f-value: 13.9616836558 pgrad: 1.58141517659 iter: 960 f-value: 13.7967948594 pgrad: 6.75791527627 iter: 970 f-value: 13.5314931155 pgrad: 1.42882191412 iter: 980 f-value: 12.853294996 pgrad: 3.4513364966 iter: 990 f-value: 12.5169091722 pgrad: 1.44264189927 iter: 1000 f-value: 12.2776047131 pgrad: 5.17098932562 iter: 1010 f-value: 11.8790808491 pgrad: 1.53121000324 iter: 1020 f-value: 11.3700051872 pgrad: 1.67425719511 iter: 1030 f-value: 11.2516836799 pgrad: 1.47349584978 iter: 1040 f-value: 11.1491497553 pgrad: 8.16913651391 iter: 1050 f-value: 10.558092751 pgrad: 1.61074874327 iter: 1060 f-value: 10.3294642853 pgrad: 1.53853724427 iter: 1070 f-value: 10.2592782328 pgrad: 1.4722479591 iter: 1080 f-value: 10.2135976629 pgrad: 7.42588023073 iter: 1090 f-value: 9.42349916767 pgrad: 1.70636957009 iter: 1100 f-value: 9.17711997067 pgrad: 1.77009495061 iter: 1110 f-value: 9.04661803949 pgrad: 9.6719531939 iter: 1120 f-value: 8.76550023345 pgrad: 1.40694803363 iter: 1130 f-value: 8.17830796869 pgrad: 3.49943281464 iter: 1140 f-value: 7.88358555425 pgrad: 2.01639414499 iter: 1150 f-value: 7.64745368338 pgrad: 2.61059883044 iter: 1160 f-value: 7.15446571635 pgrad: 2.81318468076 iter: 1170 f-value: 6.98026185875 pgrad: 1.44405247759 iter: 1180 f-value: 6.72105929862 pgrad: 1.4733754039 iter: 1190 f-value: 6.59407753046 pgrad: 1.65159875998 iter: 1200 f-value: 6.42568770711 pgrad: 10.6585090176 iter: 1210 f-value: 5.29785845076 pgrad: 1.42806928949 iter: 1220 f-value: 5.0900741551 pgrad: 1.46857281891 iter: 1230 f-value: 4.62555742563 pgrad: 7.44332189662 iter: 1240 f-value: 4.39666152168 pgrad: 1.45272448293 iter: 1250 f-value: 4.23535228426 pgrad: 1.47438666609 iter: 1260 f-value: 3.6380858402 pgrad: 4.49645575884 iter: 1270 f-value: 3.26590875704 pgrad: 1.41206113469 iter: 1280 f-value: 3.18784063477 pgrad: 1.46782472399 iter: 1290 f-value: 2.79955239167 pgrad: 6.67066537563 iter: 1300 f-value: 2.31123103462 pgrad: 1.49099750324 iter: 1310 f-value: 2.07375493309 pgrad: 2.6741429382 iter: 1320 f-value: 1.87112442297 pgrad: 4.25895410716 iter: 1330 f-value: 1.75150377021 pgrad: 1.34694842169 iter: 1340 f-value: 0.974665581552 pgrad: 2.3572290242 iter: 1350 f-value: 0.877662007436 pgrad: 2.3563503404 iter: 1360 f-value: 0.764110323517 pgrad: 1.12605034075 iter: 1370 f-value: 0.657311766414 pgrad: 1.09729037301 iter: 1380 f-value: 0.599712521648 pgrad: 0.778718487471 iter: 1390 f-value: 0.532678194391 pgrad: 0.737496983483 iter: 1400 f-value: 0.491096169928 pgrad: 0.722083520199 iter: 1410 f-value: 0.353606996581 pgrad: 1.58696243591 iter: 1420 f-value: 0.316443519912 pgrad: 0.594612265536 iter: 1430 f-value: 0.308006191092 pgrad: 0.544719669926 iter: 1440 f-value: 0.293286494209 pgrad: 0.534353101211 iter: 1450 f-value: 0.262422072983 pgrad: 0.507959841967 iter: 1460 f-value: 0.203436607361 pgrad: 0.387440199923 iter: 1470 f-value: 0.131658261611 pgrad: 0.529157292983 iter: 1480 f-value: 0.124517735335 pgrad: 0.356961609577 iter: 1490 f-value: 0.117361035407 pgrad: 0.326986677596 iter: 1500 f-value: 0.106798012731 pgrad: 0.321239776307 iter: 1510 f-value: 0.102164084818 pgrad: 0.441250414124 iter: 1520 f-value: 0.0566280387503 pgrad: 0.290093010447 iter: 1530 f-value: 0.0548714494418 pgrad: 0.224109109187 iter: 1540 f-value: 0.0491316769619 pgrad: 0.216571760178 iter: 1550 f-value: 0.0453607278332 pgrad: 0.192348407688 iter: 1560 f-value: 0.0423847779163 pgrad: 0.192873500365 iter: 1570 f-value: 0.0367729801049 pgrad: 0.18005829383 iter: 1580 f-value: 0.0326489492982 pgrad: 0.367037399293 iter: 1590 f-value: 0.0306050855393 pgrad: 0.174191725523 iter: 1600 f-value: 0.029132715063 pgrad: 0.160763666684 iter: 1610 f-value: 0.0238331997443 pgrad: 0.263112713075 iter: 1620 f-value: 0.0217907655967 pgrad: 0.120928317117 iter: 1630 f-value: 0.0201939907545 pgrad: 0.131446123673 iter: 1640 f-value: 0.0173000034173 pgrad: 0.127214020915 iter: 1650 f-value: 0.0154583211241 pgrad: 0.107099431962 iter: 1660 f-value: 0.0147985686983 pgrad: 0.111512049265 iter: 1670 f-value: 0.0142958175098 pgrad: 0.109507002962 iter: 1680 f-value: 0.0110684637227 pgrad: 0.230736633341 iter: 1690 f-value: 0.0107505744898 pgrad: 0.0946651532163 iter: 1700 f-value: 0.00765974510838 pgrad: 0.325227114024 iter: 1710 f-value: 0.00672101467392 pgrad: 0.0729374731358 iter: 1720 f-value: 0.0063842953292 pgrad: 0.0737701756626 iter: 1730 f-value: 0.00617679090348 pgrad: 0.0768934761176 iter: 1740 f-value: 0.00575691865448 pgrad: 0.0662564792614 iter: 1750 f-value: 0.00555823518749 pgrad: 0.0675893061658 iter: 1760 f-value: 0.00544762361561 pgrad: 0.0662358591932 iter: 1770 f-value: 0.00526366545016 pgrad: 0.272122908807 iter: 1780 f-value: 0.00423506412136 pgrad: 0.0585998415591 iter: 1790 f-value: 0.00401567406683 pgrad: 0.0561536121681 iter: 1800 f-value: 0.00392723388405 pgrad: 0.0558897437532 iter: 1810 f-value: 0.00350154067456 pgrad: 0.0526742239106 iter: 1820 f-value: 0.00252177160765 pgrad: 0.104003981928 iter: 1830 f-value: 0.00240818909727 pgrad: 0.042837294302 iter: 1840 f-value: 0.00231188854012 pgrad: 0.0425425695887 iter: 1850 f-value: 0.00192046309204 pgrad: 0.0362939539642 iter: 1860 f-value: 0.00189304387543 pgrad: 0.0384293574133 iter: 1870 f-value: 0.00144695501636 pgrad: 0.032922994231 iter: 1880 f-value: 0.00133803586979 pgrad: 0.0322538187413 iter: 1890 f-value: 0.00122028274051 pgrad: 0.0286875937762 iter: 1900 f-value: 0.00119533851573 pgrad: 0.0634336242821 iter: 1910 f-value: 0.00114574289674 pgrad: 0.031774234281 iter: 1920 f-value: 0.00106181671367 pgrad: 0.0250498970243 iter: 1930 f-value: 0.00102241503335 pgrad: 0.0405645157525 iter: 1940 f-value: 0.000893668659354 pgrad: 0.0267946779283 iter: 1950 f-value: 0.00084134280508 pgrad: 0.0255407099886 iter: 1960 f-value: 0.000829794414363 pgrad: 0.0252484736916 iter: 1970 f-value: 0.000648057873314 pgrad: 0.0300122535277 iter: 1980 f-value: 0.000635054423073 pgrad: 0.0239125464395 iter: 1990 f-value: 0.000551741006225 pgrad: 0.0655956843812 iter: 2000 f-value: 0.000525917671321 pgrad: 0.0202099630499 iter: 2010 f-value: 0.000507261576855 pgrad: 0.0185436202971 iter: 2020 f-value: 0.000472684429278 pgrad: 0.01891421303 iter: 2030 f-value: 0.000414249244104 pgrad: 0.0178109518784 iter: 2040 f-value: 0.000397955656233 pgrad: 0.0190377976068 iter: 2050 f-value: 0.000384857101 pgrad: 0.0484902603736 iter: 2060 f-value: 0.000367666208138 pgrad: 0.0167154309312 iter: 2070 f-value: 0.000312078635546 pgrad: 0.0154008729099 iter: 2080 f-value: 0.000293501085378 pgrad: 0.0150466483479 iter: 2090 f-value: 0.000286315037709 pgrad: 0.0245191398196 iter: 2100 f-value: 0.000274150593624 pgrad: 0.0145527979706 iter: 2110 f-value: 0.000264088495792 pgrad: 0.0140313907325 iter: 2120 f-value: 0.000249537299297 pgrad: 0.0138271613847 iter: 2130 f-value: 0.000247637017317 pgrad: 0.0373096560347 iter: 2140 f-value: 0.000235747973352 pgrad: 0.0133203574288 iter: 2150 f-value: 0.00022162163362 pgrad: 0.0132449581009 iter: 2160 f-value: 0.000214804749167 pgrad: 0.0129600818461 iter: 2170 f-value: 0.00018394578761 pgrad: 0.0117942696327 iter: 2180 f-value: 0.000172079364415 pgrad: 0.0112814370134 iter: 2190 f-value: 0.000165940151948 pgrad: 0.0109607507773 iter: 2200 f-value: 0.000161735260066 pgrad: 0.0110438544293 iter: 2210 f-value: 0.000158655164449 pgrad: 0.0109284553331 iter: 2220 f-value: 0.000145823620043 pgrad: 0.0104932809249 iter: 2230 f-value: 0.000122294248392 pgrad: 0.0142024431885 iter: 2240 f-value: 0.000119215217647 pgrad: 0.0205814553327 iter: 2250 f-value: 0.000110927004437 pgrad: 0.00916819761914 iter: 2260 f-value: 0.000106820381264 pgrad: 0.00898124619068 iter: 2270 f-value: 0.000102067382407 pgrad: 0.00882788630066 iter: 2280 f-value: 9.67299140009e-05 pgrad: 0.0123149496629 iter: 2290 f-value: 9.27260544236e-05 pgrad: 0.00834635873246 iter: 2300 f-value: 8.66010276126e-05 pgrad: 0.00805032891003 iter: 2310 f-value: 8.44144788898e-05 pgrad: 0.00794567114957 iter: 2320 f-value: 4.57017741761e-05 pgrad: 0.00505701963012 iter: 2330 f-value: 4.47271975429e-05 pgrad: 0.00591040676579 iter: 2340 f-value: 3.89754508205e-05 pgrad: 0.0153769517562 iter: 2350 f-value: 3.75366168922e-05 pgrad: 0.00533537982024 iter: 2360 f-value: 3.5697727574e-05 pgrad: 0.0050397251771 iter: 2370 f-value: 3.46624210026e-05 pgrad: 0.00508740931211 iter: 2380 f-value: 2.08467917855e-05 pgrad: 0.00481633510726 iter: 2390 f-value: 2.02788314167e-05 pgrad: 0.00388853489085 iter: 2400 f-value: 1.92632728593e-05 pgrad: 0.00299014353388 iter: 2410 f-value: 1.85338750683e-05 pgrad: 0.00429929289527 iter: 2420 f-value: 1.84025784765e-05 pgrad: 0.0135005528646 iter: 2430 f-value: 1.68078262063e-05 pgrad: 0.00334569976836 iter: 2440 f-value: 1.60546088605e-05 pgrad: 0.00493526220281 iter: 2450 f-value: 1.56072418976e-05 pgrad: 0.00342653016411 iter: 2460 f-value: 1.32627158053e-05 pgrad: 0.0166134193861 iter: 2470 f-value: 1.11796212442e-05 pgrad: 0.00440966178836 iter: 2480 f-value: 1.0559718005e-05 pgrad: 0.00314408810022 iter: 2490 f-value: 1.0289788834e-05 pgrad: 0.00277476093172 iter: 2500 f-value: 8.40101874239e-06 pgrad: 0.00246308306209 user.self 0.94 Warning message: In spg(par = p0, fn = rosbkext.f, control = list(maxit = 2500)) : Unsuccessful convergence. > > z <- sum(ans.spg$par) > good <- 49.99437222882855 > #on Windows 49.9974818749182 > #on Windows 49.9974818749182 on Uwe's win-builder > #on Linux64 49.9899945524414 > #on Linux32 49.99437222882855 > #on Linux32 49.98251214800634 as of Ubuntu 9.10 (Dell laptop) > print(z, digits=16) [1] 49.98999455244144 > if(any(abs(good - z) > 1e-1)) stop("BB test rosbkext.f FAILED") > > > proc.time() user system elapsed 1.04 0.23 1.28