问题标签 [armadillo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 在 RcppArmadillo 中将列向量乘以数值标量
我在使用和包编译这个简单的c++
代码时遇到了一些麻烦。举一个简单的例子,将矩阵的每一列乘以一个数值标量:Rcpp
RcppArmadillo
试图编译这个使用...
导致编译错误....
但是,如果我们将numeric
变量交换v
为2.0
如下......
它编译得很好......
然后我们可以做...
我在这里想念什么?如何使用简单的数字标量进行这项工作。我希望能够传递一个标量,如......
并返回与上面相同的结果。
c++ - 使用相同的内存在犰狳中进行 LU 分解
我有问题要使用犰狳解决线性系统。A*x=b。但是我的 A 矩阵很大。它是 arma::cx_mat A(40000,40000)。当我运行 x=arma::solve(A,b) 时,犰狳会尝试分配一个新的内存来存储 A,然后使用新的内存进行 LU 分解,不会使用存储原始 A 的内存。求解的定义可以在 fn_solve.hpp 中找到。但是你已经看到我的 A 很大了。分配一个新的内存会很快消耗掉所有的内存。对于我的问题,我不再需要原来的 A 了。那我能不能用一些方法让犰狳利用A的原始内存来做LU分解呢?
非常感谢
c++ - 犰狳中的矢量化幂函数
犰狳库具有将pow(A, p)
向量/矩阵的所有元素提升A
到幂的功能p
。犰狳、std 或其他地方是否有执行元素级功能的函数?也就是说,将向量中的每个元素提升到向量A
中的相应幂p
?
c++ - 犰狳 join_cols() 编译错误
我正在尝试用犰狳做一些简单的凸编程,但我可能会迷失在语法(或安装)中。
我有以下内容:
它给了我编译错误:
我在其他地方也遇到了类似的错误。我也在尝试将 sp_mat(或 SpMat)与 inv() 或 solve() 一起使用,而无需骰子。事实上,除了元素访问和基本算术之外,似乎没有任何东西可以工作。我有安装问题还是我的语法错误?
我在 Ubuntu 12.04 上运行它。
编辑:
基于鲁道夫的回答,我似乎忽略了一些给出的错误!
似乎以下工作:
但这不会:
原因是 Armadillo 进行了内部优化,可以在预编译步骤中重新排列表达式,但正因为如此,并且 join_cols() 没有足够的原型来处理所有的胶水语句(标量 mult,向量加法)等)它在犰狳可以预处理之前就失败了。至少,这是我过于简化的观点。
c++ - 犰狳错误:没有匹配函数调用 'inv(arma::SpMat&)'
这是上一个问题的延续 - 主要是围绕 Armadillo C++ 库中对 SpMat(或 sp_mat)的支持。
尝试反转稀疏矩阵时,出现编译错误
我宁愿不为 sp_mat 编写自己的矩阵求逆,除非我真的必须这样做,而且我不能使用 inv(arma::Mat&) 原型,因为我将要操作的稀疏矩阵会占用数百 GB 的 RAM如果它被转换为非稀疏矩阵。
还有,怎么办
sp_mat 不是连接列的受支持类型吗?
任何帮助将非常感激!
编辑:关于稀疏矩阵求逆错误的重点问题。正在使用的犰狳版本是 3.910.1
c++ - 在犰狳库中引用向量的最快方法
我将犰狳用于线性代数。我设置了一个相当大的向量(至少 35000000 个元素)。我有另一个长度为大向量一半的向量。我正在使用 fftw 对大向量进行傅立叶变换,但数据的前半部分是从小向量复制的,如下所示
这段代码非常慢,因为我们需要将元素从 v2 复制到 v1 并向后复制。无论如何让v1的元素引用v2而不是副本?
vector - Armadillo C++ 线性代数库:如何创建布尔向量
最近我开始使用 Armadillo C++ 库。鉴于我的 C++ 编码技能不是很好,我发现这对线性代数非常友好。我还使用它和我的 matlab 来加快许多重建算法的速度。
我确实需要创建一个布尔向量,我更喜欢使用这个库而不是 . 但是,我不知道该怎么做。我尝试使用 uvec;但是,文档似乎表明它不能与布尔值一起使用。
任何帮助,将不胜感激。
问候, Dushyant