Skip to content

QuantumCircuit ‐ Klasse

Jonas Jelonek edited this page Oct 26, 2023 · 3 revisions

QuantumCircuit

Methoden

Methode Argumente Beschreibung
add_gate self, gate: QGate, qubits: tuple[str] Fügt dem Quantenschaltkreis das übergebene Gatter hinzu welches auf das/die Qubits qubits wirkt.
list_gates self Erzeugt eine sequentielle Ausgabe aller Gatter, die in diesem Quantenschaltkreis enthalten sind.
process_gates self, stepping: bool Startpunkt der Verarbeitung für die CLI-Schnittstelle mit der Angabe ob schrittweise oder in einem Durchlauf.
calculate_all self Führt die gesamte Berechnung des Quantenschaltkreis durch indem sequentiell über die Gatter iteriert und deren Wirkung auf die Qubits berechnet wird. Es werden keine Zwischenergebnisse ausgegeben.
has_next_step self Gibt zurück, ob noch ein verbleibender/s Schritt/Gatter vorhanden ist.
next_step self Führt den nächsten Berechnungsschritt bzw. das nächste Gatter aus. Dies kann zur kontrollierten Verarbeitung des gesamten Schaltkreises genutzt werden. Im Erfolgsfall gibt diese Methode True zurück, wenn kein Schritt mehr übrig ist wird False zurückgegeben.
print_current_state self Gibt den aktuellen Zustand der Qubits in diesem Quantenschaltkreis aus.

Shortcut-Methoden zum Hinzufügen von Gattern

Methode Argumente Beschreibung
add_identity_gate self, qubit: str Fügt dem Quantenschaltkreis ein Identitäts-Gatter hinzu, welches auf qubit wirkt.
add_hadamard_gate self, qubit: str Fügt dem Quantenschaltkreis ein Hadamard-Gatter hinzu, welches auf qubit wirkt.
add_pauliX_gate self, qubit: str Fügt dem Quantenschaltkreis ein PauliX-Gatter hinzu, welches auf qubit wirkt.
add_pauliY_gate self, qubit: str Fügt dem Quantenschaltkreis ein PauliY-Gatter hinzu, welches auf qubit wirkt.
add_pauliZ_gate self, qubit: str Fügt dem Quantenschaltkreis ein PauliZ-Gatter hinzu, welches auf qubit wirkt.
add_phase_gate self, qubit: str, angle: float Fügt dem Quantenschaltkreis ein Phasen-Gatter hinzu, welches auf qubit mit dem Phasenwinkel angle wirkt.
add_sphase_gate self, qubit: str Fügt dem Quantenschaltkreis ein Identitäts-Gatter hinzu, welches auf qubit wirkt.
add_tphase_gate self, qubit: str Fügt dem Quantenschaltkreis ein Identitäts-Gatter hinzu, welches auf qubit wirkt.
add_measurement_gate self, qubit: str Fügt dem Quantenschaltkreis ein Mess-Gatter hinzu, welches die Messung des Qubit qubit bewirkt. Das Messergebnis wird im Dictionary measured gespeichert und in der Ausgabe ausgegeben.
add_cnot_gate self, qubit0: str, qubit1: str Fügt dem Quantenschaltkreis ein CNOT-Gatter hinzu, welches auf qubit0 und qubit1 wirkt, wobei qubit0 das kontrollierende Qubit ist.
add_swap_gate self, qubit0: str, qubit1: str Fügt dem Quantenschaltkreis ein Swap-Gatter hinzu, welches auf qubit0 und qubit1 wirkt.
add_cz_gate self, qubit0: str, qubit1: str Fügt dem Quantenschaltkreis ein CZ-Gatter hinzu, welches auf qubit0 und qubit1 wirkt, wobei qubit0 das kontrollierende Qubit ist.
add_cphase_gate self, qubit0: str, qubit1: str, angle: float Fügt dem Quantenschaltkreis ein CPhase-Gatter hinzu, welches auf qubit0 und qubit1 mit dem Phasenwinkel angle wirkt.
add_toffoli_gate self, qubit0: str, qubit1: str, qubit2: str Fügt dem Quantenschaltkreis ein Toffoli-Gatter hinzu, welches auf qubit0, qubit1 und qubit2 wirkt, wobei qubit0 und qubit1 kontrollierende Qubits sind.
add_cswap_gate self, qubit0: str, qubit1: str, qubit2: str Fügt dem Quantenschaltkreis ein CSwap-Gatter hinzu, welches auf qubit0, qubit1 und qubit2 wirkt, wobei qubit0 das kontrollierende Qubit ist.