W3cubDocs

/Eigen3

Global matrix typedefs

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 = Matrix< Type, 2, 2 >
[c++11]
template<typename Type >
using Eigen::Matrix2X = Matrix< Type, 2, Dynamic >
[c++11]
template<typename Type >
using Eigen::Matrix3 = Matrix< Type, 3, 3 >
[c++11]
template<typename Type >
using Eigen::Matrix3X = Matrix< Type, 3, Dynamic >
[c++11]
template<typename Type >
using Eigen::Matrix4 = Matrix< Type, 4, 4 >
[c++11]
template<typename Type >
using Eigen::Matrix4X = Matrix< Type, 4, Dynamic >
[c++11]
template<typename Type >
using Eigen::MatrixX = Matrix< Type, Dynamic, Dynamic >
[c++11]
template<typename Type >
using Eigen::MatrixX2 = Matrix< Type, Dynamic, 2 >
[c++11]
template<typename Type >
using Eigen::MatrixX3 = Matrix< Type, Dynamic, 3 >
[c++11]
template<typename Type >
using Eigen::MatrixX4 = Matrix< Type, Dynamic, 4 >
[c++11]
template<typename Type , int Size>
using Eigen::RowVector = Matrix< Type, 1, Size >
[c++11]
template<typename Type >
using Eigen::RowVector2 = Matrix< Type, 1, 2 >
[c++11]
template<typename Type >
using Eigen::RowVector3 = Matrix< Type, 1, 3 >
[c++11]
template<typename Type >
using Eigen::RowVector4 = Matrix< Type, 1, 4 >
[c++11]
template<typename Type >
using Eigen::RowVectorX = Matrix< Type, 1, Dynamic >
[c++11]
template<typename Type , int Size>
using Eigen::Vector = Matrix< Type, Size, 1 >
[c++11]
template<typename Type >
using Eigen::Vector2 = Matrix< Type, 2, 1 >
[c++11]
template<typename Type >
using Eigen::Vector3 = Matrix< Type, 3, 1 >
[c++11]
template<typename Type >
using Eigen::Vector4 = Matrix< Type, 4, 1 >
[c++11]
template<typename Type >
using Eigen::VectorX = Matrix< Type, Dynamic, 1 >
[c++11]

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/group__matrixtypedefs.html