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);
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值