当前位置:   article > 正文

Eigen 稀疏矩阵LU分解解方程组_eigen进行lu分解

eigen进行lu分解

下载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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/78182
推荐阅读
  

闽ICP备14008679号