factor de escala para CUFFT

Escribí un programa de prueba simple, donde estaba haciendo FT complejos a complejos y simplemente generé algunos datos 1..50 y los pegué en la parte real e imaginaria para cada índice de la matriz.

Cuando hago una operación como esta IFFT (FFT (A)) = A

para probarlos, obtengo resultados diferentes para cada biblioteca.

FFTW, tengo que dividir la salida por len (A) para recuperar el A @ origin

Sin embargo, al hacer esto hacia adelante y luego hacia atrás FFT con CUFFT, parece que tengo que dividir entre (sqrt (2) * 50) para volver a los datos originales.

¿De dónde viene este factor de raíz cuadrada adicional?

según la documentación de CUFFT: CUFFT realiza FFT no normalizadas; es decir, realizar una FFT directa en un conjunto de datos de entrada seguido de una FFT inversa en el conjunto resultante produce datos que son iguales a la entrada escalada por el número de elementos. El escalado de cualquiera de las transformaciones por el recíproco del tamaño del conjunto de datos se deja para que el usuario lo realice según lo considere adecuado.

Gracias por adelantad

Respuestas a la pregunta(2)

Su respuesta a la pregunta