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]
|