使用FFTW和MPI,给定一个二维数组,该数组是在复杂空间中表示的实函数的转换,是否可以输出转置的实空间数组?
例如,假设在真实空间中有一个2x4的数组。如果代码调用fftw_mpi_plan_dft_r2c_2d
,则它将输出2x3的复数数组。如果添加了标志FFTW_MPI_TRANSPOSED_OUT
,则输出为3x2复杂数组,即前一个数组的转置。我可以轻松地产生这种行为。
我的问题:是否可以采取其他方式?从2x3复杂数组开始,它是2x4实空间数组的复杂空间变换,是否可以使用带有合适参数的fftw_mpi_plan_dft_c2r_2d
来产生转置的4x2实空间数组?
注意,这是二维的。在3D中,一切工作正常,这表明在2D中,它可能与仅代表复杂平面一半的最后一个尺寸有关,这与FTTW对复杂转置的布局的期望相抵触。