I am trying to implement at a discrete-time quantum walk on a 3D hypercube using cirq.
I have three qubits for the position register: the $|x\rangle$ qubit, $|y\rangle$ qubit and $|z\rangle$ qubit, and the hamming distance between two adjacent vertices is always one. I am not sure how to implement the coin 'qubit': at each step there are three vertices the walker can walk to (where each possibility has 1 qubit flipped from the original qubit), so I would need a 3D coin. I can't use one qubit for my coin, as that would only give me $2$ directions to walk into, and I can't use two qubits for the coin, as that would leave me with one direction too many. So, I thought I could implement it using a qutrit, so that if the coin state is $|1\rangle$ I flip the $|x\rangle$ qubit, if the coin state is $|2\rangle$ I flip the $|y\rangle$ qubit and if the coin state is $|3\rangle$ I flip the $|z\rangle$ qubit. This would correspond to walking to an adjacent vertex (since the hamming distance is one).
So now I have 2 questions:
- [general question] Is using a qutrit the best way to implement my coin? Is this experimentally feasible now? Can I just combine qubits and qutrits? Or more generally, what are the implications of using qutrits?
- [cirq specific question] How would I now define controlled NOT gates where my control is a qutrit?