FourierChecking
class qiskit.circuit.library.FourierChecking(f, g)
Bases: QuantumCircuit
Circuito de verificação de Fourier.
O circuito para o algoritmo de verificação de Fourier, apresentado em [1], envolve uma camada de Hadamards, a função , outra camada de Hadamards, a função , seguida por uma camada final de Hadamards. As funções e são funções clássicas realizadas como oráculos de fase (operadores diagonais com {-1, 1} na diagonal).
A probabilidade de observar a cadeia de caracteres de todos os zeros é . O algoritmo resolve o problema de verificação da promessa de Fourier, que decide se f está correlacionado com a transformada de Fourier de g, testando se ou , prometeu que um ou outro é verdadeiro.
As funções e são implementadas atualmente a partir de suas tabelas verdade, mas podem ser representadas de forma concisa e implementadas de forma eficiente para classes especiais de funções.
A verificação de Fourier é um caso especial de -fold para a relação [2].
Referências
[1] S. Aaronson, BQP and the Polynomial Hierarchy, 2009 (Seção 3.2 ). arXiv:0910.4698
[2] S. Aaronson, A. Ambainis, Forrelation: um problema que separa de forma ideal a computação quântica da clássica, 2014. arXiv:1411.5729
Crie um circuito de verificação de Fourier.
A classe qiskit.circuit.library.fourier_checking.FourierChecking está obsoleta desde o Qiskit 2.1. Ele será removido no Qiskit 3.0. Em vez disso, use qiskit.circuit.library.fourier_checking.
Parâmetros
- f (Sequence[int]) – tabela verdade para f, comprimento 2**n lista de {1,-1}.
- g (Sequence[int]) – tabela verdade para g, comprimento 2**n lista de {1,-1}.
Aumentos
CircuitError - se as entradas f e g não forem válidas.
Circuito de referência:

Atributos
name
Tipo: str
Um nome legível por humanos para o circuito.
Exemplo
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit