Skip to main content
IBM Quantum Platform

qiskit.circuit.library.fourier_checking

qiskit.circuit.library.fourier_checking(f, g)

GitHub

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 ff, outra camada de Hadamards, a função gg, seguida por uma camada final de Hadamards. As funções ff e gg 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 é p(f,g)p(f,g). O algoritmo resolve o problema de verificação da promessa de Fourier, que decide se f está correlacionada com a transformada de Fourier de g, testando se p(f,g)<=0.01p(f,g) <= 0.01 ou p(f,g)>=0.05p(f,g) >= 0.05, prometeu que uma ou outra é verdadeira.

As funções ff e gg são atualmente implementadas 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 kk -fold para a relação [2].

Circuito de referência:

from qiskit.circuit.library import fourier_checking
circuit = fourier_checking([1, -1, -1, -1], [1, 1, -1, -1])
circuit.draw('mpl')
Diagrama de circuito gerado pelo código anterior.

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

Parâmetros

Tipo de retorno

QuantumCircuit

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.