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<Scalar>用来记录稀疏矩阵中非零元素的行索引、列索引、数值
//记录稀疏矩阵的非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