smooth
A C++ library for Lie theory
Loading...
Searching...
No Matches
diff.hpp
Go to the documentation of this file.
1// Copyright (C) 2021-2022 Petter Nilsson. MIT License.
2
3#pragma once
4
10#include <utility>
11
12#include "manifolds.hpp"
13#include "wrt.hpp"
14
15SMOOTH_BEGIN_NAMESPACE
16
17namespace diff {
21enum class Type {
22 Numerical,
23 Autodiff,
25 Ceres,
27 Analytic,
29 Default
30};
31
55template<std::size_t K, Type D>
56auto dr(auto && f, auto && x);
57
67template<std::size_t K, Type D, std::size_t... Idx>
68auto dr(auto && f, auto && x, std::index_sequence<Idx...> idx);
69
82template<std::size_t K>
83auto dr(auto && f, auto && x);
84
94template<std::size_t K, std::size_t... Idx>
95auto dr(auto && f, auto && x, std::index_sequence<Idx...> idx);
96
97} // namespace diff
98
99SMOOTH_END_NAMESPACE
100
101#include "detail/diff_impl.hpp"
auto dr(auto &&f, auto &&x)
Differentiation in tangent space.
Type
Available differentiation methods.
Definition diff.hpp:21
@ Numerical
Numerical (forward) derivatives.
PlainObject< M > Default(Eigen::Index dof)
Default-initialized Manifold.
Definition manifold.hpp:126
Meta header to include all Manifold concept model specifications.