cminpack 1.3.13
Correctness fixes
- Fix a division by zero in
covar1when the Jacobian rank equals the number of residuals (m == rank, e.g. square full-rank problems), which produced Inf/NaN throughout the covariance matrix. - Make the banded finite-difference branch of
fdjac1call the user function withiflag=2, like the dense branch,fdjac2and the FORTRAN version. - Fix the
USE_BLASNewton correction inlmparto use allncomponents (it was truncated to the original Jacobian rank, giving a wrong step for rank-deficient problems). - Fix the
jpvtmemset size in theUSE_LAPACKqrfac, and make the work-array size checks inhybrd,hybrj,hybrd1,hybrj1andlmdif1overflow-safe (also in the f2c versions). - Guard a harmless transient infinity in
doglegfor rank-deficient Jacobians (also in the f2c version).
Build & CI
- Add a
USE_LAPACKCMake option to build the LAPACK-based QR factorization (qrfac), which was previously only reachable through theMakefile. - Exercise the BLAS and LAPACK builds in CI and run the full test suite (including
tlmdifc) for them; add the intensive driver programs (lmddrvc,lmfdrvc,lmsdrvc,hyjdrvc,hybdrvc,chkdrvc) as smoke tests and run the FORTRAN example tests in CI.