Skip to main content
IBM Quantum Platform

qiskit.circuit.library.hidden_linear_function

qiskit.circuit.library.hidden_linear_function(adjacency_matrix)

GitHub

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 xix_i.

Il problema della funzione lineare nascosta è il seguente:

Si consideri la forma quadratica

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

e limitare q(x)q(x) allo spazio nullo di A. Il risultato è una funzione lineare.

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 l'obiettivo è recuperare questa funzione lineare (equivalentemente un vettore [z0,...,zn1][z_0, ..., z_{n-1}] ). 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 nn. 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')
Schema del circuito prodotto dal codice precedente.

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

QuantumCircuit

Riferimenti:

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

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.