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

Quellenangaben:
[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690
Erstellen Sie einen neuen HLF-Kreislauf.
Die Klasse qiskit.circuit.library.hidden_linear_function.HiddenLinearFunction ist ab Qiskit 2.1 veraltet. Sie wird in Qiskit 3.0 entfernt. Verwenden Sie stattdessen qiskit.circuit.library.hidden_linear_function.
Parameter
adjacency_matrix (list | np.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.
Attribute
name
Typ: str
Ein von Menschen lesbarer Name für den Stromkreis.
Beispiel
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit