I'm using FFTW to compute some DFTs, and as a memory space optimization, you can give it a $v \in \mathbb{R}^{n}$ and it will return a $\hat{v} \in \mathbb{C}^{\lfloor n/2 \rfloor + 1}$ via the call fftw_execute_dft_r2c
. (To those without context, it's just claiming that since $\overline{\hat{v}_{k}} = \hat{v}_{n-k}$, then you just don't need to care about the top half of the complex vector.)
In addition, you can take $\hat{v}$ back to $\mathbb{R}^{n}$ via fftw_execute_dft_c2r
, but of course no one does that, they want to apply some filter to $\hat{v}$ and then call fftw_execute_dft_c2r
.
What is the largest class of operations on $\hat{v}$ such that fftw_execute_dft_c2r
make sense?
(Clearly, pointwise multiplication by the DFT of another real function is allowed, but it's not clear to me that every bandpass filter produces a sensible output and many other operations seem suspect.)