Improvements to nls()
This page summarizes the efforts made to improve the functioning of the R
nls()
function for nonlinear least squares estimation during the Google Summer of Code program for 2021.
Aim of the Project
Our aim is to focus attention on actions that can be realized in future versions of the installable R system.
Given the very wide range of applications and features of the nls()
function, however, it is almost certain that only some possibilities will be addressed in the project.
Project Title
Improvements to nls()
Project Organization
The R Project for Statistical Computing
Project Mentors
- John C. Nash, Telfer School of Management, University of Ottawa
- Heather Turner, Department of Statistics, University of Warwick
Project Student
Project Outcomes
Final Reports:
Other (informal) Reports:
- PkgFromRbase: explanation of the construction of the nlspkg from the code in R-base.
- DerivsNLS: document to explain different ways in which Jacobian information is supplied to nonlinear least squares computation in R.
- MachineSummary: informal investigation of ways to report the characteristics and identity of machines running tests.
- VarietyInNonlinearLeastSquaresCodes: review of the different algorithms and the many choices in their implementation for nonlinear least squares.
- ImproveNLS.bib: consolidated BibTex bibliography for all documents in this project, possibly with wider application to nonlinear least squares in general
- WorkingDocument4ImproveNLS: project diary
Codes (and documentation):
- nlsj: A refactoring of the
nls()
functionality - nlsCompare: an R package to compare existing and new packages’ functions for nonlinear least squares
- nlspkg: a packaged version of the
nls()
code from R-base. - nlsalt: attempt to mirror
nls()
behaviour entirely in R - nls-changes-for-small-residuals-in-nls-R-4.0.2.zip: collected material for the fix by JN to the relative
offset convergence criterion failure when there are small residuals in problems sent to
nls()
. - nlsralt: a modified version of Nash and Murdoch package
nlsr
with improvements discovered as a result of this project.
Mentions
We would like to thank -
- Hans Werner Borchers for the contributions to the proposal of the project