1 // This file is part of Eigen, a lightweight C++ template library 2 // for linear algebra. 3 // 4 // Copyright (C) 2009 Thomas Capricelli <orzel (a] freehackers.org> 5 // 6 // This Source Code Form is subject to the terms of the Mozilla 7 // Public License v. 2.0. If a copy of the MPL was not distributed 8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 10 #ifndef EIGEN_NUMERICALDIFF_MODULE 11 #define EIGEN_NUMERICALDIFF_MODULE 12 13 #include <Eigen/Core> 14 15 namespace Eigen { 16 17 /** 18 * \defgroup NumericalDiff_Module Numerical differentiation module 19 * 20 * \code 21 * #include <unsupported/Eigen/NumericalDiff> 22 * \endcode 23 * 24 * See http://en.wikipedia.org/wiki/Numerical_differentiation 25 * 26 * Warning : this should NOT be confused with automatic differentiation, which 27 * is a different method and has its own module in Eigen : \ref 28 * AutoDiff_Module. 29 * 30 * Currently only "Forward" and "Central" schemes are implemented. Those 31 * are basic methods, and there exist some more elaborated way of 32 * computing such approximates. They are implemented using both 33 * proprietary and free software, and usually requires linking to an 34 * external library. It is very easy for you to write a functor 35 * using such software, and the purpose is quite orthogonal to what we 36 * want to achieve with Eigen. 37 * 38 * This is why we will not provide wrappers for every great numerical 39 * differentiation software that exist, but should rather stick with those 40 * basic ones, that still are useful for testing. 41 * 42 * Also, the \ref NonLinearOptimization_Module needs this in order to 43 * provide full features compatibility with the original (c)minpack 44 * package. 45 * 46 */ 47 } 48 49 //@{ 50 51 #include "src/NumericalDiff/NumericalDiff.h" 52 53 //@} 54 55 56 #endif // EIGEN_NUMERICALDIFF_MODULE 57