Eigen 稀疏矩阵LU分解解方程组

来源:互联网 发布:为知笔记 有道云笔记 编辑:程序博客网 时间:2024/06/05 03:41

下载Eigen、配置目录

这里用LU分解举例

 #include <Eigen/Dense>   #include <Eigen/Sparse>   #include <Eigen/SparseLU>   using namespace Eigen;   //处理矩阵部分   vector<Triplet<float>> triple;//用三元组赋值   triple.push_back(Triplet<float>(i, j,A[i][j]));//ij处的值是A[i][j]   SparseMatrix<float> A(n, n);//定义n*n的系数矩阵  A.setFromTriplets(triple.begin(), triple.end());//三元数给矩阵赋值  SparseLU<SparseMatrix<float>> solver   solver.compute(A);//对A进行预分解  if (solver.info()!=Success)    {        cout << "Compute Matrix is error" << endl;        return;    }   //右端项  VectorXf b(n);//n行的方程组  //求解  x = solver.solve(b);
原创粉丝点击