documentation fixes

This commit is contained in:
Thomas Capricelli 2009-11-10 21:33:36 +01:00
parent 6a56262bf4
commit ae76c97704
2 changed files with 16 additions and 18 deletions

View File

@ -1,4 +1,4 @@
// This file is part of Eigen, a lightweight C++ template library
// This file is part of Eugenio, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Thomas Capricelli <orzel@freehackers.org>
@ -59,15 +59,14 @@ namespace Eigen {
*
* Finally, we ported this code to Eigen, creating classes and API
* coherent with Eigen. When possible, we switched to Eigen
* implementation, such as most linear algebra (vectors, matrices, "good" norms).
* implementation, such as most linear algebra (vectors, matrices, stable norms).
*
* Doing so, we were very careful to check the tests we setup at the very
* beginning, which ensure that the same results are found, with the same
* number of iterations.
* beginning, which ensure that the same results are found.
*
* \section Tests Tests
*
* The tests are placed in the directory unsupported/test/NonLinear.cpp.
* The tests are placed in the file unsupported/test/NonLinear.cpp.
*
* There are two kinds of tests : those that come from examples bundled with cminpack.
* They guaranty we get the same results as the original algorithms (value for 'x',
@ -81,32 +80,31 @@ namespace Eigen {
* code. Please note that we do not always get the exact same decimals as they do,
* but this is ok : they use 128bits float, and we do the tests using the C type 'double',
* which is 64 bits on most platforms (x86 and amd64, at least).
*
* I've performed those tests on several other implementations of levenberg-marquardt, and
* (c)minpack perform VERY well compared to those, both in accuracy and speed.
* (c)minpack performs VERY well compared to those, both in accuracy and speed.
*
* The documentation for running the test is on the wiki
* The documentation for running the tests is on the wiki
* http://eigen.tuxfamily.org/index.php?title=Developer%27s_Corner#Running_the_unit_tests
*
* \section API API : overview of methods
*
* All algorithms can use either the jacobian (provided by the user) or compute
* an approximation by themselves (or rather, using Eigen \ref NumericalDiff_Module)
* The part of API referring to the latter use 'NumericalDiff' in the method name
* Both algorithms can use either the jacobian (provided by the user) or compute
* an approximation by themselves (actually using Eigen \ref NumericalDiff_Module).
* The part of API referring to the latter use 'NumericalDiff' in the method names
* (exemple: LevenbergMarquardt.minimizeNumericalDiff() )
*
* The methods LevenbergMarquardt.lmder1()/lmdif1()/lmstr1() and
* HybridNonLinearSolver.hybrj1()/hybrd1() are specific methods from the original
* minpack package that you probably should NOT use but if you port a code that was
* previously using minpack. They just define a 'simple' API with default values
* minpack package that you probably should NOT use until you are porting a code that
* was previously using minpack. They just define a 'simple' API with default values
* for some parameters.
*
* All algorithms are provided using Two APIs :
* - one where you init the algorithm, and use '*OneStep()' as much as you want :
* - one where the user inits the algorithm, and uses '*OneStep()' as much as he wants :
* this way the caller have control over the steps
* - one where you just call a method (optimize() or solve()) which will
* basically do exactly the same : init + loop until a stop condition is met.
* Those are provided for convenience.
* - one where the user just calls a method (optimize() or solve()) which will
* handle the loop: init + loop until a stop condition is met. Those are provided for
* convenience.
*
* As an example, the method LevenbergMarquardt.minimizeNumericalDiff() is
* implemented as follow :

View File

@ -54,7 +54,7 @@ namespace Eigen {
* differenciation software that exist, but should rather stick with those
* basic ones, that still are useful for testing.
*
* Also, the module "Non linear optimization" needs this in order to
* Also, the \ref NonLinearOptimization_Module needs this in order to
* provide full features compatibility with the original (c)minpack
* package.
*