Eigen-库的入门学习

目录

  • Eigen中的矩阵操作
    • 稀疏矩阵的构建
  • 向量的操作

Eigen中的矩阵操作

官方入门文档

稀疏矩阵的构建

typedef Eigen::Triplet<Scalar> Triplet_My;

//构建稀疏矩阵mat_V0_
Eigen::SparseMatrix<double> mat_V0_; 
mat_V0_.resize(n_src_vertex_, 4 * n_src_vertex_);
std::vector<Triplet_My> coeffv;
coeffv.reserve(4 * n_src_vertex_);

//Eigen::Triplet用来记录稀疏矩阵中非零元素的行索引、列索引、数值
//记录稀疏矩阵的非0值
for (int i = 0; i < n_src_vertex_; i++)
{
	for (int j = 0; j < 3; j++)
	{
	coeffv.push_back(Triplet_My(i, 4 * i + j, src_mesh_->point(src_mesh_->vertex_handle(i))[j]));
	}
}

mat_V0_.setFromTriplets(coeffv.begin(), coeffv.end());
coeffv.clear();

Eigen::Map

向量的操作

EIgen中向量的基本操作1
EIgen中向量的基本操作2
EIgen中向量的进阶操作1

你可能感兴趣的:(#,编程-C++编程及用到的相关库,c++)