| // 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 |