Eigen求解大型稀疏对称矩阵(Cholesky分解)

2023-05-16

参考自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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eigen求解大型稀疏对称矩阵(Cholesky分解) 的相关文章

  • 没有已知的从值到值的表达式&...为什么?

    我尝试编写一个函数 该函数需要ColXpr作为输入的值 typedef Eigen Array
  • 如何使用 Eigen 库计算零空间的基础?

    如何计算零空间的基础带有特征库的矩阵 我试图找到显式函数名计算空基 并且作为解决方法 找到方法计算矩阵的 rref 因为我们能够从 rref 获得零基础 但我找不到任何相关的函数名称 我认为必须有解决方案 但我对 Eigen 库了解不多 而
  • 如何将特征 FFT 与 MatrixXf 结合使用?

    我是 Eigen 图书馆的新手 我想计算特征矩阵的 FFT 然而 我的尝试表明 不受支持的 Eigen FFT 模块不能与 MatrixXf 一起使用 我想要完成类似的事情 include
  • Eigen 中三元运算符的类型错误

    我正在用 C 编写一个类来概括两个稀疏矩阵求解器 SparseLU 和 Sparse Cholesky 当我尝试使用三元运算符时 它说操作数类型不兼容 但如果我使用 If 语句 代码就会编译 错误 2 错误 操作数类型不兼容 const E
  • 在 MEX 函数中将特征复数矩阵返回到 MATLAB,无需额外复制

    这个问题演示如何使用映射对象将双精度矩阵返回到 MATLAB 以下适用于非复杂数据 double outputPtr plhs 0 mxCreateDoubleMatrix mwSize n mwSize m mxREAL outputPt
  • 稠密对称矩阵的特征有效类型

    Does Eigen http eigen tuxfamily org index php title Main Page有存储密集 固定大小 对称矩阵的有效类型吗 嘿 它们无处不在 IE 对于 N 9 它应该只存储 1 9 9 2 45
  • 特征:矩阵到四元数和后面有不同的结果

    我使用 Eigen 库将矩阵转换为四元数 但是当我将其中一个矩阵转换为四元数并将其烧回时 它变成了另一个矩阵 即单位矩阵 我使用的旋转矩阵是从变换矩阵分解而来的 Eigen Matrix3f R3d R topLeftCorner lt 3
  • 调整 Eigen::Ref 大小的解决方法

    我想使用 Eigen Ref 来使用 Eigen Matrix 参数来实现非模板函数 我的问题是 在这些函数中 我可能必须调整 Eigen Ref 引用的矩阵的大小 我知道 一般而言 不应调整 Eigen Ref 的大小 因为它可以映射到表
  • Eigen 库 - 矩阵的伪逆(Matlab - pinv)

    我正在尝试使用特征库找到矩阵的伪逆 他们有一个类确实实现了它 但是我不知道如何编写脚本语法 这是它在网站上显示的方式 https eigen tuxfamily org dox classEigen 1 1CompleteOrthogona
  • 两个相似的位姿具有较大的相对欧拉角

    欧拉角表示的相似位姿有两种 s euler angle o1 0 000549608 3 1334 1 23193 s euler angle o2 0 0222646 3 10948 1 31032 但 Eigen 计算出的相对欧拉角为
  • 从 Eigen::SparseMatrix 中提取块/ROI,无需复制

    我想知道有没有什么好方法从 Eigen SparseMatrix 中提取块 ROI 更准确地说 我想要提取的是内向量 我想做的是这样的 typedef Eigen SparseMatrix
  • 如何将 Eigen 库添加到 C++ 项目中

    可能是一个愚蠢 简单的问题 但我一直无法找到答案 我不知道如何使用 CodeBlocks c 添加库 我从以下位置下载了 zip 文件http eigen tuxfamily org index php title Main Page ht
  • 如何在 CUDA 内核中使用 Eigen

    Eigen 是一个 C 线性代数库http eigen tuxfamily org http eigen tuxfamily org 使用基本数据类型 例如基本浮点数组 很容易 只需将其复制到设备内存并将指针传递给 cuda 内核即可 但是
  • 元素矩阵乘法:R 与 Rcpp(如何加速此代码?)

    我是新来的C 编程 使用Rcpp无缝集成到R 并且我希望得到一些有关如何加快某些计算速度的建议 考虑以下示例 testmat lt matrix 1 9 nrow 3 testvec lt 1 3 testmat testvec 1 2 3
  • 如何在使用 Eigen Library C++ 时删除特定行或列

    我正在为我的项目使用 Eigen 库 我正在搜索如何从特征中的给定矩阵中删除特定行或列 我没有成功 MatrixXd A X1 X2 X3 X4 Y1 Y2 Y3 Y4 Z1 Z2 Z3 Z4 A1 A2 A3 A4 MatrixXd At
  • 连接稀疏矩阵特征值

    我在特征中有两个稀疏矩阵 我想将它们垂直连接成一个 例如 代码的目标是 SparseMatrix
  • C++ 在张量流中使用 Eigen

    张量流和特征值之间有什么关系 特别是关于tensor数据结构 有一些较旧的引文 例如 其中指出tensorflow正在广泛使用Eigen 据我所知 tensorflow人员已经扩展了Eigen代码 然而 最近的张量流文档似乎没有明确提及 E
  • 使用矢量化为 iPhone 编译 Eigen 库

    我正在努力为 iPhone 4 编译 Eigen 库 该库具有带有 armv7 指令集的 ARM 处理器 到目前为止 当我指定预处理器定义 EIGEN DONT VECTORIZE 时 一切正常 但由于一些性能问题 我想使用armv7优化的
  • Eigen 库:在函数中返回矩阵块作为左值

    我试图将矩阵块作为函数的左值返回 假设我的函数如下所示 Block
  • 特征矩阵库逐系数模运算

    在我正在开发的项目的一个函数中 我需要找到特征库矩阵的每个元素除以给定数字后的余数 这是与我想要做的等效的 Matlab mod X num 其中 X 是被除数矩阵 num 是除数 实现这一目标的最简单方法是什么 您可以使用 C 11 la

随机推荐

  • MavLink

    2 1 MAVLink xff08 Micro Air Vehicle Link xff09 是一种用于小型无人载具的通信协议 xff0c 于2009年首次发布 该协议广泛应用于地面站 xff08 Ground Control Statio
  • 飞控接收到的每一条MAVLink消息包都会上传到uORB消息池中吗?

    1 飞控接收到的每一条MAVLink消息包都会上传到uORB消息池中吗 xff1f 2 如何自定义 xff08 选择 配置 xff09 发送给QGC的MAVLink消息 xff1f
  • 滤波、传感器融合、IMU合GPS可以测量哪些物理量

    目录 结论IMU加速度计陀螺仪GPS 原理加速度计陀螺仪GPS 传感器融合滤波算法线性互补滤波卡尔曼滤波KF扩展卡尔曼滤波EKF 小结 结论 IMU paxhawk pixhack自带的IMU xff08 惯性测量模块 xff09 包含以下
  • 学习过程中提出的疑问

    目录 如何在simulink中编译两个应用并烧录到飞控中 xff1f 如何自定义地面站QGC接收到的MAVLink消息 xff1f xff08 MAVLink inspector xff09 航点 航路生成器 xff1f 如何在simuli
  • PX4学习笔记

    目录 网址PX4 io网页指导Pixhawk PX4 APM ArduPilot关系硬件照片 示意图逻辑图 集多旋翼控制框架软件框架 辅助工具 软件 使用方法source insight新建工程 导入PX4源码source insight
  • H无穷控制理论与应用案例分析

    0 知识背景 概念 定义 内稳定 xff1a BIBO稳定 xff1a 镇定 xff1a 对于一个控制系统来说 xff0c 如果通过某种反馈可以使系统实现渐近稳定 xff0c 即闭环系统极点具有负实部 xff0c 则称该系统是能镇定的 信号
  • ADRC从入门到放弃0

    ADRC xff1a 自抗扰控制器 其中 xff0c 在对自抗扰理论的 研究中 xff0c 引入了带宽概念这一个崭新的思路 xff0c 极大的简化了自抗扰技术使用时参数整定 的问题 xff0c 同时时域分析的方法可以发现利用带宽的概念还有利
  • 直升机建模

    目录 引子tips模型的组成 引子 duck不必陷入细节 xff0c 比如坐标转换 xff0c 忽而略微小项目 tips x 表示两个向量的叉乘 模型的组成 刚体运动学 xff1a 描述平移运动与转动运动 xff0c 即位移 xff08 线
  • 模糊PID(自适应模糊PID、fuzzy PID)的基本原理及应用举例 by 研三笔记

    目录 1 控制框图2 概述3 基本原理3 1 一些基本的概念 定义3 2 模糊化3 3 模糊推理3 4 清晰化 xff08 解模糊 反模糊化 xff09 3 5 模糊PID3 6 使用 fis文件 4 利用matlab模糊控制工具箱设计模糊
  • 3d目标检测

    目录 知网论文阅读笔记关键词 key words现状 摘要 碎片知识点3D检测算法分类根据其使用的数据类型为三类 xff1a 按照点云不同的特征表达方式分类 1 xff1a 其他分类方法 1 xff1a 根据传感器分类 2 xff1a 根据
  • kex_exchange_identification: Connection closed by remote hostConnection closed by ::1 port 22

    kex exchange identification Connection closed by remote hostConnection closed by 1 port 22 缘起 拉代码仓库出错 xff0c 还挺常见 https 错
  • 基于线性矩阵不等式LMI的鲁棒H无穷控制算法设计,多性能指标的H无穷控制算法推导,多面体模型

    catalogue 关键字一些符号和特殊表示预备知识正文 xff08 一 xff09 不确定系统的数学表示 xff08 二 xff09 线性时不变定常系统的LMI稳定性定理 xff08 判据 xff09 2 1 系统模型2 2 当u 61
  • python与其他语言的不同之处--语法拾遗

    八戒你说呢 基本语法空行的使用行与缩进import 与 from import命令行参数变量的使用列表Tuple xff08 元组 xff09 Set xff08 集合 xff09 Dictionary xff08 字典 xff09 Pyt
  • 深度学习入门篇1

    1 目前流行的深度学习框架简介 深度学习框架 xff08 点击跳转 xff09 2 神经网络工具箱torch autograd与torch nn torch autograd库虽然实现了自动求导与梯度反向传播 xff0c 但如果我们要完成一
  • 3D点云的基本操作(基于PCL编程)

    知识储备 右手系 右手 xff0c 拇指 xff0c 食指 xff0c 中指 xff0c 分别是x y z的正方向 左手系则同理 旋转矩阵 本质 xff1a 两个坐标系之间的旋转关系 用途 xff1a 旋转点云 原理 xff1a 设传感器的
  • uCOS-III 应用开发指南—基于 STM32F103系列

    uCOS III 应用开发指南 基于 STM32F103系列 嵌入式经典教材 实例截图 文件 xff1a 590m com f 25127180 490253580 defdec xff08 访问密码 xff1a 551685 xff09
  • 无人机飞行控制源码(android)

    旨在为大学生 航模爱好者 创客提供可二次开发的迷你四轴飞行器原型 是一个完全开源的项目 xff0c 包括源代码 xff0c 原理图 xff0c 设计思路等 可以通过它学习四轴飞行器相关知识 xff0c 也可以在上面进行二次开发 xff0c
  • 通过git下载github分支(最详细)

    文章目录 一 git下载指定分支代码到本地A 前提 xff1a B 具体步骤 xff1a 二 git下载github所有分支代码到本地具体步骤 xff1a 一 git下载指定分支代码到本地 任务一 xff1a 下载地址为https gith
  • CSS基线对齐的理解以及处理

    相信大家都会遇到同行不同盒子中文本的内容不能对齐的情况 xff0c 而不知道这是为何 xff1f 其实这是因为基线对齐的原因 什么是基线对齐 xff1f 先让我们来看一张图片 xff1a 到这里我们的疑惑是不是少了一些 xff1f 基线对齐
  • Eigen求解大型稀疏对称矩阵(Cholesky分解)

    参考自Eigen文档 代码如下 xff1a span class token macro property span class token directive hash span span class token directive ke