Embodied AI Glossary中文

Eigen (C++ linear algebra library)

EigenAdvanced

The most widely used open-source C++ linear-algebra library, behind most matrix, vector, and rotation math in robotics code.

Eigen is an open-source, header-only C++ template library for linear algebra — no separate compilation or linking needed, just include it. It provides matrix and vector operations, matrix decompositions, linear-system solving, and geometry modules for quaternions, rotation matrices, and affine transforms. Robotics C++ code is constantly computing coordinate transforms, Jacobians, and dynamics equations, which has made Eigen a de facto standard: ROS, Pinocchio, MoveIt, and OCS2 all depend on it. It's roughly the C++ world's equivalent of NumPy, though details like memory alignment and quaternion component ordering are common early pitfalls.

ExampleIn a controller, represent the end-effector's orientation with Eigen::Quaterniond, and store a Jacobian in an Eigen::MatrixXd, taking its pseudoinverse to compute joint velocities.

Related
Pinocchio · Rotation Matrix · Quaternion · Jacobian Matrix · Python and C++
Sources
Eigen 官网 (Chinese)
Eigen GitLab

See it in the full glossary →