[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.
http://bitbucket.org/orzel/eigen2-cminpack/
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
(c)minpack
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
--
Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>
http://www.freehackers.org/thomas