Below is a list of changes and improvements made to sparseLM in reverse chronological order:


  • Dec. 4, 2011: sparseLM version 1.3 released
    • Fixed a bug in splm.c related to calling splm_ccsm_alloc_novalues() with cols, rows instead of rows, cols. Thanks to Luca Lutterotti for reporting.
    • Added CMake configuration files for building sparseLM and the demo program.
    • Made a few other minor changes.

  • May 3, 2011: sparseLM version 1.2 released
    • Added support to the MEX interface for expicitly specifying the sparsity structure of an analytic Jacobian. This is necessary to account for matlab's lack of guarantees that the number of nonzero elements in the Jacobian does not change over time: if an entry of the sparse Jacobian becomes numerically zero, then matlab automatically adjusts the former so that no storage is wasted for the zero entry, in effect modifying the Jacobian's sparsity pattern. More details can be found by referring to the 'anzp' Jacobian type. Thanks to Jan Schumann-Bischoff for pointing out this issue.
    • Rewrote/cleaned up various parts of the code.

  • January 27, 2011: sparseLM version 1.1 released
    • Added routines for checking the correctness of a sparse Jacobian implementation (sparselm_chkjaccrs()/sparselm_chkjacccs()).
    • Added the sparselm_spsolvr MEX utility that maps alphanumeric sparse solvers names to integer codes for use in the options argument of sparselm.
    • Fixed an issue concerning compilation of the MEX interface on 64 bit systems. Thanks to Jan Schumann-Bischoff for reporting.
    • Added a check to ensure that no column of the Jacobian is empty. Thanks to Klaus Strobl for bringing the issue to my attention.

  • Dec. 4, 2010: sparseLM version 1.0 released (first public release)