Estou tentando me acostumar com o IBM Q implementando o algoritmo de Grover de três qubits, mas tendo dificuldade em implementar o oráculo.
Você poderia mostrar como fazer isso ou sugerir alguns bons recursos para se acostumar à programação de circuitos IBM Q?
O que eu quero fazer é marcar um estado arbitrário, lançando seu sinal como o oráculo deveria fazer.
Por exemplo, eu tenho
.
e eu quero marcar lançando seu sinal para - | 111 ⟩ . De alguma forma, entendo que o gate CCZ resolveria o problema, mas não temos o gate CCZ no IBM Q. A combinação de alguns portões funcionará da mesma forma que o CCZ, mas ainda não tenho certeza de como fazer isso. E também estou lutando pelos outros casos, não apenas por | 111 ⟩ .
O caso de dois qubits é bastante simples para eu implementar, mas o cuidado com três qubits ainda é confuso para mim.