C++矩陣處理工具Eigen類淺析

參考

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@anchor matrix_tparam_scalar Numeric type, e.g. float, double, int or std::complex<float>. User defined sclar types are supported as well (see here).
_Rows Number of rows, or Dynamic
_Cols Number 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章