优化犰狳立方体中行和列的迭代

问题描述

我在犰狳中有一个立方体(即3d矩阵),并且希望对每个z矢量进行FFT。为此,我要遍历每个行和列的条目,提取“ tube”,应用FFT,然后再次将其重新插入到多维数据集中。这是使用以下代码完成的:

arma::cx_cube test_mat = arma::randu<arma::cx_cube>(matrix_size,matrix_size,matrix_size),local_test_mat = arma::zeros<arma::cx_cube>(matrix_size,matrix_size);
for(size_t i = 0; i < matrix_size; ++i) {
    for (size_t j = 0; j < matrix_size; ++j) {
        arma::cx_vec local_vec = test_mat(arma::span(i),arma::span(j),arma::span::all);
        local_test_mat.tube(i,j) = arma::fft(arma::real(local_vec) * std::complex<double>(1.,0.));
    }
}

不幸的是,没有类似于each_slice()的运算符,它可以加快处理过程。因此,是否还有其他方法可以提高效率(可能通过并行执行多个操作)?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)