"Existe alguma aplicação prática?" Definitivamente sim, pelo menos para verificar o código e os erros associados.
"Na teoria, teoria e prática combinam. Na prática, não combinam." Portanto, matematicamente, não, conforme respondido por Matt. Porque (como já respondido), F( F( x ( t ) ) ) =x(-t) (até um fator de escala potencial). No entanto, pode ser útil computacionalmente, porque a equação acima é geralmente implementada via transformada discreta de Fourier e seu avatar rápido, a FFT.
Uma primeira razão surge da vontade de verificar se a implementação de Fourier, codificada por você, outra pessoa ou de uma biblioteca, faz o que deve ser feito com seus dados. Ordenação de amostras, fatores de escala, limites no tipo de entrada (realidade, profundidade de bits) ou comprimento são fontes de possíveis erros subsequentes para implementações de Fourier como a FFT. Portanto, como verificação de integridade, é sempre bom verificar se as versões implementadas herdam, pelo menos aproximadamente, as propriedades teóricas. Como você verá, como mostrado por Machupicchu, você não recupera exatamente uma entrada real invertida: frequentemente, a parte imaginária não é exatamente zero e a parte real é o que se espera, mas dentro de um pequeno erro relativo, devido a cálculos imperfeitos do computador (ponto flutuante) dentro de uma tolerância dependente da máquina. Isso é visível na figura a seguir. A FFT é aplicada duas vezes em um sinal aleatório de 32 amostras e invertida. Como você pode ver, o erro é pequeno, usando flutuadores de precisão dupla.
Se o erro não for relativamente pequeno, pode haver erros no código que você usa.
x0 01 e 6xk + 1= R e ( f( f( f( f( xk) ) )))
fmax | xk- x0 0|
Como você pode ver, a ordem de magnitude do erro mudou, devido ao tamanho do sinal. Além disso, o erro máximo aumenta constantemente. Após iterações, ele permanece pequeno o suficiente. Mas você pode supor que, com um cubo -voxel e milhões de iterações, esse erro pode se tornar não negligenciável.10001000 × 1000 × 1000
Limitar o erro e avaliar seu comportamento em iterações podem ajudar a detectar esses comportamentos e reduzi-los com limiares ou arredondamentos apropriados.
Informação adicional: