I'm a beginner and I'm working on a question where I need to do a quantum fourier transformation on an input string that consists of "-1"s and "1"s. In Qiskit's documentation on QFTs, I saw that NOT gates are used for binary 1s and the absence of NOT gates represent binary 0s. But how can I represent a -1?
1 Answer
QFT performs a discrete Fourier Transform on the amplitudes of the state vector, not the bit strings. Therefore, you should be putting $-1$ (with appropriate normalization) in the amplitudes of the vector. You can achieve this using a $Z$ gate. For example if you have:
$$Z\,H\,\vert 0\rangle= Z\, \frac{1}{\sqrt{2}}(\vert 0\rangle +\vert 1 \rangle)= \frac{1}{\sqrt{2}}(\vert 0\rangle -\vert 1 \rangle)$$
Performing a QFT on the above state is equivalent to performing a discrete Fourier Transform on $\lbrace \frac{1}{\sqrt{2}}, \frac{-1}{\sqrt{2}}\rbrace$ which results in $\lbrace 0, 1\rbrace$ which as a state vector would correspond to $\vert 1\rangle$.
As a side note, given that the QFT in the case of a single qubit is just $H$, we get the following identity:
$$H\, Z\, H = X$$