TODO: o does not use dotargs o Should we use model.frame() anywhere? o Need to ensure masks consistent between nlfb and nlxb. o Need to check if all parameters masked. o Should allow jacfn to be specified in quotation marks to call numerical approximations of different types, as per optimr / optimx. o Vignette to explain how stabilized Marquardt works, since Compact Numerical Methods book is hard to find. 190907 o Had to remove vignette nlsr-nls-nlsLM as Windows fails to build. Source of issue not yet found. 190829 o Due to changes in Ryacas, vignette nlsr-derivs required a small edit. 190820 o nlxb() and nlfb() do not follow nls() in the output structure and hence the use of predict(). A new function nlsr.predict() has been added. o Vignette nlsr-nls-nlsLM added to explain prediction and differences between nlsr and related packages. 180128 o A minor fix to derivs.R to avoid a bug when multiple partials are computed at once o isFALSE now becoming part of R, so nlsr::isFALSE has been adjusted to be that code 171004 o Minor edits to note nlmrt (deprecated) origins, and remove vignette dependency on that package 170618 o Minor repairs to vignette examples with other packages 170320 o Added Vignette Title fields to the three vignettes 170117 o rename modeldoc to rjfundoc. It is not simple to add documentation to ssgrfun objects. 170116 o summary no longer invisible? o summary for nlxb and nlfb both now should work. If there is no name for a parameter, the name p_(position) is created. o weights should be working OK. Residuals will be weighted ones. o added resid.nlsr() function. However, predict.nlsr() is NOT present, since we can create problems with residuals (e.g., nonlinear equations) that do not have a model structure 170113 o output of summary.nlsr is class = "summary.nlsr" like summary.nls is "summary.nls"? 170110 o weights (fixed) added and documented in nlsr-devdoc.Rmd o nlfb: sumsquares via crossprod needs to be as.numeric(). Done. 170108 o removed dot args from nlxb declaration and its internal call to nlfb(), and fixed nlxb.Rd. Note nls() help says of dot args "None are used at present." o moved model2rjfunx and .Rd file to inst/dev-files o Note that nlfb() can use functionally created weights, but nls uses FIXED weights. We have added fixed weights to nlxb() and pass them to nlfb() via its dot args. 170107 o expanded dex() examples to show object class of result. Note that "language" class encompasses "expression". o made clear where the .MissingVal usage is to be found in Rd file for nlsDeriv. o in nlsr-devdoc.Rmd added silly joe(x) example to show possible trouble spot 170102 o Cleanup of package New function dex() to prepare input for nlsDeriv() Renamed Deriv to nlsDeriv. New names codeDeriv and fnDeriv. 161222 o newDeriv() now issues a warning if a derivative definition is changed. 161019 o Changed names nlsrxb and nlsrfb to nlxb and nlfb and removed superfluous nlfb. 161018 o Problem with vignettes (why?). optimx is needed (why?) 161007 o Sort out nlsrxb to use Deriv vs deriv (vs Deriv from French) ?? o Note the ?? in all the codes. Simplify! o More detailed build of rjfun to use approximations when derivs not available. o Simple GN code needed to show what happens -- should be able to write a VERY simple one for the vignette. Possibly not include in the code of nlsr. o Origin of NaN's in bounded examples. Can they be avoided? Handling of NaN in Jacfun ?? Need an example. o Does it make sense to have unconstrained version of nlfb when there are no masks or bounds? o Rename modss, modgr to res2ss, res2gr o Option for numerical Jacobian -- control numJac = TRUE?, with routine in nlmrt.R ?? elsewhere. Way of using a "gradient" attribute when the model formula is specified like y ~ SpecialFn(xx, zz) which would allow functions not differentiable by deriv() o Weighted least squares example, especially in nlxb. o Issue when npar = 1 -- does it work? o check and fix examples? Partly done 140719 tests? o check impact of use of Deriv vs deriv and document! o make sure change to rjfun using "gradient" is clean in nlsrxb o partially linear nls models. How to incorporate? Note Rust and Oleary. o nlsr when it exceeds fn or jac count, returns bad solutions that won't print. Changes in nlsr version 2016-10.3 o name change to nlsr and consequent changes o minor fixes Changes in nlsr version 2014-7.28 Changes in nlsr version 2014-7.27 o Deriv() etc. o model2rjfun() etc. o changes to nlsrxb structure Changes in nlsr version 2014-7.19 o The parameters MUST be named when setting up model2resfun etc., but the resulting function can be called with an un-named vector of parameters. o Name reset to reflect intent to substitute for nls() o wrapnls replaced by wrapnlsr o use of ... args replaced with data = mydata (dataframe) o 1-sided models which start with the tilde are now allowed in nlsr functions. Changes in nlmrt version 2013-8.26 o Relative offset convergence test (not exactly as in nls()) residual and jacobian in summary & print methods o coef() method in nlmrt.R so names carried through o summary() and print() cleanup o partial and minor documentation improvement Changes in nlmrt version 2013-8.10 o fix line length issue in examples Changes in nlmrt version 2013-7.9 o Added control list elements to .Rd files for nlxb and nlfb, with reference in wrapnls. o Put in a test for very small sum of squares in nlfb and nlxb. Changes in nlmrt version 2013-3.16 o Result element coeffs changed to coefficients. This alters wrapnls.R code also. Changes in nlmrt version 2012-9.03 o More features in summary(). Changes in nlmrt version 2012-9.03 o summary() for output from different functions. Should display constraints if possible as per JNMWS codes. Warnings / Notes fixed re: dependencies in vignette, methods. o Sort out display in vignette Note warning "unstated dependencies in vignette" Changes in nlmrt version 2012-8.12 o Bounds and masks examples in nlmrt-vignette. Changes in nlmrt version 2012-8.04 o Vignette nlmrt-vignette updated. o Functions to convert expression to residual, Jacobian, sum of squares and gradient functions (for use with optimx or nlmrt:nlfb or minpack.lm:nls.lm o The examples in ./inst/examples/ are calling routines that have been renamed. These have, I believe, been fixed. o nlfb() needs an explicit Jacobian function and needs a way to compute numerical Jacobian if omitted. Fixed, I believe. Changes in nlmrt version 2012-6.01 o Removed diagnostic printout of bdmsk in nlfb Changes in nlmrt version 2012-4.15 o Added nlfb to allow functions for residual and Jacobian. These are developed from the expression for the residuals as a model in nlxb. o Bounds now in wrapnls. o Note misleading trace output in nls() runs with bounds.