RcppEigen 稀疏矩阵插入操作给出无效类“dgCMatrix”错误

2024-01-20

我正在尝试加快使用 C++ 的速度来快速构建一些在 R 中使用的稀疏矩阵。但是,我似乎无法使用 insert 方法来更改 Eigen 中稀疏矩阵的单个元素并获得正确的 R 对象dgCMatrix 类。下面是一个简单的例子。

C++代码是:

#include <RcppEigen.h>

// [[Rcpp::depends(RcppEigen)]]
using Eigen::SparseMatrix;              // sparse matrix

// [[Rcpp::export]]
SparseMatrix<double> SimpleSparseMatrix(int n) {
  SparseMatrix<double> new_mat(n, n);
  new_mat.insert(0, 0) = 2;
  Rcpp::Rcout << new_mat << std::endl;
  return new_mat;
}

结果 R 为:

> SimpleSparseMatrix(2)
2 0 
0 0 

2 x 2 sparse Matrix of class "dgCMatrix"
Error in validObject(x) : 
  invalid class “dgCMatrix” object: last element of slot p must match length of slots i and x

正如您从标准输出中看到的,eigen 正在做正确的事情。但是,生成的稀疏矩阵对象格式错误。事实上,查看它的槽会发现 p 的值无效:

> foo <- SimpleSparseMatrix(2)
2 0 
0 0 

> str(foo)
Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  ..@ i       : int 0
  ..@ p       : int [1:3] 0 2 4
  ..@ Dim     : int [1:2] 2 2
  ..@ Dimnames:List of 2
  .. ..$ : NULL
  .. ..$ : NULL
  ..@ x       : num 2
  ..@ factors : list()

有什么想法可能会出问题吗?


之后insert声明添加此声明:

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

RcppEigen 稀疏矩阵插入操作给出无效类“dgCMatrix”错误 的相关文章

  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 实三次多项式的最快数值解?

    R 问题 寻找最快的方法来数值求解一堆已知具有实系数和三个实根的任意三次方程 据报道 R 中的 polyroot 函数对复杂多项式使用 Jenkins Traub 算法 419 但对于实多项式 作者参考了他们早期的工作 对于实三次或更一般的
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • Shiny:动态数据框构建; renderUI、观察、reactiveValues

    我认为如何使用 Shiny 的 renderUI 功能动态子集数据的问题经常出现 但我很难理解何时使用 renderUI 带有 uiOutput 而不是其他功能 包括观察 反应 反应值甚至条件面板 我想构建一个完全交互式的数据框架 其中每个
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 无法更改 RStudio 中的 R 版本

    我的 RStudio V 0 99 491 无法更改 R 版本 我以平常的方式行事Global Options gt R Version 然后它挂起并且不再工作或反应 R 运行良好的初始版本是R 3 1 0 我以前从未遇到过这样的问题 也许
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 在 ifelse() 语句内部和外部运行一行时的不同输出

    我正在尝试运行一个简单的命令 但不知道为什么在内部和外部运行它时输出不同ifelse 功能 函数条件评估为FALSE 所以输出应该完全相同 但是 单独运行时 输出为0 0 1 1 0 1 0 1 NA 根据需要 但是从ifelse 函数 输
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 麦当劳 omega:R 中的警告

    我正在计算几种不同尺度的欧米茄 并在 R 中使用不同的 omega 函数获取不同比例的不同警告消息 我的问题是如何解释这些警告以及报告检索到的 omega 统计数据是否安全 当我使用 从 alpha 到 omega 内部一致性估计普遍问题的
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • Firestore 管理员 创建匿名用户

    尝试使用管理员创建匿名用户 我使用云功能 但我不知道是否可能 admin auth createUser email userEmail emailVerified false password userPassword disabled
  • 如何在xcode中使用数组传递本地html文件

    我在这里尝试申请 当我单击表格视图时 它将重定向到另一个名为 详细信息 的页面 在那里我使用了 webview 来显示所选的 url 值 这是我的代码 void viewWillAppear BOOL animated super view
  • 选择内核和超参数以减少内核 PCA

    我正在阅读使用 Scikit Learn 和 TensorFlow 进行机器学习实践 构建智能系统的概念 工具和技术 https rads stackoverflow com amzn click com 1491962291 我正在尝试优
  • 使用 Java 下载文件

    我编写了一些代码来下载我所做的网络广播的一集 它获取剧集的 URL 并获取保存它的位置 不过 它最多只能下载 16MB 然后就会自动取消 我不完全确定要改变什么值来增加这个值 有可能吗 有人可以指出我正确的方向吗 谢谢你 下载代码 URL
  • Amazon SQS Java SDK - 无法接收消息属性

    在发送之前使用以下代码将带有属性的消息发布到 SQS 后 并在 SQS 控制台中检查所有内容是否正确发布 messageRequest addMessageAttributesEntry attributeTest new MessageA
  • Instabot:是否可以在单个帖子中上传多张图片?

    我正在使用此代码为 Instagram 创建一个简单的每日帖子机器人 一切都很顺利 但如果我能在每篇文章中发布包含 2 3 张图像的相册 那就太不可思议了 这可能吗 这是我到目前为止所做的 非常适合单图像帖子 import os impor
  • 尝试使用多处理来填充Python中的数组

    我有这样的代码 x 3 y 3 z 10 ar np zeros x y z from multiprocessing import Process Pool para process def local func section prin
  • Redis Lettuce 连接和 BLPOP

    Lettuce 在底层使用单个共享本机连接 在这种设计中使用 BLPOP 阻止命令是否安全 它会阻止此共享本机连接并影响其他客户端吗 我在 Lettuce 文档中没有找到具体的解释说明 提前致谢 使用 BLPOP BLMOVE 和类似命令会
  • 参数化ggplot2直方图/密度aes函数找不到对象

    我创建了一个直方图 密度图函数 我希望 y 轴为count而不是密度 但在参数化其 binwidth 时遇到问题 我正在使用基于的示例http docs ggplot2 org current geom histogram html htt
  • 如何将“com.unity3d.player.UnityPlayer”导入我的 Android 库?

    我在获取时遇到问题UnityPlayer依赖于我的 Unity Android 库插件 我只是无法找出向我的插件添加依赖项的正确方法 在我尝试添加之前classes jar文件到我的libs包含所有 UnityPlayer 代码的目录 这让
  • AngularJS:打开一个新的浏览器窗口,但仍然保留范围和控制器以及服务

    我正在编写一个 angularJS 应用程序 在这个特定的控制器中 我通过以下方式打开一个新的浏览器窗口 window open服务 但在新窗口中 所有 scope变量丢失 我尝试使用window parent但这行不通 事实上 在新的浏览
  • R:plm 个体和时间固定效应,但没有其他回归量

    我想运行仅包括时间和个体固定效应的回归 即没有其他右侧变量 我尝试这样做plm plm y 1 data data effect twoways model within 然而 语法不正确 也不能仅仅抑制 1从模型公式 错误信息是 Erro
  • 获取倒数第二个元素

    jQuery 有没有办法使用选择器来识别倒数第二个元素 有类似 last 1 的东西吗 该列表可以是任意长度 所以我不能使用 eq 任何帮助将非常感激 A 看不到你的 html 但试试这个 a last prev 那应该给你一个before
  • 如何在 Windows 中将文本附加到文件中?

    每次调用此函数时 旧文本数据都会丢失 告诉我如何维护以前的数据和附加新数据 该函数被调用 10 次 void WriteEvent LPWSTR pRenderedContent HANDLE hFile DWORD dwBytesToWr
  • Razor.ServiceStack - 视图不渲染,只是默认的“快照”

    我已经使用设置了一个网站http razor servicestack net http razor servicestack net 我创建了多个视图和匹配服务 示例如下 服务示例 using ServiceStack ServiceHo
  • 在drupal中使用hook_form_alter设置webform组件值[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经使用 form alter 函
  • 在内存中创建 CSV、通过电子邮件发送并从内存中删除

    private function convert to csv input array output file name delimiter temp memory fopen php memory w foreach input arra
  • 如何继承string类?

    我想继承扩展C 字符串类以添加类似的方法WordCount 和其他许多人 但我不断收到此错误 错误 1 WindowsFormsApplication2 myString 无法从密封派生 输入 字符串 我还有其他方法可以克服这个吗 我尝试过
  • Blazor 应用程序的身份验证处理程序中未调用 HandleRequirementAsync

    我正在尝试在服务器端 Blazor 应用程序中使用自定义身份验证处理程序 我的处理程序中有一个断点 但它没有被击中 少了什么东西 要求 public class ValidUserRequirement IAuthorizationRequ
  • RcppEigen 稀疏矩阵插入操作给出无效类“dgCMatrix”错误

    我正在尝试加快使用 C 的速度来快速构建一些在 R 中使用的稀疏矩阵 但是 我似乎无法使用 insert 方法来更改 Eigen 中稀疏矩阵的单个元素并获得正确的 R 对象dgCMatrix 类 下面是一个简单的例子 C 代码是 inclu