HiddenLinearFunction
class qiskit.circuit.library.HiddenLinearFunction(adjacency_matrix)
Bases: QuantumCircuit
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:

Referencias:
[1] S. Bravyi, D. Gosset, R. Koenig, Ventaja cuántica con circuitos poco profundos, 2017. arXiv:1704.00690
Crear un nuevo circuito HLF.
La clase qiskit.circuit.library.hidden_linear_function.HiddenLinearFunction está obsoleta a partir de Qiskit 2.1. Se eliminará en Qiskit 3.0. Utilice qiskit.circuit.library.hidden_linear_function en su lugar.
Parámetros
adjacency_matrix (list | np.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.
Atributos
name
Tipo: str
Un nombre legible para el circuito.
Ejemplo
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit