
Eigen defines several typedef shortcuts for most common matrix and vector types.
The general patterns are the following:
MatrixSizeType where Size can be 2,3,4 for fixed size square matrices or X for dynamic size, and where Type can be i for integer, f for float, d for double, cf for complex float, cd for complex double.
For example, Matrix3d is a fixed-size 3x3 matrix type of doubles, and MatrixXf is a dynamic-size matrix of floats.
There are also VectorSizeType and RowVectorSizeType which are self-explanatory. For example, Vector4cf is a fixed-size vector of 4 complex floats.
With \cpp11, template alias are also defined for common sizes. They follow the same pattern as above except that the scalar type suffix is replaced by a template parameter, i.e.:
MatrixSize<Type> where Size can be 2,3,4 for fixed size square matrices or X for dynamic size.MatrixXSize<Type> and MatrixSizeX<Type> where Size can be 2,3,4 for hybrid dynamic/fixed matrices.VectorSize<Type> and RowVectorSize<Type> for column and row vectors.With \cpp11, you can also use fully generic column and row vector types: Vector<Type,Size> and RowVector<Type,Size>.