С FFTW и MPI, учитывая двумерный массив, который является преобразованием реальной функции, представленной в сложном пространстве, возможно ли вывести массив реального пространства transposed ?
Например, предположим, что в реальном пространстве есть массив 2x4. Если код вызывает fftw_mpi_plan_dft_r2c_2d
, он выведет комплексный массив 2x3. Если добавлен флаг FFTW_MPI_TRANSPOSED_OUT
, то на выходе получается комплексный массив 3x2, транспонированный из предыдущего массива. Я легко могу воспроизвести это поведение.
Мой вопрос: возможно ли пойти другим путем? Начиная с комплексного массива 2x3, который является преобразованием комплексного пространства массива реального пространства 2x4, возможно ли использовать fftw_mpi_plan_dft_c2r_2d
с подходящими аргументами для создания транспонированного массива реального пространства 4x2?
Обратите внимание, это в 2D. В 3D все работает нормально, указывая на то, что в 2D это может иметь отношение к последнему измерению, представляющему только половину комплексной плоскости, что противоречит ожиданию FTTW компоновки комплексной транспонирования.