changed package documentation .Rd to use metadata macros
nleqslv 3.3.1 (2017-07-06)
better comments in Fortran source and some reorganization of code
simplification QR update subroutines
documentation tweaks
nleqslv 3.3 (2017-05-18)
prevent possible intermediate NaN's in cubic linesearch
test for NaN's in x-vector supplied to user function while iterating
documentation tweaks for searchZeros
more accurate error messages for non-finite arguments passed to user jacobian function
nleqslv 3.2 (2017-03-04)
more precise error checking in nleqslv.c (bug)
nleqslv 3.1 (2017-02-16)
register native routines in dll
nleqslv 3.0.3 (2016-08-08)
allow scalar user supplied derivative for a scalar function.
(avoid error message about jacobian not being a matrix) (bug)
documentation tweaks
nleqslv 3.0.2 (2016-06-27)
display inverse condition of Jacobian in "ill-conditioned" message
in the return value of nleqslv
documentation tweaks
nleqslv 3.0.1 (2016-05-02)
removed item Tcnt from the return value of testnslv.
In the case of a banded jacobian the value was incorrect (bug).
corrected faulty error message (bug)
code and documentation tweaks
nleqslv 3.0 (2016-01-28)
documentation tweaks
check length of initial estimates to avoid Lapack error messages (bug)
check number of rows of matrix in searchZeros (bug)
check correctly that user supplied jacobian function is actually a function (bug)
searchZeros now uses try with silent=TRUE
searchZeros returns additional indices providing more information
about bad/invalid initial estimates
nleqslv 2.9.1 (2015-11-26)
strict validity test of control argument
documentation tweaks
nleqslv 2.9 (2015-09-06)
added searchZeros function to search for zeros given a matrix of initial points
nleqslv 2.8 (2015-05-18)
added a column to the testnslv output giving the total number of function evaluations
if a numerical jacobian was requested
corrected bug in testnslv when termination code > 6
added test for completely singular jacobian when allowSingular==TRUE
(the Levenberg-Marquardt correction will not work in such a situation)
(detected with a system of equations made by Ravi Varadhan)
changed columnheaders of dataframe generated by testnslv (sorry about that)
added a width.cutoff argument to the printing of an object returned by testnslv
to restrict the length of the call display
added a check of testnslv in tests
nleqslv 2.7 (2015-04-03)
reintroduced the Levenberg-Marquardt correction for ill-conditioned or singular jacobians.
It now works as desired.
nleqslv 2.6 (2015-03-04)
display a marker in the trust region iteration report when a trial step will be taken
better documentation of the iteration reports
added input and output files used for the documentation of the iterations reports
in a subdirectory of directory inst
more detailed comments in several source files
spelling
nleqslv 2.5 (2014-09-29)
corrected nasty bug in cubic linesearch.
Use Higham procedure to calculate roots of a quadratic accurately.
The correct test of the shape of a quadratic is the sign of the coefficient of x^2
and not a test involving the discriminant. Some results may change.
corrected package name typo (reported by Kurt Hornik)
minor changes in documentation
nleqslv 2.4 (2014-08-10)
Dennis-Schnabel hookstep added as global strategy "hook"
testnslv adjusted for new extra global strategy
removed all trailing spaces from files (added in by editor)
nleqslv 2.3.1 (2014-07-13)
allow strings "cauchy" and "newton" in control$delta argument
documentation for iteration report fixed
better comments trial steps when updating trust region
nleqslv 2.3 (2014-07-04)
clarified documentation for iteration report
removed redundant fortran code
modified nwclsh.f to avoid ftnchek warnings
use Lapack dlacpy to copy upper triangular part of a QR decomposition
modified some fortran code for easier conversion with f2f to fortran 95
modified nwnleq and brsolv to split rjac into Q and R at higher level
(avoids some ftnchek warnings)
update package date in DESCRIPTION
nleqslv 2.2 (2014-06-04)
introduce a function to test and optionally benchmark different methods and global strategies
and print results compactly
added a new global strategy: cubic line search
try to safeguard against very large trust region in iteration report
allocate half as much memory for the Jacobian when Newton method is specfied
advice in error message on what to do when initial value of function is not finite
cleanup some code
nleqslv 2.1.1 (2014-02-05)
corrected tiny rounding error when computing banded jacobian (fdjac2 in src/nwutil.f)
corrected error in documentation of iteration report
cleanup fortran sources to remove many (not all) ftnchek warnings
clarifications in the documentation
nleqslv 2.1 (2013-11-21)
introduced an option to specify that the jacobian is banded
if the initial parameter vector has a names attribute, the parameter vector passed to the function
to solve will have these names as attribute
corrected another bug when checking a user supplied jacobian: scaled x-values were being returned
use Rinternals.h instead of Rdefines.h
replace C++ style comments
cleanup/simplification of C code in nleqslv.c and more error checking
nleqslv 2.0 (2013-02-05)
introduced an option to return the final (approximated) jacobian
corrected horrible bug when checking analytical jacobian with scaled x-values
(checking incorrectly reported an incorrect jacobian)
strict checking of return value of user supplied Jacobian function.
Jacobian must be a numerical matrix of correct dimensions.
if the initial parameter vector has an attribute names
the output parameter vector will have these names as attribute
more tests of Newton method
(internal) comments in some fortran to provide clarification
(internal) reorganized fortran for less duplication of code
No longer use qrupdate routines for updating QR.
Use heavily modified version of Dennis+Schnabel.
Change has no effect on results (at least in all my tests).
nleqslv 1.9.4 (2012-09-27)
checking validity of a user supplied jacobian is no longer done before the first iteration
in order to avoid computing initial jacobian twice.
The checks are now done after the return of the user supplied jacobian; this provides more safety.
introduced a tolerance parameter for testing for an ill-conditioned jacobian or broyden approximation.
The default tolerance is now equal to 1e-12 and not the machine precison.
added an item iter to the outputlist of nleqslv giving the number of (outer) iterations used.
better description of the meaning of the number of function evaluations in the return value.
nleqslv 1.9.3 (2012-02-19)
use QR update routines from opensource library qrupdate.
The changes should have no effect on results.
internal change in brsolv: use a different larger workspace for brupdt
to accomodate different QR updating routines which need a larger workspace
moved subroutine for query of Lapack dgeqrf of optimal size of work array
to lautil.f (where it belongs). Changed name to liqsiz.
nleqslv 1.9.2 (2011-12-12)
made calculation of jacobian when checking user supplied jacobian identical to
how calculation of numerical jacobian is done
non finite values in function values when computing numerical derivatives always result in a fatal error
added link to iteration report in the description of trace=1
corrected several small irregularities in the documentation
nleqslv 1.9.1 (2011-12-05)
removed all Fortran internal write statements to avoid R check warnings
improved output of possible errors by check jacobian
added error message for jacobian error in manual
mention Lapack condition estimator in documentation of iteration report
nleqslv 1.9.0 (2011-09-16)
added a pure Newton or Broyden without global strategy
use useDynLib in NAMESPACE instead of .onLoad
nleqslv 1.8.6 (2011-07-28)
added NAMESPACE and changed to use .onLoad function
removed gamma from iteration report (doesn't provide useful info; eta is sufficient)
minor internal reorganization of code
improved documentation of the iteration report
nleqslv 1.8.5 (2011-05-15)
remove unused variables from Fortran code (thanks to Kurt Hornik for pointing this out).
improved comments in nwout.c
avoid use of sprintf for print in E-format since on Windows (at least some)
three digits are used by default for the exponent even when two suffice.
That messes up layout of detailed iteration report. Use Rprintf.
nleqslv 1.8.4 (2011-05-04)
remove unused variables in C function nleqslv.
tests now only check if a solution has been found with a specified tolerance and avoid
explicit floating point output.
corrected small errors in manual.
nleqslv 1.8.3 (2011-03-04)
nicer output when control argument contains invalid names.
some examples are now not run by default to avoid problems (bus error) on PowerPC Mac OS X; I cannot test.
nleqslv 1.8.2 (2011-03-02)
Added code to copy initial values to final values in case of bad jacobian.
nleqslv 1.8.1 (2011-02-27)
cleanup checking of control argument.
modified tests/brdban.R and tests/chquad.R to be more robust against small rounding differences.
nleqslv 1.8 (2010-09-26)
internally scaled x-values are now used instead of scaling/unscaling of various
vectors whenever/wherever required.
This makes the code much cleaner and easier to maintain.
Therefore the jacobian matrix used in the code is now scaled.
The reported condition number will be different.
added forgotten integer declaration in nwtcvg (nwutil.for).
corrected documentation errors.
nleqslv 1.7 (2010-08-17)
negative values for stepmax (maximum stepsize) now imply no maximum stepsize.
The default for stepmax (maximum stepsize) -1.0 so there is no maximum stepsize.
removed the Levenberg-Marquardt correction for ill-conditioned or singular jacobians.
The correction hardly ever gave sensible results. The algorithm now returns
an error condition when a Jacobian is singular or ill-conditioned.
nleqslv 1.6.1 (2010-04-04)
fixed several incomplete last lines.
nleqslv 1.6 (2010-03-13)
corrected initialization bug.
corrected parameter error for Cauchy start in examples.
code cleaning to get rid of fortran statement labels.
nleqslv 1.5 (2009-09-05)
corrected missing/superfluous closing brackets in nleqslv.Rd.
nleqslv 1.4 (2009-04-22)
correct horrible bug caused by typo in nwnwtn causing dgeqrf to be called
with an absurd value for the lwork argument. Typical fortran problem.
nleqslv 1.3 (2009-03-22)
use blocked Lapack QR routines.
Significant speed increase for larger n (500+) in most cases.
nleqslv 1.2
corrected wrong name for the flag for checking an analytical jacobian in nleqslv.R
and the documentation.
nleqslv 1.1 (2009-02-16)
the default initial trust region size is now set to the length of the Newton step.
corrected various errors in the documentation
* the termination codes were a muddle.
* several elements of the return list were incorrectly named in the documentation.