qiskit.circuit.library.hidden_linear_function
qiskit.circuit.library.hidden_linear_function(adjacency_matrix)
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 .
El problema de la función lineal oculta es el siguiente
Consideremos la forma cuadrática
y restringir al espacio nulo de A. El resultado es una función lineal.
y el objetivo es recuperar esta función lineal (equivalentemente un vector ). 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 . 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')
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
Referencia:
[1] S. Bravyi, D. Gosset, R. Koenig, Ventaja cuántica con circuitos poco profundos, 2017. arXiv:1704.00690