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

Go to the source code of this file.
Namespaces | |
| namespace | janus |
Enumerations | |
| enum class | janus::IntegrationMethod { janus::ForwardEuler , janus::BackwardEuler , janus::Trapezoidal , janus::Midpoint } |
| Integration/differentiation method for trajectory optimization. More... | |
Functions | |
| IntegrationMethod | janus::parse_integration_method (const std::string &method) |
| Parse integration method from string. | |
| template<typename Scalar> | |
| std::pair< Scalar, Scalar > | janus::forward_euler_weights (Scalar h) |
| Forward Euler (explicit) differentiation weights. | |
| template<typename Scalar> | |
| std::pair< Scalar, Scalar > | janus::backward_euler_weights (Scalar h) |
| Backward Euler (implicit) differentiation weights. | |
| template<typename Scalar> | |
| std::pair< Scalar, Scalar > | janus::central_difference_weights (Scalar h) |
| Central difference differentiation weights. | |
| template<typename Scalar> | |
| std::pair< Scalar, Scalar > | janus::trapezoidal_weights (Scalar h) |
| Trapezoidal integration weights. | |
| template<typename Scalar> | |
| JanusVector< Scalar > | janus::forward_difference (const JanusVector< Scalar > &f, const JanusVector< Scalar > &x) |
| Compute derivative using forward difference. | |
| template<typename Scalar> | |
| JanusVector< Scalar > | janus::backward_difference (const JanusVector< Scalar > &f, const JanusVector< Scalar > &x) |
| Compute derivative using backward difference. | |
| template<typename Scalar> | |
| JanusVector< Scalar > | janus::central_difference (const JanusVector< Scalar > &f, const JanusVector< Scalar > &x) |
| Compute derivative using central difference. | |
| template<typename Scalar> | |
| JanusVector< Scalar > | janus::integration_defects (const JanusVector< Scalar > &x, const JanusVector< Scalar > &xdot, const JanusVector< Scalar > &t, IntegrationMethod method=IntegrationMethod::Trapezoidal) |
| Compute integration defects for derivative constraints. | |
| template<typename Scalar> | |
| JanusVector< Scalar > | janus::finite_difference_coefficients (const JanusVector< 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.