Skip to main content
IBM Quantum Platform

qiskit.circuit.library.hidden_linear_function

qiskit.circuit.library.hidden_linear_function(adjacency_matrix)

GitHub

Circuito para resolver o problema da função linear oculta.

O problema da função linear oculta 2D é determinado por uma matriz de adjacência 2D A, em que somente os elementos que são vizinhos mais próximos em uma grade têm entradas diferentes de zero. Cada linha/coluna corresponde a uma variável binária xix_i.

O problema da função linear oculta é o seguinte:

Considere a forma quadrática

q(x)=i,j=1nxixj (mod 4)q(x) = \sum_{i,j=1}^{n}{x_i x_j} ~(\mathrm{mod}~ 4)

e restringir q(x)q(x) ao espaço nulo de A. Isso resulta em uma função linear.

2i=1nzixi (mod 4)xKer(A)2 \sum_{i=1}^{n}{z_i x_i} ~(\mathrm{mod}~ 4) \forall x \in \mathrm{Ker}(A)

e o objetivo é recuperar essa função linear (ou seja, um vetor [z0,...,zn1][z_0, ..., z_{n-1}] ). Pode haver várias soluções.

Em [1], é mostrado que o circuito atual resolve esse problema em um computador quântico com profundidade constante, enquanto qualquer solução correspondente em um computador clássico exigiria circuitos que crescem logaritmicamente com nn. Portanto, esse circuito é um exemplo de vantagem quântica com circuitos rasos.

Circuito de referência:

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

Parâmetros

adjacency_matrix (list |ndarray) – uma lista simétrica n por n de listas 0-1. n será o número de qubits.

Aumentos

CircuitError - Se A não for simétrico.

Tipo de retorno

QuantumCircuit

Referência:

[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690

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