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

下载Eigen、配置目录

这里用LU分解举例

 #include 
   #include 
   #include 
   using namespace Eigen;
   //处理矩阵部分
   vectorfloat>> 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());//三元数给矩阵赋值
  SparseLUfloat>> solver
   solver.compute(A);//对A进行预分解
  if (solver.info()!=Success)
    {
        cout << "Compute Matrix is error" << endl;
        return;
    }
   //右端项
  VectorXf b(n);//n行的方程组
  //求解
  x = solver.solve(b);

你可能感兴趣的:(编程C/C++,Python等)