[eigen] merging eigen2-cminpack

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

Hi all,

I'm now happy enough with my (c)minpack port to ask for merging.

When merged, two new modules will be available in 'unsupported' :

* a very small one "Numerical Diff" providing basic 'central' and 'forward' 
methods for http://en.wikipedia.org/wiki/Numerical_differentiation (not that 
this is different from the AutoDiff module)
* a module named "NonLinearOptimization", with the two algorithms from 

I've added some documentation today in order to prepare the merge. I still 
have quite some items on my todo list, mostly documentation and further 
porting/optimizing for the internal code. None of which should change the API. 

* I think the API should/will change before Eigen 3.0. I'm ok if people wants 
to make change to the API, but PLEASE carefully adapt and check the tests. I 
would be happy if you discuss beforehand those changes with me.

* I want the NonLinearOptimization module to stay in unsupported, until all 
internal changes are finished. I dont really care if the NumericalDiff module 
stays here or not, as far as it is still available (NonLinearOptimization 
depends on it for some methods).

* I have write access to the main repository, so i can do the merge.

* I originally wrote this module because i need it in some project of my own. 
I now use this module in the project, and i'm quite happy. I have had no 
special problem. I wanted to wait a little bit for things to settle before 
asking for the merge and now seems a good time. I would like to go back to use 
'eigen-trunk' on this project, and not my own fork.

* Here's a 'diffstat' against current tip on the main repository:

 b/unsupported/Eigen/NonLinearOptimization                             |  153
 b/unsupported/Eigen/NumericalDiff                                     |   68
 b/unsupported/Eigen/src/NonLinearOptimization/CMakeLists.txt          |    6
 b/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h |  767
 b/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h    |  752 
 b/unsupported/Eigen/src/NonLinearOptimization/chkder.h                |   55
 b/unsupported/Eigen/src/NonLinearOptimization/covar.h                 |   74
 b/unsupported/Eigen/src/NonLinearOptimization/dogleg.h                |  124
 b/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h                |   70
 b/unsupported/Eigen/src/NonLinearOptimization/lmpar.h                 |  179
 b/unsupported/Eigen/src/NonLinearOptimization/qform.h                 |   89
 b/unsupported/Eigen/src/NonLinearOptimization/qrfac.h                 |  136
 b/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h                |  166
 b/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h                |   87
 b/unsupported/Eigen/src/NonLinearOptimization/r1updt.h                |  175
 b/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h                |   80
 b/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h                 |  136
 b/unsupported/test/NonLinear.cpp                                      | 1847 
 b/unsupported/test/NumericalDiff.cpp                                  |  114
 doc/unsupported_modules.dox                                           |   20
 unsupported/Eigen/AutoDiff                                            |    3
 unsupported/test/CMakeLists.txt                                       |    2
 22 files changed, 5096 insertions(+), 7 deletions(-)

I added a small link to NumericalDiff in the documentation for AutoDiff. The 
only 'global' change remaining is in  doc/unsupported_modules.dox . Doxygen 
groups were defined both there and in the modules. So i cleaned those by doing 
things like :
 /** \ingroup Unsupported_modules
-  * \defgroup BVH_Module BVH module */
+  * \ref BVH_Module */

And of course i've checked the doxygen output was ok.

This is my way of telling you how slightly this merge would impact eigen code: 
only adding the two modules and nothing else. Eigen was good enough i did not 
have to change anything there :-)

best regards,
Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/