File util.h¶
-
namespace sym
Functions
-
template<typename T>
T Interpolate(const T &a, const T &b, const typename StorageOps<T>::Scalar t, const typename StorageOps<T>::Scalar epsilon = kDefaultEpsilon<typename StorageOps<T>::Scalar>)¶ Interpolation between Lie group elements a and b. Result is a linear interpolation by coefficient t (in [0, 1]) in the tangent space around a
This function version will not always be usable for passing into things that expect a functor callable with three arguments; for those applications, use sym::Interpolator<T>{}
-
template<typename F, typename X>
auto NumericalDerivative(const F f, const X &x, const typename sym::StorageOps<X>::Scalar epsilon = kDefaultEpsilon<typename StorageOps<X>::Scalar>, const typename sym::StorageOps<X>::Scalar delta = 1e-2f)¶ Compute the numerical derivative of a function using a central difference approximation
TODO(aaron): Add a higher-order approximation to the derivative either as an option or as the default
- Parameters:
f – The function to differentiate
x – Input at which to calculate the derivative
epsilon – Epsilon for Lie Group operations
delta – Derivative step size
-
template<typename T>
std::enable_if_t<kIsEigenType<T>, bool> IsApprox(const T &a, const T &b, const typename StorageOps<T>::Scalar epsilon)¶
-
template<typename T>
std::enable_if_t<!kIsEigenType<T>, bool> IsApprox(const T &a, const T &b, const typename StorageOps<T>::Scalar epsilon)¶
-
template<typename T>
class Interpolator¶ - #include <util.h>
Interpolation between Lie group elements a and b. Result is a linear interpolation by coefficient t (in [0, 1]) in the tangent space around a
Public Types
-
using Scalar = typename sym::StorageOps<T>::Scalar¶
Public Functions
-
inline explicit Interpolator(const Scalar epsilon = kDefaultEpsilon<Scalar>)¶
-
using Scalar = typename sym::StorageOps<T>::Scalar¶
-
template<typename T>