您的位置:首页 > 编程语言 > C语言/C++

C++矩阵处理工具Eigen类浅析

2015-12-03 14:44 465 查看

参考

http://eigen.tuxfamily.org/dox/classEigen_1_1Matrix.html

1.Matrix 矩阵

矩阵类多用于单列vector和单行的vector,多用于密集型矩阵或者vectors容器。Vector是只有一列的矩阵,row-vector是只有一行的矩阵。可以定义为固定大小或者动态大小。

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>

class Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >

The matrix class, also used for vectors and row-vectors.

The Matrix class is the work-horse for all dense (note) matrices
and vectors within Eigen.
Vectors are matrices with one column, and row-vectors are matrices with one row.

The Matrix class encompasses both fixed-size and dynamic-size objects (note).

The first three template parameters are required:(类型,行、列)

Template Parameters
_Scalar@anchormatrix_tparam_scalar Numeric type, e.g. float, double, int or std::complex<float>. User defined sclar types are supported as well (see here).
_RowsNumber of rows, or Dynamic
_ColsNumber of columns, or Dynamic

2.定义类型

Typedefs

typedef Matrix< std::complex

< double >, 2, 2 >
Matrix2cd
typedef Matrix< std::complex

< float >, 2, 2 >
Matrix2cf
typedef Matrix< double, 2, 2 > Matrix2d
typedef Matrix< float, 2, 2 > Matrix2f
typedef Matrix< int, 2, 2 > Matrix2i
typedef Matrix< std::complex

< double >, 2, Dynamic >
Matrix2Xcd
typedef Matrix< std::complex

< float >, 2, Dynamic >
Matrix2Xcf
typedef Matrix< double,

2, Dynamic >
Matrix2Xd
typedef Matrix< float, 2, Dynamic > Matrix2Xf
typedef Matrix< int, 2, Dynamic > Matrix2Xi
typedef Matrix< std::complex

< double >, 3, 3 >
Matrix3cd
typedef Matrix< std::complex

< float >, 3, 3 >
Matrix3cf
typedef Matrix< double, 3, 3 > Matrix3d
typedef Matrix< float, 3, 3 > Matrix3f
typedef Matrix< int, 3, 3 > Matrix3i
typedef Matrix< std::complex

< double >, 3, Dynamic >
Matrix3Xcd
typedef Matrix< std::complex

< float >, 3, Dynamic >
Matrix3Xcf
typedef Matrix< double,

3, Dynamic >
Matrix3Xd
typedef Matrix< float, 3, Dynamic > Matrix3Xf
typedef Matrix< int, 3, Dynamic > Matrix3Xi
typedef Matrix< std::complex

< double >, 4, 4 >
Matrix4cd
typedef Matrix< std::complex

< float >, 4, 4 >
Matrix4cf
typedef Matrix< double, 4, 4 > Matrix4d
typedef Matrix< float, 4, 4 > Matrix4f
typedef Matrix< int, 4, 4 > Matrix4i
typedef Matrix< std::complex

< double >, 4, Dynamic >
Matrix4Xcd
typedef Matrix< std::complex

< float >, 4, Dynamic >
Matrix4Xcf
typedef Matrix< double,

4, Dynamic >
Matrix4Xd
typedef Matrix< float, 4, Dynamic > Matrix4Xf
typedef Matrix< int, 4, Dynamic > Matrix4Xi
typedef Matrix< std::complex

< double >, Dynamic, 2 >
MatrixX2cd
typedef Matrix< std::complex

< float >, Dynamic, 2 >
MatrixX2cf
typedef Matrix< double,

Dynamic, 2 >
MatrixX2d
typedef Matrix< float, Dynamic, 2 > MatrixX2f
typedef Matrix< int, Dynamic, 2 > MatrixX2i
typedef Matrix< std::complex

< double >, Dynamic, 3 >
MatrixX3cd
typedef Matrix< std::complex

< float >, Dynamic, 3 >
MatrixX3cf
typedef Matrix< double,

Dynamic, 3 >
MatrixX3d
typedef Matrix< float, Dynamic, 3 > MatrixX3f
typedef Matrix< int, Dynamic, 3 > MatrixX3i
typedef Matrix< std::complex

< double >, Dynamic, 4 >
MatrixX4cd
typedef Matrix< std::complex

< float >, Dynamic, 4 >
MatrixX4cf
typedef Matrix< double,

Dynamic, 4 >
MatrixX4d
typedef Matrix< float, Dynamic, 4 > MatrixX4f
typedef Matrix< int, Dynamic, 4 > MatrixX4i
typedef Matrix< std::complex

< double >, Dynamic, Dynamic >
MatrixXcd
typedef Matrix< std::complex

< float >, Dynamic, Dynamic >
MatrixXcf
typedef Matrix< double,

Dynamic, Dynamic >
MatrixXd
typedef Matrix< float, Dynamic,

Dynamic >
MatrixXf
typedef Matrix< int, Dynamic,

Dynamic >
MatrixXi
typedef Matrix< std::complex

< double >, 1, 2 >
RowVector2cd
typedef Matrix< std::complex

< float >, 1, 2 >
RowVector2cf
typedef Matrix< double, 1, 2 > RowVector2d
typedef Matrix< float, 1, 2 > RowVector2f
typedef Matrix< int, 1, 2 > RowVector2i
typedef Matrix< std::complex

< double >, 1, 3 >
RowVector3cd
typedef Matrix< std::complex

< float >, 1, 3 >
RowVector3cf
typedef Matrix< double, 1, 3 > RowVector3d
typedef Matrix< float, 1, 3 > RowVector3f
typedef Matrix< int, 1, 3 > RowVector3i
typedef Matrix< std::complex

< double >, 1, 4 >
RowVector4cd
typedef Matrix< std::complex

< float >, 1, 4 >
RowVector4cf
typedef Matrix< double, 1, 4 > RowVector4d
typedef Matrix< float, 1, 4 > RowVector4f
typedef Matrix< int, 1, 4 > RowVector4i
typedef Matrix< std::complex

< double >, 1, Dynamic >
RowVectorXcd
typedef Matrix< std::complex

< float >, 1, Dynamic >
RowVectorXcf
typedef Matrix< double,

1, Dynamic >
RowVectorXd
typedef Matrix< float, 1, Dynamic > RowVectorXf
typedef Matrix< int, 1, Dynamic > RowVectorXi
typedef Matrix< std::complex

< double >, 2, 1 >
Vector2cd
typedef Matrix< std::complex

< float >, 2, 1 >
Vector2cf
typedef Matrix< double, 2, 1 > Vector2d
typedef Matrix< float, 2, 1 > Vector2f
typedef Matrix< int, 2, 1 > Vector2i
typedef Matrix< std::complex

< double >, 3, 1 >
Vector3cd
typedef Matrix< std::complex

< float >, 3, 1 >
Vector3cf
typedef Matrix< double, 3, 1 > Vector3d
typedef Matrix< float, 3, 1 > Vector3f
typedef Matrix< int, 3, 1 > Vector3i
typedef Matrix< std::complex

< double >, 4, 1 >
Vector4cd
typedef Matrix< std::complex

< float >, 4, 1 >
Vector4cf
typedef Matrix< double, 4, 1 > Vector4d
typedef Matrix< float, 4, 1 > Vector4f
typedef Matrix< int, 4, 1 > Vector4i
typedef Matrix< std::complex

< double >, Dynamic, 1 >
VectorXcd
typedef Matrix< std::complex

< float >, Dynamic, 1 >
VectorXcf
typedef Matrix< double,

Dynamic, 1 >
VectorXd
typedef Matrix< float, Dynamic, 1 > VectorXf
typedef Matrix< int, Dynamic, 1 > VectorXi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: