Por que o resultado da FFT mostra 2 amplitudes diferentes de zero para amostras de frequência única?

Ao executar uma FFT simples para aprender a operação, crio uma matriz NumPy com 100 elementos tendo uma onda senoidal com apenas um único período na matriz. Este código é usado:

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

O resultado emres mostra uma amplitude diferente de zero com 2 valores de índice diferentes:

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

Eu esperava apenas ver uma amplitude diferente de zero no índice 1.

Por que a amplitude é diferente de zero para os índices 1 e 99 e como posso entender isso matematicamente?

ADIÇÃO: Talvez a alta frequência realmente represente umalias frequência, onde a taxa de amostragem é muito baixa de acordo com oTaxa de Nyquist.

questionAnswers(3)

yourAnswerToTheQuestion