qiskit.circuit.library.hidden_linear_function
qiskit.circuit.library.hidden_linear_function(adjacency_matrix)
Schaltung zur Lösung des Problems der verborgenen linearen Funktion.
Das Problem der verborgenen linearen Funktion 2D wird durch eine 2D Adjazenzmatrix A bestimmt, bei der nur die Elemente, die auf einem Gitter die nächsten Nachbarn sind, Einträge ungleich Null haben. Jede Zeile/Spalte entspricht einer binären Variablen .
Das Problem der verborgenen linearen Funktion lautet wie folgt:
Betrachten Sie die quadratische Form
und beschränken auf den Nullraum von A. Dies führt zu einer linearen Funktion.
und das Ziel ist die Wiederherstellung dieser linearen Funktion (gleichbedeutend mit einem Vektor ). Es kann mehrere Lösungen geben.
In [1] wird gezeigt, dass die vorliegende Schaltung dieses Problem auf einem Quantencomputer mit konstanter Tiefe löst, während eine entsprechende Lösung auf einem klassischen Computer Schaltungen erfordern würde, die logarithmisch mit wachsen. Somit ist diese Schaltung ein Beispiel für einen Quantenvorteil bei flachen Schaltungen.
Referenzkreislauf:
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')
Parameter
adjacency_matrix (list |ndarray) – eine symmetrische n-mal-n-Liste von 0-1-Listen. n ist die Anzahl der Qubits.
Erhöht
CircuitError – Wenn A nicht symmetrisch ist.
Rückgabetyp
Referenz:
[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690