¿Por qué el resultado FFT muestra 2 amplitudes distintas de cero para una muestra de frecuencia única?

Haciendo una simple ejecución FFT para aprender la operación, creo una matriz NumPy con 100 elementos que tienen una onda sinusoidal con un solo período en la matriz. Este código se utiliza:

...
n = 100
x = np.fromfunction(lambda a: np.sin(2 * np.pi * a / n), (n,), dtype=float)
res = np.fft.fft(x)
...

El resultado enres muestra una amplitud distinta de cero en 2 valores de índice diferentes:

idx           real         imag          abs
---     ----------   ----------   ----------
...
  1:             0      -50.000       50.000
...
 99:             0       50.000       50.000

Solo esperaba ver una única amplitud distinta de cero en el índice 1.

¿Por qué la amplitud no es cero para los índices 1 y 99, y cómo puedo entender esto matemáticamente?

ADDITION: Tal vez la alta frecuencia en realidad represente una alias frecuencia, donde la frecuencia de muestreo es demasiado baja de acuerdo conNyquist rate.

Respuestas a la pregunta(3)

Su respuesta a la pregunta