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 [c++11], 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 [c++11], you can also use fully generic column and row vector types: Vector<Type,Size> and RowVector<Type,Size>.
- See also
- class Matrix
|
|
template<typename Type> |
| using | Eigen::Matrix2 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::Matrix2X |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::Matrix3 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::Matrix3X |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::Matrix4 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::Matrix4X |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::MatrixX |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::MatrixX2 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::MatrixX3 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::MatrixX4 |
| | [c++11]
|
|
template<typename Type, int Size> |
| using | Eigen::RowVector |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::RowVector2 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::RowVector3 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::RowVector4 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::RowVectorX |
| | [c++11]
|
|
template<typename Type, int Size> |
| using | Eigen::Vector |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::Vector2 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::Vector3 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::Vector4 |
| | [c++11]
|
|
template<typename Type> |
| using | Eigen::VectorX |
| | [c++11]
|