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

Riferimenti:
[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690
Creare un nuovo circuito HLF.
La classe qiskit.circuit.library.hidden_linear_function.HiddenLinearFunction è deprecata a partire da Qiskit 2.1. Verrà rimosso in Qiskit 3.0. Utilizzare invece qiskit.circuit.library.hidden_linear_function.
Parametri
adjacency_matrix (list | np.ndarray) – un elenco simmetrico n per n di liste 0-1. n sarà il numero di qubit.
Aumenti
CircuitError – Se A non è simmetrica.
Attributi
name
Tipo: str
Un nome leggibile per il circuito.
Esempio
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit