从 Eigen::SparseMatrix 中提取块/ROI,无需复制

2023-12-28

我想知道有没有什么好方法从 Eigen::SparseMatrix 中提取块/ROI? 更准确地说,我想要提取的是内向量.

我想做的是这样的:

typedef Eigen::SparseMatrix<double,Eigen::RowMajor> SpMat;
// Prepare some sparse matrix
SpMat spmat;
// Extract lines from it
const SpMat& row_i = spmat.innerVector(i);
const SpMat& row_j = spmat.innerVector(j);
// Some calculation with row_i and row_j...

据我测试,数据为row_i and row_j is 复制了(!!) from spmat。 然而,显然,这是低效的。 数据(特别是row_i.m_data.m_values & row_i.m_data.m_indices) 的内向量是原始数据的连续部分 (spmat.m_data.m_values & spmat.m_data.m_indicesresp.),所以应该有更聪明的方法。

我也许能够实现新的方法来做到这一点,但这需要我深入挖掘源代码。所以我不想。

任何帮助将不胜感激! 提前致谢。


您可以使用 c++11auto声明的关键字row_iand row_j作为真正的读写表达式,或使用正确的类型:

const auto row_i = spmap.innerVector(i); // C++11 version
const SpMat::InnerVectorReturnType row_i = spmap.innerVector(i); // C++98 version

此外,默认情况下 SparseMatrix 并不是存储在列专业中,因此“内部向量”是一列。如果你想引用行,那么你必须使用行优先的存储布局:

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

从 Eigen::SparseMatrix 中提取块/ROI,无需复制 的相关文章

  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • 当我使用“control-c”关闭发送对等方的套接字时,为什么接收对等方的套接字不断接收“”

    我是套接字编程的新手 我知道使用 control c 关闭套接字是一个坏习惯 但是为什么在我使用 control c 关闭发送进程后 接收方上的套接字不断接收 在 control c 退出进程后 发送方的套接字不应该关闭吗 谢谢 我知道使用
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • C++ fmt 库,仅使用格式说明符格式化单个参数

    使用 C fmt 库 并给定一个裸格式说明符 有没有办法使用它来格式化单个参数 example std string str magic format 2f 1 23 current method template
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • 在 NuGet 包管理器控制台上运行脚本

    我正在使用 MvcScaffolding NuGet 包来搭建几个控制器 我目前正在重复相同的过程 即 Scaffold Controller MyController Repository Force 我为许多控制器执行此操作 有没有办法
  • C# 中的 GPS103 跟踪器监听应用程序

    我正在用 C 为我的 GPS 跟踪器开发一个基于控制台的监听应用程序 我的 GPS 跟踪器配置为在我的应用程序运行的特定端口的服务器上发送数据包 现在的事情是根据GPS103的协议文档 它首先发送字符串 例如 12345678999121
  • 蓝牙文件交换完全安全吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 通过蓝牙传输文件时可能会面临哪些攻击 另外 Android手机之间通过蓝牙传输的文件是否加密 两种常见的攻击是 被动窃听和中间人攻击 如果您使用的是蓝
  • 事件出队后,Javascript 事件循环如何处理非阻塞函数调用的执行?

    假设调用堆栈上有 5 个内容 事件队列中有一项 一旦所有 5 个项目都从调用堆栈中弹出 事件队列中的回调就会被推送到调用堆栈上 可能需要 20 秒才能完成 与此同时 我向调用堆栈添加了另一个 非阻塞 调用 如果 I O 密集型操作仍在执行
  • 将数组映射到接口

    假设我有一个如下所示的数组 const options name foo type boolean name bar type string name bar should be baz not bar type number 我希望使用这
  • 获取元素的打印页码

    我正在从事一个涉及将 PDF 手册转换为 html 的项目 我试图在打印时保留 PDF 的价值 同时在不受页面概念约束的设备上为它们提供更好的用户界面 我遇到的问题是这些手册有一个目录 其中包含每个章节开始的页码 在设备上查看时 该列表只是
  • 如何列出 npm 用户安装的软件包

    如何列出用户安装 环境包only in npm 当我做npm g list 它输出每个包及其依赖项 相反 我想查看安装在current工作项目或环境 npm list g depth 0 npm Node js 包管理器命令行工具 list
  • 如何在iphone sdk中以编程方式获取图像占用的内存大小?

    我想打印加载特定图像时图像占用的内存量 谁能有想法吗 请帮我 谢谢 拉克什米 UIImage没有提供明显的方式来告诉底层数据的内存 不过 我们可以使用 Core Graphics 来进行估算 您可能可以通过执行以下操作来估计图像占用的内存
  • 防止模态表单在退出时关闭所有非模态打开的表单

    我在 Excel 中使用 VBA 表单时遇到了一些奇怪的行为 我有一个调用无模式表单的模块 它充当调用其他表单的中心 其他形式作为模态形式调用 问题是 一旦子窗体被隐藏或卸载 父无模式窗体也会关闭 我试图找到这个问题的答案 但尽管存在这样的
  • C# CompareTo 方法混乱

    我试图理解 C 中的 CompareTo 方法 我明白 如果两个变量相同 我会得到 0 但是 1 和 1 的部分让我有点困惑 有人可以更直观地向我解释一下吗 是的 我阅读了文档 你说你读过文档 https learn microsoft c
  • 从本地主机连接到 Docker MySQL 容器?

    我正在运行一个 docker mysql 映像 以下是 docker compose yml 文件的样子 db image mysql environment MYSQL ROOT PASSWORD MYSQL ALLOW EMPTY PA
  • iphone - 当视图的阴影打开时,动画的性能非常差

    我有一个UILabel with CALayer阴影 我只是通过移动它UIView动画片 性能很差 我可以看到动画一点也不流畅 我认为这是影子UILabel这会导致动画问题 因为如果我关闭阴影 动画就会变得像正常一样平滑 我尝试过使用vie
  • Laravel5:compiled.php 第 3123 行中出现 TokenMismatchException:

    情况 如果已经被问过 请提前抱歉 但无论如何我都无法让它发挥作用 我使用 Laravel 5 作为 API 我有一个简单的功能来编辑任务 我正在通过我的网络应用程序或邮递员对其进行测试 我总是收到此错误 TokenMismatchExcep
  • chrome 扩展:未捕获类型错误:无法读取未定义的属性(读取“onClicked”)[重复]

    这个问题在这里已经有答案了 我一直在创建一个 chrome 扩展 它应该在扩展单击时在特定选项卡上运行特定脚本 index js service worker js action on extension click chrome brow
  • MVC 验证低于/高于其他值

    在 MVC Net 中验证模型的最佳方法是什么 我想接受最小值 最大值 不是字段的单个最小 最大值 但用户可以使用单独的字段来指定最小值 最大值 public class FinanceModel public int MinimumCos
  • 如何在 codeigniter 挂钩中检索第三个 uri 段

    我正在编写一个自定义 post controller 挂钩 我们知道 codeigniter uri结构是这样的 example com class function id 和我的代码 function hook acl global RT
  • 如何检测文档中的图像

    如何检测 doc xls ppt 或 pdf 等文档中的图像 我遇到了 Apache Tika 我正在尝试它的命令行选项 http tika apache org 1 2 gettingstarted html http tika apac
  • 具有 WPF 桌面桥接包的 UWP 中的 System.BadImageFormatException

    我已经完整详细地描述了本主题中的问题和疑问UWP 与 WPF 桌面桥接包的 AppServiceResponse 中的 System NullReferenceException 和 System BadImageFormatExcepti
  • 如何在邮件中添加html代码?

    我创建了一个自动发送电子邮件的脚本 我的邮件消息包含在以下变量中 message 但是 当我包含类似 html 代码或其他内容时 它在我的邮件中没有正确显示 你可以这样做 headers MIME Version 1 0 r n heade
  • 从 Eigen::SparseMatrix 中提取块/ROI,无需复制

    我想知道有没有什么好方法从 Eigen SparseMatrix 中提取块 ROI 更准确地说 我想要提取的是内向量 我想做的是这样的 typedef Eigen SparseMatrix