参考自Eigen文档
代码如下:

#include <Eigen/Sparse>typedef Eigen::SparseMatrix<double> SpMat;
typedef Eigen::Triplet<double> Trip;int main()
{//设置Triplet列表,该列表可以表示稀疏矩阵std::vector<Trip> tripletList(9);tripletList.push_back(Trip(0, 0, 10));tripletList.push_back(Trip(0, 1, -2));tripletList.push_back(Trip(0, 2, -2));tripletList.push_back(Trip(1, 0, -2));tripletList.push_back(Trip(1, 1, 10));tripletList.push_back(Trip(1, 2, -1));tripletList.push_back(Trip(2, 0, -2));tripletList.push_back(Trip(2, 1, -1));tripletList.push_back(Trip(2, 2, 3));//用Triplet列表构造稀疏矩阵SpMat mat(3, 3);mat.setFromTriplets(tripletList.begin(), tripletList.end());//使用Cholesky分解矩阵mat(LDLT分解)Eigen::SimplicialLDLT<SpMat> chol(mat); //构造右端项Eigen::VectorXd b(3);b.coeffRef(0) = 1.0;b.coeffRef(1) = 0.5;b.coeffRef(2) = 1.0;//求解方程,回代Eigen::VectorXd x = chol.solve(b);//输出结果for (int i = 0; i < 3; i++){std::cout << x.coeffRef(i) << std::endl;}return 0;
}

Eigen求解大型稀疏对称矩阵(Cholesky分解)相关推荐

  1. C++实现Cholesky分解

    题目: 编制程序求解矩阵 A 的 Cholesky 分解,并用程序求解方程组 Ax=b,其中 代码实现: #include <iostream> #include <math.h&g ...

  2. 大型稀疏线性方程组求解技术——工业仿真的底层核心

    背  景 在工业仿真领域,对各种现实世界的问题进行数值模拟时,如流体动力学分析.电磁场仿真.结构力学应力应变分析等,其控制方程通常是偏微分方程组,在经过不同方法的隐式离散之后最终都可转化为大型稀疏线性 ...

  3. Eigen密集矩阵求解 1 - 线性代数及矩阵分解

    简介 这里介绍线性系统的解析,如何进行各种分解计算,如LU,QR,SVD,特征值分解等. 简单线性求解 在一个线性系统,常如下表示,其中A,b分别是一个矩阵,需要求x: Ax=bAx \:= \: b ...

  4. 三十分钟理解:矩阵Cholesky分解,及其在求解线性方程组、矩阵逆的应用

    写一篇关于Cholesky分解的文章,作为学习笔记,尽量一文看懂矩阵Cholesky分解,以及用Cholesky分解来求解对称正定线性方程组,以及求对称正定矩阵的逆的应用. 文章目录 直接Choles ...

  5. cholesky 分解加速求解线性方程组

    原理 求解 A x = b Ax=b Ax=b 若 A A A对称正定,对其分解: A = L L ⊤ A = LL^\top A=LL⊤ 故 L L ⊤ x = b LL^\top x = b LL ...

  6. 矩阵的Cholesky分解

    原文链接:矩阵的Cholesky分解 首先来复习线性代数中几个重要的概念. 1)如果一个复矩阵A = A*(共轭转置),则A称为Hermitian矩阵.(注意,矩阵A转置后仍为其本身,显然A一定是方阵 ...

  7. 几种矩阵分解算法: LU分解,Cholesky分解,QR分解,SVD分解,Jordan分解

    目录 1.LU分解 2. LDLT分解法 3. Cholesky分解的形式 4. QR分解 5.SVD分解 5.1 SVD与广义逆矩阵 6. Jordan 分解 参考文章: ---------我只是搬 ...

  8. Cholesky分解—概率密度分布及累计概率分布(完整代码分享)

    目录 概述: 分解条件: 代码: 结果: 概述: Cholesky分解是一种分解矩阵的方法, 在线性代数中有重要的应用.Cholesky分解把矩阵分解为一个下三角矩阵以及它的共轭转置矩阵的乘积(那实数 ...

  9. 求解大型 COMSOL 模型需要多少内存?

    COMSOL Multiphysics能求解多大的模型是我们最常碰到的问题之一.这个问题其实很难直接回答,因此在本篇博客中,我们将讨论内存需求.模型大小.以及用户如何预测在求解大型三维有限元问题时所需 ...

最新文章

  1. OpenCV-Java版学习(2.图像入门)
  2. android 将bitmap存为 bmp格式图片大小,Android Bitmap保存為.bmp格式,圖像轉化為黑白圖片...
  3. django之ORM介绍与基本用法(一)
  4. CentOS thrift python demo
  5. 吴恩达神经网络1-2-2_图神经网络进行药物发现-第2部分
  6. sybase不支持的条件表达式_包教包会!7段代码带你玩转Python条件语句(附代码)...
  7. 等级VIN行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. linux tar 基本格式、常用选项、压缩与解压缩
  9. concurrent.futures 使用及解析
  10. Mac上重装pycharm打不开的解决方法
  11. python zip函数_python内置函数-zip
  12. 单目深度估计论文(1)— Depth Map Prediction from a Single Image using a Multi-Scale Deep Network (NIPS 2014)
  13. 工业非标设备远程运维方案
  14. pe服务器注册表,在WIN PE环境下修改或导入系统注册表项
  15. 面试官问我:什么是静态代理?什么是动态代理?注解、反射你会吗?
  16. Mac查看本地ip地址
  17. 机器人设计必备的软件有哪些
  18. 软件检测报告可用于即征即退政策
  19. 云计算机社团,【社联】云社团丨以声传情,以舞会友(第一期)
  20. Vlc.DotNet C#音视频播放器使用说明及简单实例

热门文章

  1. ORA-02299的处理
  2. 直播系统开发,一对一直播源码开发
  3. LCD断码屏显示应用框架
  4. d3ForceEasy —— 一个封装D3js force力导向图 简单使用的轮子
  5. L2-001. 紧急救援 (dijkstra算法)
  6. 产品 - 收藏集 - 掘金
  7. 区块链技术与应用(赵其刚等)课后题答案
  8. 刚刚结束一家公司的战略规划项目的感想
  9. C++ dll库只生成dll文件,而未生成lib文件的问题
  10. rocketdock 修改隐藏快捷键