Eigen(c++) 中的 MatrixXd 和 VectorXd 定义在哪里?我无法通过 grep 命令找到它们的定义

Where are the MatrixXd and VectorXd define in Eigen(c++)? I can't find the definition of them through the grep command

我搜索了整个Eigen(https://github.com/eigenteam/eigen-git-mirror)的源代码,但无法细化某些类型的定义,例如MatrixXd和VectorXd。

Eigen(https://eigen.tuxfamily.org/dox/group__matrixtypedefs.html#ga99b41a69f0bf64eadb63a97f357ab412)的文档说MatrixXd定义为

typedef Matrix< double , Dynamic , Dynamic > Eigen::MatrixXd

但是我没有找到他们的源代码。

MatrixXd 由行 451 of Matrix.h.

上的宏 EIGEN_MAKE_TYPEDEFS_ALL_SIZES(double, d) 的扩展定义

事实上,该宏最终扩展为 Matrix2dVector2dRowVector2dMatrix3dVector3d、[=17 的类型定义=], Matrix4d, Vector4d, RowVector4d, MatrixXd, VectorXd, RowVectorXd, Matrix2Xd, MatrixX2d , Matrix3Xd, MatrixX3d, Matrix4Xd, 和 MatrixX4d.