小编cas*_*eyk的帖子

RcppArmadillo ifft2 与 R 的原生 mvfft

我注意到它RcppArmadillo支持 FFT 和 2-D FFT。ifft2不幸的是, ( RcppArmadillo) 和 R 的原生数据与我的数据之间存在显着差异mvfft(..., inverse = TRUE)。这在第零个容器中特别大(这在我的应用程序中非常重要)。差异不是标量倍数。我找不到任何文档或解释这些偏差,特别是在第零个容器中。

我已经专门针对函数调用调试了该问题ifft(arma::cx_mat input)。除非存在不可预见的内存管理问题,否则这就是罪魁祸首。

示例:ifft2结果(1 列前 5 个条目):

[1] 0.513297156-0.423498014i -0.129250939+0.300225299i  
0.039722228-0.093052563i -0.007956237+0.018643534i 0.001181177-0.002768473i
Run Code Online (Sandbox Code Playgroud)

mvfft逆结果(1 列前 5 个条目):

[1] 0.278131988-0.633838170i -0.195699114+0.445980950i  
0.060070320-0.136894940i -0.011924932+0.027175865i 0.001754788-0.003999007i
Run Code Online (Sandbox Code Playgroud)

问题

  • FFT 还在开发中吗RcppArmadillo
  • 这是 FFT 变体中的常见问题(FP 或 DP 噪声之外的数值偏差)吗?
  • 是否有来自 Rcpp 或 RcppArmadillo 的“低级”函数调用来调用 R 的本机 FFT?

重现性 - 下面我尽可能地浓缩了问题并重现了问题。 更新了最少的代码 Rcpp 代码:

#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]

using namespace Rcpp;
 // …
Run Code Online (Sandbox Code Playgroud)

c++ r fft rcpp

1
推荐指数
1
解决办法
515
查看次数

标签 统计

c++ ×1

fft ×1

r ×1

rcpp ×1