armadillo相关内容

RCPP中的一个三维场(矢量场)错误

由于三次以上的迭代,我正在尝试在RCPP Arma中创建一个字段,但遇到错误。作为示例,请参阅以下简单代码: //[[Rcpp::export]] field testgg(int k, int h, int g){ field res(k, h, g); return(res); } 我在这段代码中没有做任何事情,所以这段代码应该会给我一些帮助。但是,我在执 ..
发布时间:2022-07-21 13:25:05 其他开发

RcppArmadillo&;ReferenceInputParameter不是模板

我正在尝试构建一个用户包,它已经在我同事的Windows box上构建得很好,它安装了R 2.15.1。我的配置是: R 2.15.3、RTools 3.0、RCPP 0.10.4、RcppArmadillo 0.3.920.1、RStudio 0.97.551 这是我运行“R CMD Install mypackage”时的第一个编译实例。IndfunForecast.cpp是包中的 ..
发布时间:2022-06-06 17:23:58 C/C++开发

RcppArmadillo伽马分布在具有相同种子的平台之间不同

我正在编写a package,它使用RcppArmadillo中的随机数。该程序包运行MCMC算法,要获得准确的重复性,用户应该能够设置随机数种子。在执行此操作时,用于从伽马分布生成随机数的arma::randg()函数似乎在不同平台上返回不同的值。这不是arma::randu()或arma::randn()的情况。这是否与arma::randg()需要C++11有关? 以下是我在运行R3. ..
发布时间:2022-06-06 16:42:51 其他开发

如何在Armadillo中序列化稀疏矩阵并与Boost的MPI实现结合使用?

我一直在尝试序列化armadillocpp库中的稀疏矩阵。我正在进行一些大规模的数值计算,其中的数据存储在一个稀疏矩阵中,我希望使用MPI(Boost实现)收集该矩阵,并对来自不同节点的矩阵求和。我现在的问题是如何将稀疏矩阵从一个节点发送到其他节点。Boost建议,要发送用户定义的对象(在本例中为SpMat),需要将其序列化。 Boost的documentation提供了关于如何序列化用户定义类 ..
发布时间:2022-04-13 10:13:21 C/C++开发

使用GPU的Aradillo(+BLAS)

是否可以使用GPU运行Aradillos计算?有没有办法将GPU BLAS库(例如cuBLAS)与Aradillo一起使用?请注意,我对GPU编程完全陌生。 推荐答案 不,不是。 您不能将CPU的代码假定在GPU上运行,因为两者具有完全不同的内存模型、硬件、编程风格等pp。 ..
发布时间:2022-02-27 20:07:52 其他开发

armadillo C++:从数组初始化矩阵

我是使用犰狳的新手,尽管尝试/搜索了很多,但无法获得以下内容. 我需要对两个巨大的(动态)数组(不是向量)执行关联.我决定为此使用犰狳.我了解如何使用向量初始化 arma::mat,但我可以使用数组来这样做吗?我不明白,因为我在 文档 中没有看到任何提及.出于内部设计原因,我试图避免使用向量.我尝试使用示例数组手动初始化每个元素(作为一个愚蠢但起点).类似下面的代码是行不通的. 使用命名空 ..
发布时间:2022-01-19 00:03:24 C/C++开发

将 Fortran、C++ 与 R 集成

我的任务是用 C++ 重写一个 R 函数来加速 while 循环.除了 .Fortran() 之外,所有的 R 代码都在 Rcpp 和 Armadillo 的帮助下重写了.我首先尝试使用 Rinside,但正如 Dirk 所指出的那样,它以非常慢的速度工作.(数据经过 R -> C++ -> R -> Fortran 代价高昂) 由于我不想用 C++ 重写 Fortran 代码,反之亦然,通 ..
发布时间:2022-01-14 10:00:08 C/C++开发

犰狳 + Matlab Mex 段错误

我整天都在摆弄这个,所以我想我可以让每个人都从我的经验中受益,请在下面查看我的答案. 我第一次在 Matlab 中运行已编译的 Mex 文件时遇到问题,因为 Matlab 抱怨它无法打开共享库 libarmadillo.我使用环境变量解决了这个问题LD_LIBRARY_PATH 和 LD_RUN_PATH(DYLD_LIBRARY_PATH 和 LYLD_RUN_PATH 在 osx 中). ..
发布时间:2022-01-12 16:27:20 其他开发

Armadillo 中的并行化

Armadillo C++ 线性代数库文档 陈述了用 C++ 开发库的原因之一成为“通过现代 C++ 编译器中存在的 OpenMP 轻松实现并行化",但 Armadillo 代码没有使用 OpenMP.我如何获得与犰狳并行化的好处?这是通过使用高速LAPACK 和BLAS 替代品 之一来实现的吗?我的平台是 Linux、Intel 处理器,但我怀疑这个问题有一个通用的答案. 解决方案 好吧 ..
发布时间:2021-12-30 21:40:53 C/C++开发

有没有办法在 gdb 中打印犰狳矩阵?

我正在使用 gdb 来调试我的 C++ 程序.我正在使用犰狳数值库来定义我的矩阵.我有一个像这样定义的犰狳矩阵: mat A = randu(5,5); 是否可以在使用 gdb 调试器时打印整个矩阵? 解决方案 这个问题可能很老了,但我对它的磕磕绊绊让我找到了适合自己工作的解决方案. 由于 Armadillo 库基于模板的性质,您需要提供一些自己的帮助程序: #include ..
发布时间:2021-12-19 08:18:56 C/C++开发

犰狳矩阵维度在 C++ 中的动态参数化

标题总结了更准确的目标,即动态检索传递给犰狳矩阵的 MATLAB 数组的维数. 我想将 mY() 和 mD() 的第二个和第三个参数更改为下面的参数. //mat(ptr_aux_mem, n_rows, n_cols, copy_aux_mem = true, strict = false)arma::mat my(&dY[0], 2, 168, false);arma::mat mD( ..
发布时间:2021-11-18 03:52:08 C/C++开发

sstream:没有这样的文件或目录

到目前为止我做了什么: 平台:Windows 7(64 位) 按照这种方法 安装GCC 从 link 提取犰狳并将源代码放在包含文件夹中. 创建main.cpp : #include int main(){返回0;} 在windows cmd终端编译: g++ main.cpp -std=c++11 编译错误结果: D:\c++\test>g++ main.c ..
发布时间:2021-09-25 20:53:15 C/C++开发

“错误:与请求的类型不兼容"随机发生

我目前正在开发一个使用 Rcpp 和 RcppArmadillo 的 R 包,但我遇到了一个随机发生的奇怪错误.我无法发布我的函数的所有代码来从头开始复制它(它是 400 + 300 行),但是您可以在 github 上找到该包:https://github.com/config-i1/CES - 我使用的函数在“R/ces.R"文件中,它依赖于"src/cesfun.cpp". 所以当你安 ..
发布时间:2021-07-03 18:49:05 C/C++开发

使用 sourceCpp() 在 Rcpp 和 RcppArmadillo 中出错

我对 C++ 还很陌生,但在 R 上花了很多时间.我正在尝试使用 RcppArmadillo,其中 .cpp 文件是使用 sourceCpp 函数获取的.我的示例代码来自 http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-June/006150.html 并显示如下: #include 使用命名空间 Rcpp ; ..
发布时间:2021-07-03 18:46:09 其他开发

使用 Rcpp 代码访问和修改类 arma::sp_mat 的稀疏矩阵的非零元素

我在使用 RcppArmadillo 访问和更新犰狳中 arma:sp_mat 类的稀疏矩阵的非零元素时遇到了麻烦.例如,在 Matrix R 包中,如果 B 是 dgCMatrix 类的稀疏矩阵,则可以通过执行以下操作访问和修改其非零元素: B@x[] = xx 其中 xx 是包含实际非零元素的新向量.有人可以帮我用 Armadillo 代码做同样的事情吗? 解决方案 不幸的是,没有 ..
发布时间:2021-07-03 18:45:21 其他开发

“RcppArmadilloExtensions/sample.h"R 包构建步骤中的链接器错误

我正在制作一个 R 包,它在一些源文件中使用了 Rcpp::RcppArmadillo::sample() 函数.特别是,我在 4 个不同的 cpp 文件中使用了该函数,并且在每个文件中我添加了这一行 #include 以包含所需的头文件. 一切正常,直到我想通过命令 R CMD build mypackage 构建包.我收到 重复符号 错误,其中提到的头文件中定义的大多数函数都被列为重复符 ..
发布时间:2021-07-03 18:44:56 其他开发