| // This file is part of Eigen, a lightweight C++ template library |
| // for linear algebra. |
| // |
| // Copyright (C) 2009 Thomas Capricelli <orzel@freehackers.org> |
| // |
| // This Source Code Form is subject to the terms of the Mozilla |
| // Public License v. 2.0. If a copy of the MPL was not distributed |
| // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| #ifndef EIGEN_NUMERICALDIFF_MODULE_H |
| #define EIGEN_NUMERICALDIFF_MODULE_H |
| |
| #include "../../Eigen/Core" |
| |
| namespace Eigen { |
| |
| /** |
| * \defgroup NumericalDiff_Module Numerical differentiation module |
| * |
| * \code |
| * #include <contrib/Eigen/NumericalDiff> |
| * \endcode |
| * |
| * See http://en.wikipedia.org/wiki/Numerical_differentiation |
| * |
| * Warning : this should NOT be confused with automatic differentiation, which |
| * is a different method and has its own module in Eigen : \ref |
| * AutoDiff_Module. |
| * |
| * NumericalDiff implements the "Forward" and "Central" schemes. Stencil |
| * computes finite-difference weights for arbitrary fixed-size grids and |
| * derivative orders; the caller supplies the points and chooses the |
| * step size. The "Forward" and "Central" schemes are basic methods, and |
| * there exist some more elaborated way of computing such approximates. |
| * They are implemented using both proprietary and free software, and |
| * usually requires linking to an external library. It is very easy for |
| * you to write a functor using such software, and the purpose is quite |
| * orthogonal to what we want to achieve with Eigen. |
| * |
| * This is why we will not provide wrappers for every great numerical |
| * differentiation software that exist, but should rather stick with those |
| * basic ones, that still are useful for testing. |
| * |
| * Also, the \ref NonLinearOptimization_Module needs this in order to |
| * provide full features compatibility with the original (c)minpack |
| * package. |
| * |
| */ |
| } |
| |
| //@{ |
| |
| #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" |
| |
| // IWYU pragma: begin_exports |
| #include "src/NumericalDiff/NumericalDiff.h" |
| #include "src/NumericalDiff/Stencil.h" |
| // IWYU pragma: end_exports |
| |
| #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" |
| |
| //@} |
| |
| #endif // EIGEN_NUMERICALDIFF_MODULE_H |