16 #ifndef OPENKALMAN_IDENTITYTRANSFORMATION_HPP 17 #define OPENKALMAN_IDENTITYTRANSFORMATION_HPP 29 struct IdentityTransformation;
35 template<std::
size_t order> requires (order <= 1)
36 struct is_linearized_function<IdentityTransformation, order> :
std::true_type {};
38 template<std::
size_t order>
39 struct is_linearized_function<IdentityTransformation, order,
std::enable_if_t<order <= 1>> : std::true_type {};
48 template<transformation_input In, perturbation<vector_space_descriptor_of_t<In, 0>> ... Perturbations>
50 template<
typename In,
typename ... Perturbations, std::enable_if_t<transformation_input<In> and
55 return make_self_contained((std::forward<In>(in) + ... + std::forward<Perturbations>(ps)));
61 template<transformation_input In, perturbation<vector_space_descriptor_of_t<In, 0>> ... Perturbations>
63 template<
typename In,
typename ... Perturbations, std::enable_if_t<transformation_input<In> and
66 auto jacobian(In&& in, Perturbations&&...ps)
const 68 return std::make_tuple(
78 #endif //OPENKALMAN_IDENTITYTRANSFORMATION_HPP Definition: tuple_reverse.hpp:103
The root namespace for OpenKalman.
Definition: basics.hpp:34
constexpr auto make_identity_matrix_like(Descriptors &&descriptors)
Make an identity_matrix with a particular set of coordinates::pattern objects.
Definition: make_identity_matrix_like.hpp:35
typename vector_space_descriptor_of< T, N >::type vector_space_descriptor_of_t
helper template for vector_space_descriptor_of.
Definition: vector_space_descriptor_of.hpp:56
constexpr auto make_zero(Descriptors &&descriptors)
Make a zero associated with a particular library.
Definition: make_zero.hpp:36
Definition: basics.hpp:48