No "Quantum Computation and Quantum Information" de Mike e Ike, o algoritmo de Grover é explicado em grande detalhe. No entanto, no livro e em todas as explicações que encontrei on-line para o algoritmo de Grover, parece não haver menção de como o Oracle de Grover é construído, a menos que já saibamos qual o estado que estamos procurando, derrotando o objetivo do algoritmo. Especificamente, minha pergunta é a seguinte: dados alguns f (x) tais que, para algum valor x, f (x) = 1, mas para todos os outros f (x) = 0, como alguém constrói um oráculo que nos tirará nosso estado inicial arbitrário | x> | y> a | x> | y + f (x)>? O máximo de detalhes explícitos possível (talvez um exemplo?) Seria muito apreciado. Se tal construção para qualquer função arbitrária for possível com Hadamard, Pauli ou outros portões quânticos padrão,