|
Metis 2.0.0
High-performance C++20 dual-mode numerical framework
|
Finite difference weights, derivative approximations, and integration defects. More...
#include "metis/core/MetisError.hpp"#include "metis/core/MetisTypes.hpp"#include <Eigen/Dense>#include <cmath>#include <string>#include <vector>

Go to the source code of this file.
Namespaces | |
| namespace | metis |
Enumerations | |
| enum class | metis::IntegrationMethod { metis::ForwardEuler , metis::BackwardEuler , metis::Trapezoidal , metis::Midpoint } |
| Integration/differentiation method for trajectory optimization. More... | |
Functions | |
| IntegrationMethod | metis::parse_integration_method (const std::string &method) |
| Parse integration method from string. | |
| template<typename Scalar> | |
| std::pair< Scalar, Scalar > | metis::forward_euler_weights (Scalar h) |
| Forward Euler (explicit) differentiation weights. | |
| template<typename Scalar> | |
| std::pair< Scalar, Scalar > | metis::backward_euler_weights (Scalar h) |
| Backward Euler (implicit) differentiation weights. | |
| template<typename Scalar> | |
| std::pair< Scalar, Scalar > | metis::central_difference_weights (Scalar h) |
| Central difference differentiation weights. | |
| template<typename Scalar> | |
| std::pair< Scalar, Scalar > | metis::trapezoidal_weights (Scalar h) |
| Trapezoidal integration weights. | |
| template<typename Scalar> | |
| MetisVector< Scalar > | metis::forward_difference (const MetisVector< Scalar > &f, const MetisVector< Scalar > &x) |
| Compute derivative using forward difference. | |
| template<typename Scalar> | |
| MetisVector< Scalar > | metis::backward_difference (const MetisVector< Scalar > &f, const MetisVector< Scalar > &x) |
| Compute derivative using backward difference. | |
| template<typename Scalar> | |
| MetisVector< Scalar > | metis::central_difference (const MetisVector< Scalar > &f, const MetisVector< Scalar > &x) |
| Compute derivative using central difference. | |
| template<typename Scalar> | |
| MetisVector< Scalar > | metis::integration_defects (const MetisVector< Scalar > &x, const MetisVector< Scalar > &xdot, const MetisVector< Scalar > &t, IntegrationMethod method=IntegrationMethod::Trapezoidal) |
| Compute integration defects for derivative constraints. | |
| template<typename Scalar> | |
| MetisVector< Scalar > | metis::finite_difference_coefficients (const MetisVector< Scalar > &x, Scalar x0=Scalar(0.0), int derivative_degree=1) |
| Computes finite difference coefficients for arbitrary grids. | |
Finite difference weights, derivative approximations, and integration defects.