eigen是乙個c++開源線性代數庫。提供有關矩陣的的線性代數運算,解方程等功能。
官方的文件在此,本文是簡單的使用,以slam十四講**閱讀,快速入門。
$ sudo apt-get install libeigen3-dev
module
contents
#include
matrix and array classes, basic linear algebra (including triangular and selfadjoint products), array manipulation
#include
transform, translation, scaling, rotation2d and 3d rotations (quaternion, angleaxis)
#include
inverse, determinant, lu decompositions with solver (fullpivlu, partialpivlu)
#include
llt and ldlt cholesky factorization with solver
#include
householder transformations; this module is used by several linear algebra modules
#include
svd decompositions with least-squares solver (jacobisvd, bdcsvd)
#include
qr decomposition with solver (householderqr, colpivhouseholderqr, fullpivhouseholderqr)
#include
eigenvalue, eigenvector decompositions (eigensolver, selfadjointeigensolver, complexeigensolver)
#include
sparse matrix storage and related basic linear algebra (sparsematrix, sparsevector)
#include
includes core, geometry, lu, cholesky, svd, qr, and eigenvalues header files
#include
includes dense and sparse header files (the whole eigen library)
文件很多,形式多樣,具體見下面的**段及注釋。
#inlcude #include #include using namespace std;
int main( int argc, char** ar** )
下面看下如何用eigen來進行旋轉、平移的剛體變換矩陣,以及旋轉矩陣,尤拉角,四元數之間的轉換和運算。
#include #include using namespace std;
#include // eigen 幾何模組
#include /****************************
* 本程式演示了 eigen 幾何模組的使用方法
****************************/
int main ( int argc, char** ar** )
{ // eigen/geometry 模組提供了各種旋轉和平移的表示
// 3d 旋轉矩陣直接使用 matrix3d 或 matrix3f
eigen::matrix3d rotation_matrix = eigen::matrix3d::identity();
// 旋轉向量使用 angleaxis, 它底層不直接是matrix,但運算可以當作矩陣(因為過載了運算子)
eigen::angleaxisd rotation_vector ( m_pi/4, eigen::vector3d ( 0,0,1 ) ); //沿 z 軸旋轉 45 度
cout .precision(3);
cout<
用到的就是這些函式。
其中ctime用於計時。
**讀完,應該能理解不少,如果其他需求還需要看官方文件。
這篇部落格不錯
eigen 的簡單使用
eigen的基本函式 eigen是可以用來進行線性代數 矩陣 向量操作等運算的c 庫,它裡面包含了很多演算法。它的license是mpl2。它支援多平台。eigen採用原始碼的方式提供給使用者使用,在使用時只需要包含eigen的標頭檔案即可進行使用。之所以採用這種方式,是因為eigen採用模板方式實...
Eigen介紹及簡單使用
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!eigen是可以用來進行線性代數 矩陣 向量操作等運算的c 庫,它裡面包含了很多演算法。它的license是mpl2。它支援多平台。eigen採用原始碼的方式提供給使用者使用,在使用時只需要包含eigen的標頭檔案即可進行使用。之所以採用這種方式,...
Qt使用Eigen矩陣庫
eigen官網 解壓後放在任意資料夾內,然後在qt專案中的pro檔案中加上eigen的目錄 如果沒有載入成功,重新構築即可 includepath d eigen3新增標頭檔案 include定義向量 字尾是變數型別,例如float矩陣是matrix2f vector2d a 5.0,6.0 cou...