pinocchio 4.1.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
math.hpp
1//
2// Copyright (c) INRIA 2026
3//
4#pragma once
5
6// IWYU pragma: begin_keep
7#include <Eigen/Core>
8#include <Eigen/Geometry>
9#include <Eigen/SVD>
10#include <unsupported/Eigen/CXX11/Tensor>
11
12#include <cassert>
13#include <cmath>
14#include <limits>
15#include <cstddef>
16#include <type_traits>
17#include <vector>
18
19#include <boost/type_traits.hpp>
20#include <boost/math/constants/constants.hpp>
21
22#include "pinocchio/context.hpp"
23#include "pinocchio/multibody/fwd.hpp"
24// TODO This is done for pinocchio 3 back compatibility
25#include <pinocchio/config.hpp>
26
27#include "pinocchio/macros.hpp"
28#include "pinocchio/eigen-common.hpp"
29
30#include "pinocchio/container/matrix-stack.hpp"
31
32#include "pinocchio/utils/alloca.hpp"
33#include "pinocchio/utils/size-in-bytes.hpp"
34#include "pinocchio/utils/eigen-helpers.hpp"
35#include "pinocchio/utils/static-if.hpp"
36#include "pinocchio/utils/check.hpp"
37// IWYU pragma: end_keep
38
39// IWYU pragma: begin_exports
40#include "pinocchio/src/math/fwd.hxx"
41#include "pinocchio/src/math/eigen-helpers.hxx"
42#include "pinocchio/src/math/comparison-operators.hxx"
43#include "pinocchio/src/math/assign-operators.hxx"
44#include "pinocchio/src/math/alias.hxx"
45#include "pinocchio/src/math/taylor-expansion.hxx"
46#include "pinocchio/src/math/matrix.hxx"
47#include "pinocchio/src/math/sincos.hxx"
48#include "pinocchio/src/math/rpy.hxx"
49#include "pinocchio/src/math/rotation.hxx"
50#include "pinocchio/src/math/quaternion.hxx"
51#include "pinocchio/src/math/matrix-info.hxx"
52#include "pinocchio/src/math/triangular-matrix.hxx"
53#include "pinocchio/src/math/matrix-block.hxx"
54#include "pinocchio/src/math/tensor.hxx"
55#include "pinocchio/src/math/eigenvalues.hxx"
56#include "pinocchio/src/math/gram-schmidt-orthonormalisation.hxx"
57#include "pinocchio/src/math/sign.hxx"
58#include "pinocchio/src/math/eigenvalues-tridiagonal-matrix.hxx"
59#include "pinocchio/src/math/tridiagonal-matrix.hxx"
60#include "pinocchio/src/math/lanczos-decomposition.hxx"
61#include "pinocchio/src/math/arithmetic-operators.hxx"
62
63#include "pinocchio/src/math/matrix-inverse-code-generated.hxx"
64#include "pinocchio/src/math/details/matrix-inverse-1x1.hxx"
65#include "pinocchio/src/math/details/matrix-inverse-2x2.hxx"
66#include "pinocchio/src/math/details/matrix-inverse-3x3.hxx"
67#include "pinocchio/src/math/details/matrix-inverse-4x4.hxx"
68#include "pinocchio/src/math/details/matrix-inverse-5x5.hxx"
69#include "pinocchio/src/math/details/matrix-inverse-6x6.hxx"
70#include "pinocchio/src/math/details/matrix-inverse-7x7.hxx"
71#include "pinocchio/src/math/details/matrix-inverse-8x8.hxx"
72#include "pinocchio/src/math/details/matrix-inverse-9x9.hxx"
73#include "pinocchio/src/math/details/matrix-inverse-10x10.hxx"
74#include "pinocchio/src/math/details/matrix-inverse-11x11.hxx"
75#include "pinocchio/src/math/details/matrix-inverse-12x12.hxx"
76#include "pinocchio/src/math/matrix-inverse.hxx"
77#include "pinocchio/src/math/matrix-product.hxx"
78
79#include "pinocchio/src/math/matrix-block-type.hxx"
80#include "pinocchio/src/math/matrix-block-element-operation.hxx"
81#include "pinocchio/src/math/matrix-block-element-operations.hxx"
82#include "pinocchio/src/math/matrix-block-element-base.hxx"
83#include "pinocchio/src/math/matrix-block-element-plain.hxx"
84#include "pinocchio/src/math/matrix-block-element.hxx"
85
86#include "pinocchio/src/math/block-diagonal-matrix-base.hxx"
87#include "pinocchio/src/math/block-diagonal-matrix-expression.hxx"
88#include "pinocchio/src/math/block-diagonal-matrix-sum.hxx"
89#include "pinocchio/src/math/block-diagonal-matrix-inverse.hxx"
90#include "pinocchio/src/math/block-diagonal-matrix.hxx"
91// IWYU pragma: end_exports