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 el problema de la función lineal oculta.

El problema 2D Hidden Linear Function está determinado por una matriz de adyacencia A de 2D, donde sólo los elementos que son vecinos más cercanos en una cuadrícula tienen entradas distintas de cero. Cada fila/columna corresponde a una variable binaria xix_i.

El problema de la función lineal oculta es el siguiente

Consideremos la forma cuadrática

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

y restringir q(x)q(x) al espacio nulo de A. El resultado es una función lineal.

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

y el objetivo es recuperar esta función lineal (equivalentemente un vector [z0,...,zn1][z_0, ..., z_{n-1}] ). Puede haber múltiples soluciones.

En [1] se demuestra que el presente circuito resuelve este problema en un ordenador cuántico de profundidad constante, mientras que cualquier solución correspondiente en un ordenador clásico requeriría circuitos que crecen logarítmicamente con nn. Así pues, este circuito es un ejemplo de ventaja cuántica con circuitos poco profundos.

Circuito de referencia:

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 del circuito generado por el código anterior.

Parámetros

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

Eleva

CircuitError - Si A no es simétrico.

Tipo de retorno

QuantumCircuit

Referencia:

[1] S. Bravyi, D. Gosset, R. Koenig, Ventaja cuántica con circuitos poco profundos, 2017. arXiv:1704.00690

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.