Skip to main content
IBM Quantum Platform

GraphState

class qiskit.circuit.library.GraphState(adjacency_matrix)

GitHub

Basen: QuantumCircuit

Schaltung zur Vorbereitung eines Diagrammzustands.

Bei einem Graphen G = (V, E) mit der Menge der Eckpunkte V und der Menge der Kanten E ist der entsprechende Graphenzustand definiert als

∣G⟩=∏(a,b)∈ECZ(a,b)∣+⟩⊗V|G\rangle = \prod_{(a,b) \in E} CZ_{(a,b)} {|+\rangle}^{\otimes V}

Ein solcher Zustand kann vorbereitet werden, indem zunächst alle Qubits im Zustand ++ vorbereitet werden und dann für jede entsprechende Graphenkante ein CZCZ Gate angewendet wird.

Schaltungen zur Vorbereitung von Graphen sind Clifford-Schaltungen und daher leicht klassisch zu simulieren. Wenn man jedoch am Ende eine Schicht von Messungen auf Produktbasis hinzufügt, gibt es Hinweise darauf, dass die Schaltung schwer zu simulieren ist [2].

Referenzkreislauf:

Diagramm zur Veranschaulichung der zuvor beschriebenen Schaltung.

Quellenangaben:

[1] M. Hein, J. Eisert, H.J. Briegel, Multi-party Entanglement in Graph States,

arXiv:0307130

[2] D. Koh, Further Extensions of Clifford Circuits & their Classical Simulation Complexities.

arXiv:1512.07892

Erstellen Sie eine Schaltung zur Vorbereitung des Graphenzustandes.

Veraltet seit Version 2.1

Die Klasse qiskit.circuit.library.graph_state.GraphState ist ab Qiskit 2.1 veraltet. Sie wird in Qiskit 3.0 entfernt. Verwenden Sie stattdessen qiskit.circuit.library.GraphStateGate.

Parameter

adjacency_matrix (list | np.ndarray) – eingabegraph als n-mal-n-Liste von 0-1-Listen

Erhöht

CircuitError – Wenn die Adjazenzmatrix nicht symmetrisch ist.

Die Schaltung bereitet einen Graphenzustand mit der gegebenen Adjazenzmatrix vor.


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
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.