qiskit.circuit.library.hidden_linear_function
qiskit.circuit.library.hidden_linear_function(adjacency_matrix)
Circuito per risolvere il problema della funzione lineare nascosta.
Il problema della funzione lineare nascosta 2D è determinato da una matrice di adiacenza A 2D, in cui solo gli elementi che sono vicini a una griglia hanno voci non nulle. Ogni riga/colonna corrisponde a una variabile binaria .
Il problema della funzione lineare nascosta è il seguente:
Si consideri la forma quadratica
e limitare allo spazio nullo di A. Il risultato è una funzione lineare.
e l'obiettivo è recuperare questa funzione lineare (equivalentemente un vettore ). Possono esistere più soluzioni.
In [1] si dimostra che il presente circuito risolve questo problema su un computer quantistico a profondità costante, mentre una soluzione corrispondente su un computer classico richiederebbe circuiti che crescono logaritmicamente con . Questo circuito è quindi un esempio di vantaggio quantistico con circuiti poco profondi.
Circuito di riferimento:
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')
Parametri
adjacency_matrix (list |ndarray) – una lista simmetrica n per n di liste 0-1. n sarà il numero di qubit.
Aumenti
CircuitError – Se A non è simmetrica.
Tipo di restituzione
Riferimenti:
[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690