Skip to main content
IBM Quantum Platform

qiskit.circuit.library.hidden_linear_function

qiskit.circuit.library.hidden_linear_function(adjacency_matrix)

GitHub

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

Das Problem der verborgenen linearen Funktion lautet wie folgt:

Betrachten Sie die quadratische Form

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

und beschränken q(x)q(x) auf den Nullraum von A. Dies führt zu einer linearen Funktion.

2∑i=1nzixi (mod 4)∀x∈Ker(A)2 \sum_{i=1}^{n}{z_i x_i} ~(\mathrm{mod}~ 4) \forall x \in \mathrm{Ker}(A)

und das Ziel ist die Wiederherstellung dieser linearen Funktion (gleichbedeutend mit einem Vektor [z0,...,zn−1][z_0, ..., z_{n-1}] ). 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 nn 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')
Schaltplan, der durch den vorherigen Code ausgegeben wurde.

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

QuantumCircuit

Referenz:

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

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.