IBM Quantum Composer
Was ist das?
IBM Quantum® Composer ist ein grafisches Quantenprogrammierwerkzeug, mit dem du Operationen per Drag & Drop zusammenstellen kannst, um Quantum Circuits zu bauen und sie auf echter Quantenhardware auszuführen.
Was kann es?
Qubit-Zustände visualisieren
Sieh dir an, wie sich Änderungen an deinem Circuit auf den Zustand der Qubits auswirken – dargestellt als interaktive Q-Sphäre oder als Histogramme mit Messprobabilitäten oder Zustandsvektor-Simulationen.
Auf Quantenhardware ausführen
Führe deine Circuits auf echter Quantenhardware aus, um die Auswirkungen von Geräterauschen zu verstehen.
Code automatisch generieren
Statt Code von Hand zu schreiben, kannst du automatisch OpenQASM- oder Python-Code generieren lassen, der sich genauso verhält wie der Circuit, den du im Composer erstellt hast.
Rundgang durch die Oberfläche
IBM Quantum Composer bietet eine anpassbare Sammlung von Werkzeugen, mit denen du Quantum Circuits bauen, visualisieren und auf Quantenprozessoren (QPUs) ausführen kannst. Über das Menü „Weitere Optionen" in jedem Fenster kannst du auf zusätzliche Werkzeuge und Aktionen zugreifen.
-
Operationskatalog – Das sind die Bausteine von Quantum Circuits. Ziehe Gates und andere Operationen per Drag & Drop in den grafischen Circuit-Editor. Verschiedene Gate-Typen sind farblich gruppiert: Klassische Gates sind dunkelblau, Phasen-Gates sind hellblau und nicht-unitäre Operationen sind grau.
Um mehr über die verfügbaren Gates und Operationen zu erfahren, klicke eine Operation mit der rechten Maustaste an und wähle „Info", um ihre Definition zu lesen.
-
Code-Editor – Öffne oder schließe den Code-Editor über das Menü „Ansicht". Dort kannst du den OpenQASM- oder Qiskit-Code des Circuits einsehen. Den OpenQASM-Code kannst du bearbeiten; der Qiskit-Code ist schreibgeschützt.
-
Grafischer Circuit-Editor – Hier baust du deinen Circuit. Ziehe Gates und andere Operationen auf die horizontalen Qubit-„Drähte", die dein Quantenregister bilden.
Um ein Gate von einem Draht zu entfernen, wähle es aus und klicke auf das Papierkorb-Symbol.
Um Parameter und Einstellungen von Gates zu bearbeiten, die dies unterstützen, wähle das Gate im grafischen Editor aus und klicke auf „Bearbeiten".
-
Toolbar – Greife auf häufig genutzte Werkzeuge zu: Aktionen rückgängig machen und wiederholen, die Gate-Ausrichtung ändern und in den Inspektionsmodus wechseln. Im Inspektionsmodus siehst du den Zustand der Qubits schrittweise, während sich die Berechnung deines Circuits entwickelt. Mehr dazu erfährst du unter Circuit schrittweise inspizieren.
-
Phasenscheiben – Die Phase des Qubit-Zustandsvektors in der komplexen Ebene wird durch die Linie dargestellt, die vom Mittelpunkt des Diagramms zum Rand der grauen Scheibe verläuft (und sich gegen den Uhrzeigersinn um den Mittelpunkt dreht).
Zeige oder verberge die Phasenscheiben über das Menü „Ansicht".
-
Visualisierungen – Die Visualisierungen charakterisieren deinen Circuit während du ihn aufbaust. Sie nutzen einen Single-Shot-Zustandsvektor-Simulator, der sich vom QPU unterscheidet, der in den „Circuit ausführen"-Einstellungen angegeben ist. Beachte, dass die Visualisierungen alle von dir hinzugefügten Messoperationen ignorieren. Melde dich an und klicke auf Circuit ausführen, um stattdessen Ergebnisse vom angegebenen Backend zu erhalten.
Mehr dazu im Abschnitt Visualisierungen.
Quantum Circuits bauen, bearbeiten und inspizieren
Wenn du später mit einem Circuit weiterarbeiten möchtest, lade die Circuit-Datei unbedingt herunter und speichere sie lokal, bevor du deine aktuelle Composer-Sitzung beendest. Verwende dazu den Link „Datei speichern" in der oberen rechten Ecke oder gehe ins Menü „Datei" und wähle „Datei speichern". Wenn du wieder mit dem Circuit arbeiten möchtest, gehe ins Menü „Datei", wähle „.qasm-Datei hochladen", navigiere dann zur Circuit-Datei auf deinem lokalen Laufwerk und klicke auf „Öffnen".
1. IBM Quantum Composer öffnen
- (Optional) Falls du noch nicht bei IBM Quantum angemeldet bist, wähle Anmelden in der oberen rechten Ecke. Dort kannst du dich entweder anmelden oder ein IBM Cloud-Konto erstellen.
Wenn du dich nicht anmeldest, zeigen die Visualisierungen automatisch simulierte Ergebnisse für bis zu vier Qubits an. Wenn du deinen Circuit auf einem Quantencomputer ausführen oder einen Circuit mit mehr als vier Qubits visualisieren möchtest, musst du dich anmelden.
-
Öffne IBM Quantum Composer über den Link auf der Navigationsseite Learning. Der Arbeitsbereich zeigt einen unbenannten leeren Circuit. Du kannst entweder einen neuen Circuit erstellen oder eine .qasm-Datei hochladen, um mit einem bereits erstellten Circuit weiterzuarbeiten.
-
Benenne deinen Circuit, indem du auf die Worte Untitled circuit klickst und einen Namen eingibst. Klicke auf das Häkchen, um den Namen zu speichern.
-
(Optional) Passe deinen Arbeitsbereich an:
- Verwende das Menü Ansicht, um vom Standarddesign zu einem monochromen Design zu wechseln. Du kannst auch auswählen, welche Panels in deinem Arbeitsbereich angezeigt werden sollen, und dann das Menü in der rechten Ecke eines Panels nutzen, um weitere Anpassungsoptionen aufzurufen. Die Optionen zum Ein- und Ausblenden von Phasenscheiben, zur Wahl der Qubit-Ausrichtung im Circuit und zum Zurücksetzen des Arbeitsbereichs auf den Standard befinden sich ebenfalls im Menü „Ansicht".
- Wechsle zwischen dunklem und hellem Arbeitsbereich-Design in der unteren rechten Ecke der Fußzeile.
Um einen Circuit zu bauen, kannst du entweder Operationen per Drag & Drop platzieren oder OpenQASM-Code im Code-Editor eingeben.
2. Circuit per Drag & Drop aufbauen
Operationskatalog
Ziehe Operationen aus dem Operationskatalog auf die Quanten- und klassischen Register. Klicke auf das Suchsymbol und gib einen Begriff in die Suchleiste ein, um eine Operation schnell zu finden.
Klicke auf das Symbol in der oberen rechten Ecke des Operationspanels, um den Katalog ein- oder auszuklappen. Klicke auf das danebenliegende Symbol, um zwischen Raster- und Listenansicht des Katalogs umzuschalten.
Klicke mit der rechten Maustaste auf ein Operationssymbol und wähle „Info", um die Definition einer Operation sowie ihre QASM-Referenz anzuzeigen.
Zum Rückgängigmachen oder Wiederholen verwendest du die gebogenen Pfeile in der Toolbar.
Ausrichtung
Wähle „Freihand-Ausrichtung", um Operationen an beliebiger Stelle im Circuit zu platzieren. Für eine kompaktere Ansicht deines Circuits wähle „Links-Ausrichtung". Um die Ausführungsreihenfolge der Operationen zu sehen, wähle „Ebenen-Ausrichtung" – diese wendet Links-Ausrichtung an und fügt Spaltentrennlinien hinzu, die die Ausführungsreihenfolge von links nach rechts und von oben nach unten anzeigen.
Bereits platzierte Operationen können weiterhin per Drag & Drop an neue Positionen verschoben werden.
Kopieren und Einfügen
Klicke auf eine Operation und verwende die Symbole im Kontextmenü, um sie zu kopieren und einzufügen.
Mehrere Operationen auswählen
Du kannst mehrere Operationen auswählen, um sie zu kopieren und einzufügen, an eine neue Position zu ziehen oder sie zu einer benutzerdefinierten unitären Operation zu gruppieren, die in deinem Operationskatalog erscheint und wie ein einzelnes Gate funktioniert.
Um mehr als eine Operation auszuwählen, platziere deinen Cursor knapp außerhalb einer der Operationen und ziehe dann über den Bereich, den du auswählen möchtest. Halte Shift gedrückt und klicke auf einzelne Operationen, um sie auszuwählen oder die Auswahl aufzuheben. Eine gestrichelte Linie umrahmt die Menge der ausgewählten Operationen, und jede Operation, die tatsächlich zur Auswahl gehört, ist blau umrandet.
In folgendem Bild beispielsweise sind das Hadamard-Gate auf q1 und das CX-Gate ausgewählt. Das Hadamard-Gate auf q0 ist nicht ausgewählt.
Wähle „Kopieren" aus dem Kontextmenü, um die Gruppe zu kopieren.
Um die Gruppe einzufügen, klicke mit der rechten Maustaste in den Circuit und wähle „Einfügen".
Benutzerdefinierte Operation mit der Gruppierfunktion erstellen
Um mehrere Operationen zu gruppieren und als benutzerdefinierte Operation zu speichern, wähle zunächst die Operationen wie oben beschrieben aus und wähle dann „Gruppe" aus dem Kontextmenü. Du wirst aufgefordert, der benutzerdefinierten Operation einen Namen zu geben, oder du kannst den Standardnamen übernehmen. Klicke auf „OK" – die benutzerdefinierte Operation wird dann sowohl in deinem Circuit als auch im Operationskatalog als einzelne Box dargestellt.
Du kannst die neue Operation nun per Drag & Drop in deinem Circuit platzieren. Beachte, dass die Operation nur in diesem Circuit gespeichert wird und nicht im Operationskatalog anderer Circuits erscheint.
Du kannst eine benutzerdefinierte Operation auch direkt im OpenQASM-Code-Editor erstellen; weitere Informationen dazu findest du unter Benutzerdefinierte Operation in OpenQASM erstellen.
Benutzerdefinierte oder vordefinierte Operation aufheben
Um die Gates innerhalb einer benutzerdefinierten oder vordefinierten Operation aufzuheben, klicke auf die Operation im Composer und wähle „Gruppe aufheben" aus dem Kontextmenü. Die einzelnen Operationen können nun unabhängig voneinander verschoben werden. Wenn du eine Gruppierung aufhebst, wird jedes Element der ehemaligen Gruppe unabhängig ausgeführt, was bedeuten kann, dass es in einer anderen Reihenfolge ausgeführt wird als innerhalb der Gruppe.
Definition einer Operation erweitern
Um die Operationen anzuzeigen, aus denen eine benutzerdefinierte oder vordefinierte Operation besteht, ohne sie aufzuheben, klicke im Kontextmenü auf Definition erweitern. Klicke erneut auf das Symbol, um die Definition wieder einzuklappen.
Benutzerdefinierte Operation umbenennen oder löschen
Um eine benutzerdefinierte Operation umzubenennen oder zu löschen, klicke im Operationskatalog mit der rechten Maustaste auf die Operation und wähle „Umbenennen" oder „Löschen". Das Löschen einer benutzerdefinierten Operation aus dem Operationskatalog löscht auch alle Instanzen davon in deinem Circuit.
Das Löschen einer benutzerdefinierten Operation aus dem Circuit selbst löscht sie nicht aus dem Operationskatalog – du kannst sie nur über Rechtsklick und „Löschen" aus dem Katalog entfernen.
Register hinzufügen oder entfernen
Um Quanten- oder klassische Register hinzuzufügen oder zu entfernen, klicke auf „Bearbeiten" → „Register verwalten". Du kannst die Anzahl der Qubits oder Bits in deinem Circuit erhöhen oder verringern und die Register umbenennen. Klicke auf OK, um die Änderungen anzuwenden. Du kannst auch einfach auf den Registernamen (z. B. q[0]) klicken und die Optionen im Kontextmenü verwenden, um schnell Register oder Qubits hinzuzufügen oder zu löschen.
Bedingung hinzufügen
Um einem Gate eine Bedingung hinzuzufügen, ziehe die if-Operation auf das Gate und lege die Parameter im Bearbeitungspanel für Operationen fest, das sich automatisch öffnet. Du kannst auch auf ein Gate doppelklicken, um das Bearbeitungspanel zu öffnen, und die Bedingungsparameter dort einstellen.
Kontrollmodifikator hinzufügen
Ein Kontrollmodifikator ergibt ein Gate, dessen ursprüngliche Operation nun vom Zustand des Kontroll-Qubits abhängt. Für weitere Details klicke im Operationskatalog mit der rechten Maustaste auf das Kontrollmodifikator-Symbol und wähle „Info".
Ziehe den Kontrollmodifikator auf ein Gate, um eine Kontrolle hinzuzufügen. Ein Punkt erscheint am Kontroll-Qubit, und eine Linie verbindet ihn mit dem Ziel-Qubit. Um zu bearbeiten, welches Qubit die Kontrolle oder das Ziel ist, klicke auf das Gate und wähle das Symbol „Operation bearbeiten" (oder doppelklicke auf das Gate), um das Bearbeitungspanel zu öffnen und deine Parameter festzulegen. Im Bearbeitungspanel kannst du eine Kontrolle auch von einem Qubit entfernen, indem du auf das x neben dem Qubit-Namen klickst.
Mit Phasenscheiben durch den Circuit visualisieren
Um den Zustand aller Qubits an einer beliebigen Stelle in deinem Circuit zu visualisieren, ziehe das Phasenscheiben-Symbol aus dem Operationskatalog und platziere es an der gewünschten Stelle in deinem Circuit. Eine Spalte mit Barrier-Operationen und eine Spalte mit Phasenscheiben werden hinzugefügt (je eine Barrier-Operation und Phasenscheibe pro Qubit). Fahre mit der Maus über jede Phasenscheibe, um den Zustand des Qubits an dieser Stelle im Circuit zu lesen. Beachte, dass das Hinzufügen der Phasenscheiben deinen Circuit nicht verändert – sie sind lediglich ein Visualisierungswerkzeug.
Mehr über die Phasenscheiben-Visualisierung erfährst du hier.
Circuit-Bild exportieren
Um ein Bild deines Circuits zu exportieren, wähle „Datei" → „Circuit-Bild exportieren". Das Fenster mit den Exportoptionen öffnet sich, in dem du ein Design (hell, dunkel, weiß auf schwarz oder schwarz auf weiß), ein Format (.svg oder .png) und ob du einen Zeilenumbruch anwenden möchtest, auswählen kannst. Wenn du deine Optionen gewählt hast, klicke auf „Exportieren".
3. Circuit mit OpenQASM-Code aufbauen
IBM Quantum Composer unterstützt derzeit OpenQASM 2.0.
- Um den Code-Editor zu öffnen, klicke auf „Ansicht" → „Panels" → „Code-Editor".
- Sieh dir das Composer-Operationsglossar für OpenQASM-Referenzen zu Gates und anderen Operationen an.
- Du kannst eigene benutzerdefinierte Operationen definieren; sieh dazu Benutzerdefinierte Operation in OpenQASM erstellen.
- Für weitere Informationen zur OpenQASM-Sprache, einschließlich Beispielcode, sieh dir den Leitfaden Einführung in OpenQASM an oder lies das ursprüngliche Forschungspapier Open Quantum Assembly Language. Die Tabelle der OpenQASM-Sprachanweisungen aus dem Papier ist unten abgebildet. Die OpenQASM-Grammatik ist in Anhang A des Papiers zu finden.
| Anweisung | Beschreibung | Beispiel |
|---|---|---|
OPENQASM 2.0; | Kennzeichnet eine Datei im OpenQASM-Format (siehe [a]) | OPENQASM 2.0; |
qreg name[size]; | Deklariert ein benanntes Qubit-Register | qreg q[5]; |
creg name[size]; | Deklariert ein benanntes Bit-Register | creg c[5]; |
include "filename"; | Öffnet und verarbeitet eine andere Quelldatei | include "qelib1.inc"; |
gate name(params) qargs | Deklariert ein unitäres Gate | (siehe Papiertext) |
opaque name(params) qargs; | Deklariert ein opakes Gate | (siehe Papiertext) |
// comment text | Kommentiert eine Textzeile | // oops! |
U(theta,phi,lambda) qubit|qreg; | Wendet eingebautes(e) Single-Qubit-Gate(s) an (siehe [b]) | U(pi/2,2*pi/3,0) q[0]; |
CX qubit|qreg,qubit|qreg; | Wendet eingebautes(e) CNOT-Gate(s) an | CX q[0],q[1]; |
measure qubit|qreg -> bit|creg; | Führt Messungen in der -Basis durch | measure q -> c; |
reset qubit|qreg; | Bereitet Qubit(s) im Zustand vor | reset q[0]; |
gatename(params) qargs; | Wendet ein benutzerdefiniertes unitäres Gate an | crz(pi/2) q[1],q[0]; |
if(creg==int) qop; | Wendet eine Quantenoperation bedingt an | if(c==5) CX q[0],q[1]; |
barrier qargs; | Verhindert Transformationen über diese Quellzeile hinweg | barrier q[0],q[1]; |
[a] Diese Anweisung muss als erste Nicht-Kommentarzeile der Datei erscheinen.
[b] Die Parameter theta, phi und lambda werden durch Parameterausdrücke angegeben; weitere Informationen dazu auf Seite 5 des Papiers und in Anhang A.
Benutzerdefinierte Operation in OpenQASM erstellen
Du kannst neue unitäre Operationen im Code-Editor definieren (siehe die Abbildung unten für ein Beispiel). Die Operationen werden mit der Anweisung name(params) qargs; angewendet, genau wie die eingebauten Operationen. Die Klammern sind optional, wenn keine Parameter vorhanden sind.
Um eine benutzerdefinierte Operation zu definieren, gib sie im OpenQASM-Code-Editor in folgendem Format ein: gatename(params) qargs;. Wenn du in der Operationsliste auf +Hinzufügen klickst, wirst du aufgefordert, einen Namen für deine benutzerdefinierte Operation einzugeben, die du dann im Code-Editor aufbauen kannst.
Nachdem du deine benutzerdefinierte Operation definiert hast, ziehe sie in den grafischen Editor und verwende das Bearbeiten-Symbol, um die Parameter feinabzustimmen.
| Beispiel einer benutzerdefinierten Operation | |
|---|---|
| Die Gates, die in die benutzerdefinierte Operation einbezogen werden sollen: | |
| Der Code für die neue Operation: | |
| Die neue Operation im grafischen Editor: |
4. Circuit schrittweise inspizieren
Der Inspektionsmodus entmystifiziert die inneren Abläufe der Circuits, die du erstellst. Er simuliert deinen Circuit Schicht für Schicht, sodass du den Zustand der Qubits verfolgen kannst, während sich die Berechnung entwickelt.
-
Wähle im Menü Ansicht die Panels für die Visualisierungen aus, die du verwenden möchtest.
-
Klicke auf den Schalter Inspizieren in der Toolbar. Beachte, dass du nach dem Aktivieren des Inspektionsmodus keine weiteren Operationen hinzufügen kannst, bis du ihn wieder deaktivierst.
-
Wenn du deinen Circuit mit aktivierter Freihand-Ausrichtung gebaut hast, beachte, dass der Inspektionsmodus automatisch die Links-Ausrichtung aktiviert.
-
Verwende die Vorwärts- und Rücklauftasten, um die Visualisierungen deiner Circuit-Komponenten schrittweise durchzugehen.
-
Um nur bestimmte Operationen zu inspizieren, klicke auf die Operationen, die inspiziert werden sollen – eine farbige Markierung erscheint über jeder, die bei der Ausführung im Inspektionsmodus einbezogen wird. Um eine Operation abzuwählen, klicke erneut darauf, und die Markierung verschwindet.
-
Um mehr über die Interpretation von Visualisierungen zu erfahren, sieh dir den Abschnitt Visualisierungen an.
-
Um den Inspektionsmodus zu verlassen und deinen Circuit wieder zu bearbeiten, klicke auf den Schalter „Inspizieren" in der Toolbar.
Der Simulator erzeugt Zufälligkeit, indem er Ergebnisse auf Basis eines Seeds generiert. Der Seed ist der Anfangswert, der in den Algorithmus eingespeist wird, der Pseudozufallszahlen erzeugt. Du kannst den Seed-Wert einsehen, indem du „Visualisierungen-Seed" aus dem Menü „Bearbeiten" auswählst. Du kannst den Seed auch selbst festlegen, indem du den Wert im Eingabefeld änderst.
Circuits ausführen und Ergebnisse ansehen
Befolge die folgenden Schritte, um Quantum Circuits auf QPUs auszuführen und die Ergebnisse anzusehen.
Job-Einstellungen wählen
Klicke oben rechts auf Circuit ausführen. Im sich öffnenden Fenster wählst du einen verfügbaren QPU aus. Du kannst auch eine Instanz auswählen, die einem Plan zugeordnet ist (z. B. dem Open-, Flex- oder Premium-Plan). Die gewählte Instanz bestimmt, welche QPUs dir zur Verfügung stehen. Klicke auf den Link „Details anzeigen" in der QPU-Tabelle, um weitere Informationen zu jedem QPU zu erhalten.
Anschließend kannst du die Anzahl der Shots (Ausführungen) deines Circuits festlegen, die das Backend durchführen soll.
Du kannst in diesem Panel optional auch den Job benennen und Tags hinzufügen. Das ändert nicht den Namen des Circuits. Ein vorbelegter „Composer"-Tag erleichtert das Filtern deiner Workloads-Tabelle nach Composer-Jobs. Du kannst diesen Tag entfernen.
Wenn du einen Circuit ausführst, wird er automatisch an den am wenigsten ausgelasteten QPU gesendet, es sei denn, du gibst in den Ausführungseinstellungen einen QPU an. Wenn du denselben Circuit erneut ausführst, wird in der QPU-Auswahl standardmäßig deine vorherige Wahl angezeigt.
„Auf (QPU-Name) ausführen" klicken
Du kannst den Fortschritt des Jobs verfolgen, indem du oben rechts auf die Schaltfläche „Jobs anzeigen" klickst – das öffnet die Workloads-Seite in IBM Quantum Platform.
Ergebnisse anzeigen
Sobald dein Job abgeschlossen ist, werden die Details in der Workloads-Tabelle in IBM Quantum Platform aktualisiert.
Die Job-Ergebnisseite zeigt Ausführungsdetails, Diagramme des Original- und des transpilierten Circuits, ein Histogramm der Ergebnisse sowie OpenQASM- und Qiskit-Tabs zur Anzeige beider Circuits in OpenQASM oder Qiskit.
Du kannst die Circuits und das Histogramm herunterladen, indem du auf das Menü in der oberen rechten Ecke jedes Diagramms klickst und ein Downloadformat auswählst (PNG, PDF oder SVG; das Histogramm kann außerdem als CSV-Datei exportiert werden). Die OpenQASM-Circuits kannst du direkt im Composer öffnen.
Visualisierungen
Die Live-Visualisierungen in IBM Quantum Composer zeigen dir verschiedene Ansichten, wie Quantum Circuits den Zustand einer Sammlung von Qubits beeinflussen. Jede Art von Live-Visualisierung wird im Detail unten erklärt.
Die Live-Visualisierungen stammen von einem Single-Shot-Zustandsvektor-Simulator, der sich vom QPU in den Ausführungseinstellungen unterscheidet, welcher mehrere Shots haben kann. Der Simulator erzeugt Zufälligkeit, indem er Ergebnisse auf Basis eines Seeds generiert. Der Seed ist der Anfangswert, der in den Algorithmus eingespeist wird, der Pseudozufallszahlen erzeugt. Du kannst den Seed-Wert einsehen, indem du „Visualisierungen-Seed" aus dem Menü „Bearbeiten" auswählst. Du kannst den Seed auch selbst festlegen, indem du den Wert im Eingabefeld änderst.
Visualisierungen anzeigen
Die Live-Visualisierungen erscheinen in Fenstern am unteren Rand des Composer-Arbeitsbereichs (außer der Phasenscheibe, die am Ende jedes Qubit-Drahts erscheint). Du kannst beliebige Kombinationen aus Zustandsvektor-, Wahrscheinlichkeits- und Q-Sphären-Visualisierungen am unteren Rand des Arbeitsbereichs anzeigen lassen. Wähle oder entferne Visualisierungen im Menü Ansicht.
Visualisierungen herunterladen
Lade eine der Visualisierungen am unteren Rand des Composer-Arbeitsbereichs herunter, indem du im Visualisierungsfenster auf das Menü „Weitere Optionen" klickst. Du kannst Visualisierungen als SVG, PNG oder als CSV der zugrunde liegenden Daten herunterladen. Die Visualisierungsbilder der Messprobabilitäten und Zustandsvektor-Histogramme kannst du auch als PDF herunterladen.
Phasenscheibe
Ein Single-Qubit-Zustand kann wie folgt dargestellt werden:
wobei die Wahrscheinlichkeit ist, dass sich das Qubit im Zustand befindet, und die Quantenphase ist. ist stark analog zu einem klassischen probabilistischen Bit. Für befindet sich das Qubit im Zustand , für im Zustand , und für ist das Qubit eine 50/50-Mischung. Wir nennen dies eine Superposition, da diese Mischung – im Gegensatz zu klassischen Bits – eine Quantenphase haben kann. Die Phasenscheibe visualisiert diesen Zustand.
Die Phasenscheibe am Ende jedes Qubits in IBM Quantum Composer gibt den lokalen Zustand jedes Qubits am Ende der Berechnung an. Die Komponenten der Phasenscheibe werden im Folgenden beschrieben.
Wahrscheinlichkeit, dass das Qubit im Zustand ist
Die Wahrscheinlichkeit, dass das Qubit im Zustand ist, wird durch die blaue Scheibenfüllung dargestellt.
Quantenphase
Die Quantenphase des Qubit-Zustands wird durch die Linie dargestellt, die vom Mittelpunkt des Diagramms zum Rand der grauen Scheibe verläuft (und sich gegen den Uhrzeigersinn um den Mittelpunkt dreht).
Beispiel: Phasenscheiben für zwei verschiedene Qubits

Zwei Beispiele der Phasenscheiben-Visualisierung. Das erste Beispiel zeigt den Zustand und das zweite den Zustand mit einer von null verschiedenen relativen Phase.
Verbindung zur Bloch-Sphäre
Die Phasenscheibe, die alle Informationen der Bloch-Sphäre enthält, ist eine zweidimensionale Darstellung eines Qubits. Zur Umrechnung in die Bloch-Sphären-Darstellung gilt: , und .
N-Qubit-Zustände: maximal 15 Qubits
Ein N-Qubit-Quantenzustand hat die Form
wobei die Wahrscheinlichkeit ist, dass sich die Qubits im Zustand befinden, mit der Quantenphase bezüglich des -Zustands. ist die Wahrscheinlichkeit, dass sich die Qubits nicht im Grundzustand befinden. Es ist leicht zu erkennen, dass es für einen N-Qubit-Quantenzustand Wahrscheinlichkeiten und Phasen gibt. Die Phasenscheibe kann diesen Zustand nicht vollständig darstellen, da N-Qubit-Phasenscheiben nur Wahrscheinlichkeiten und Phasen enthielten – dies liegt daran, dass die meisten Zustände verschränkt und nicht in unabhängige einzelne Qubit-Quantenzustände separierbar sind. Um darzustellen, dass diese Visualisierung nicht alle Informationen enthält, führen wir die reduzierte Reinheit als Komponente in der Phasenscheibe ein.
Reduzierte Reinheit des Qubit-Zustands
Der Radius des schwarzen Rings stellt die reduzierte Reinheit des Qubit-Zustands dar, die für Qubit in einem -Qubit-Zustand durch gegeben ist. Die reduzierte Reinheit eines einzelnen Qubits liegt im Bereich ; ein Wert von eins zeigt an, dass das Qubit mit keiner anderen Partei verschränkt ist. Im Gegensatz dazu zeigt eine reduzierte Reinheit von , dass das Qubit sich im vollständig gemischten Zustand befindet und ein gewisses Maß an Verschränkung über die verbleibenden Qubits und möglicherweise sogar mit der Umgebung aufweist.
Wahrscheinlichkeitsansicht
Limit: 8 Qubits
Diese Ansicht visualisiert die Wahrscheinlichkeiten des Quantenzustands als Balkendiagramm. Die horizontale Achse beschriftet die Berechnungsbasisszustände. Die vertikale Achse misst die Wahrscheinlichkeiten in Prozent. In dieser Ansicht werden die Quantenphasen nicht dargestellt – sie ist daher eine unvollständige Darstellung. Dennoch ist sie nützlich, um die Messergebnisse vorherzusagen, wenn jedes Qubit gemessen und der Wert in seinem eigenen klassischen Bit gespeichert wird.
Betrachte den folgenden Quantum Circuit und seine Wahrscheinlichkeitsansicht:
Der Circuit versetzt die beiden Qubits in den Zustand Die Berechnungsbasisszustände sind und Die Wahrscheinlichkeit für jeden der Berechnungszustände beträgt 1/4.
Q-Sphären-Ansicht
Limit: 5 Qubits
Die Q-Sphäre stellt den Zustand eines Systems aus einem oder mehreren Qubits dar, indem jedem Berechnungsbasisszustand ein Punkt auf der Oberfläche einer Kugel zugeordnet wird. An jedem Punkt ist ein Knoten sichtbar. Der Radius jedes Knotens ist proportional zur Wahrscheinlichkeit () seines Basisszustands, während die Knotenfarbe die Quantenphase () angibt.
Die Knoten sind auf der Q-Sphäre so angeordnet, dass der Basisszustand mit lauter Nullen (z. B. ) am Nordpol liegt und der Basisszustand mit lauter Einsen (z. B. ) am Südpol. Basisszustände mit der gleichen Anzahl von Nullen (oder Einsen) liegen auf einem gemeinsamen Breitengrad der Q-Sphäre (z. B. ). Ausgehend vom Nordpol der Q-Sphäre nach Süden fortschreitend haben die Basisszustände auf jedem aufeinanderfolgenden Breitengrad eine größere Anzahl von Einsen; der Breitengrad eines Basisszustands wird durch seinen Hamming-Abstand vom Nullzustand bestimmt. Die Q-Sphäre enthält vollständige Informationen über den Quantenzustand in einer kompakten Darstellung.
Betrachte den folgenden Quantum Circuit und seine Q-Sphäre, die den vom Circuit erzeugten Zustand darstellt:
Du kannst die Q-Sphäre durch Klicken, Halten und Ziehen drehen. Um die Q-Sphäre in ihre Standardausrichtung zurückzusetzen, klicke auf die Zurückspul-Pfeil-Schaltfläche oben rechts an der Q-Sphäre.
Es ist wichtig zu betonen, dass die Q-Sphäre nicht dasselbe ist wie die Bloch-Sphäre – auch nicht für ein einzelnes Qubit. Tatsächlich gibt die Bloch-Sphäre, genau wie die Phasenscheibe, eine lokale Sicht auf den Quantenzustand, bei der jedes Qubit für sich betrachtet wird. Wenn man verstehen möchte, wie sich Register aus Qubits (Multi-Qubit-Zustände) bei der Anwendung von Quantum Circuits verhalten, ist es aufschlussreicher, eine globale Sicht einzunehmen und den Quantenzustand in seiner Gesamtheit zu betrachten. Die Q-Sphäre bietet genau diese visuelle Darstellung des Quantenzustands und damit diesen globalen Blickwinkel. Daher sollte die Q-Sphäre bei der Erkundung von Quantenanwendungen und -algorithmen mit einer kleinen Anzahl von Qubits die primäre Visualisierungsmethode sein.
Zustandsvektor-Ansicht
Limit: 6 Qubits
Es ist üblich, als Quantenamplitude zu bezeichnen. Diese Ansicht visualisiert die Quantenamplituden als Balkendiagramm. Die horizontale Achse beschriftet die Berechnungsbasisszustände. Die vertikale Achse misst den Betrag der Amplituden () der jeweiligen Berechnungsbasisszustände. Die Farbe jedes Balkens stellt die Quantenphase () dar.
Betrachte den folgenden Quantum Circuit und seine Zustandsvektor-Ansicht:
Der Circuit versetzt die beiden Qubits in den Zustand . Die Berechnungsbasisszustände sind , , und . Die Beträge der Amplituden betragen , und die Quantenphasen bezüglich des Grundzustands sind für und sowie für .
Glossar der Composer-Operationen
Diese Seite ist eine Referenz, die die verschiedenen klassischen und quantenmechanischen Operationen definiert, mit denen du Qubits in einem Quantum Circuit manipulieren kannst. Quantenoperationen umfassen Quantum Gates wie das Hadamard-Gate sowie Operationen, die keine Quantum Gates sind, etwa die Messoperation.
Jeder Eintrag unten enthält Details und die OpenQASM-Referenz für die jeweilige Operation. Weitere Informationen findest du im Abschnitt Deinen Circuit mit OpenQASM-Code erstellen.
Das Q-Sphäre-Bild in jedem Gate-Eintrag zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. Weitere Informationen zu dieser Visualisierung findest du im Abschnitt Q-Sphäre.
Du kannst eine benutzerdefinierte Operation zur Verwendung im IBM Quantum Composer definieren. Eine Anleitung dazu findest du im Abschnitt Eine benutzerdefinierte Operation in OpenQASM erstellen.
Die Gate-Farben unterscheiden sich leicht zwischen dem hellen und dem dunklen Theme. Hier sind die Farben des hellen Themes zu sehen.
Klicke auf eine der Quantenoperationen unten, um ihre Definition anzuzeigen.
Klassische Gates
NOT-Gate
Das NOT-Gate, auch bekannt als Pauli-X-Gate, kippt den Zustand nach und umgekehrt. Das NOT-Gate ist äquivalent zu RX für den Winkel oder zu „HZH".
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
x q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
CNOT-Gate
Das kontrollierte-NOT-Gate, auch bekannt als kontrolliertes-X-Gate (CX), wirkt auf ein Qubit-Paar, wobei eines als „Steuer-Qubit" (control) und das andere als „Ziel-Qubit" (target) fungiert. Es führt ein NOT am Ziel-Qubit aus, wenn das Steuer-Qubit im Zustand ist. Befindet sich das Steuer-Qubit in einer Superposition, erzeugt dieses Gate Verschränkung.
Alle unitären Circuits können in Einzelqubit-Gates und CNOT-Gates zerlegt werden. Da das Zwei-Qubit-CNOT-Gate auf echter Hardware deutlich mehr Zeit benötigt als Einzelqubit-Gates, wird der Circuit-Aufwand manchmal in der Anzahl der CNOT-Gates gemessen.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
cx q[0], q[1]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Toffoli-Gate
Das Toffoli-Gate, auch bekannt als doppelt-kontrolliertes-NOT-Gate (CCX), hat zwei Steuer-Qubits und ein Ziel-Qubit. Es wendet ein NOT auf das Ziel an, nur wenn beide Steuer-Qubits im Zustand sind.
Das Toffoli-Gate zusammen mit dem Hadamard-Gate bildet ein universelles Gate-Set für Quantencomputing.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
ccx q[0], q[1], q[2]; | ![]() | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
SWAP-Gate
Das SWAP-Gate tauscht die Zustände zweier Qubits.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
swap q[0], q[1]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Identitäts-Gate
Das Identitäts-Gate (manchmal auch Id- oder I-Gate genannt) ist eigentlich die Abwesenheit eines Gates. Es stellt sicher, dass für eine Einheit Gate-Zeit nichts auf ein Qubit angewendet wird.
| Composer-Referenz | QASM-Referenz |
|---|---|
id q[0]; |
Phasen-Gates
T-Gate
Das T-Gate ist äquivalent zu RZ für den Winkel . Fehlertolerante Quantencomputer werden alle Quantenprogramme auf das T-Gate und seine Inverse sowie die Clifford-Gates reduzieren.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
t q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
S-Gate
Das S-Gate wendet eine Phase von auf den Zustand an. Es ist äquivalent zu RZ für den Winkel . Beachte: S=P().
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
s q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Z-Gate
Das Pauli-Z-Gate wirkt als Identität auf den Zustand und multipliziert das Vorzeichen des Zustands mit -1. Dadurch tauscht es die Zustände und . In der +/–-Basis spielt es dieselbe Rolle wie das NOT-Gate in der /-Basis.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
z q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
-Gate
Auch bekannt als Tdg- oder T-Dagger-Gate.
Die Inverse des T-Gates.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
tdg q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
-Gate
Auch bekannt als Sdg- oder S-Dagger-Gate.
Die Inverse des S-Gates.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
sdg q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Phasen-Gate
Das Phasen-Gate (früher U1-Gate genannt) wendet eine Phase von auf den Zustand an. Für bestimmte Werte von ist es äquivalent zu anderen Gates. Zum Beispiel: P()=Z, P(/)=S und P()=T. Bis auf eine globale Phase von ist es äquivalent zu RZ().
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
p(theta) q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Im IBM Quantum Composer ist der Standardwert für theta gleich .
RZ-Gate
Das RZ-Gate implementiert . Auf der Bloch-Kugel entspricht dieses Gate einer Rotation des Qubit-Zustands um die z-Achse um den angegebenen Winkel.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
rz(angle) q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Im IBM Quantum Composer ist der Standardwert für angle gleich . Dieser Winkel wird daher in der Q-Sphäre-Visualisierung verwendet.
Nicht-unitäre Operatoren und Modifikatoren
Reset-Operation
Die Reset-Operation versetzt ein Qubit unabhängig von seinem vorherigen Zustand zurück in den Zustand . Sie ist keine umkehrbare Operation.
| Composer-Referenz | OpenQASM-Referenz |
|---|---|
reset q[0]; |
Messung
Messung in der Standardbasis, auch bekannt als z-Basis oder Rechenbasis. Kann in Kombination mit Gates zur Implementierung beliebiger Messungen verwendet werden. Sie ist keine umkehrbare Operation.
| Composer-Referenz | OpenQASM-Referenz |
|---|---|
measure q[0]; |
Steuer-Modifikator
Ein Steuer-Modifikator erzeugt ein Gate, dessen ursprüngliche Operation nun vom Zustand des Steuer-Qubits abhängt. Befindet sich das Steuer-Qubit im Zustand , unterliegen die Ziel-Qubits der angegebenen unitären Entwicklung. Im Zustand des Steuer-Qubits wird hingegen keine Operation ausgeführt. Befindet sich das Steuer-Qubit in einem Superpositionszustand, ergibt sich die resultierende Operation aus der Linearität.
Ziehe den Steuer-Modifikator auf ein Gate, um eine Steuerung hinzuzufügen. Über und unter dem Gate erscheinen dann Punkte auf den Qubit-Leitungen, die als Ziele dienen können; klicke auf einen oder mehrere Punkte, um das Ziel einem oder mehreren Qubits zuzuweisen. Du kannst eine Steuerung auch durch Rechtsklick auf ein Gate zuweisen.
Um eine Steuerung zu entfernen, klicke mit der rechten Maustaste auf das Gate und wähle die Option zum Entfernen der Steuerung.
| Composer-Referenz | OpenQASM-Referenz |
|---|---|
c |
Barrier-Operation
Um dein Quantenprogramm effizienter zu machen, versucht der Compiler, Gates zu kombinieren. Die Barrier ist eine Anweisung an den Compiler, diese Kombinationen zu verhindern. Außerdem ist sie nützlich für Visualisierungen.
| Composer-Referenz | OpenQASM-Referenz |
|---|---|
barrier q; |
Hadamard-Gate
H-Gate
Das H-Gate, oder Hadamard-Gate, rotiert die Zustände und nach bzw. . Es ist nützlich zur Erzeugung von Superpositionen. Wenn du ein universelles Gate-Set auf einem klassischen Computer um das Hadamard-Gate erweiterst, wird es zu einem universellen Gate-Set auf einem Quantencomputer.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
h q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Quantum Gates
-Gate
Auch bekannt als Quadratwurzel-NOT-Gate.
Dieses Gate implementiert die Quadratwurzel von X, . Wird dieses Gate zweimal hintereinander angewendet, ergibt sich das Standard-Pauli-X-Gate (NOT-Gate). Wie das Hadamard-Gate erzeugt einen gleichmäßigen Superpositionszustand, wenn das Qubit im Zustand ist, jedoch mit einer anderen relativen Phase. Auf mancher Hardware ist es ein natives Gate, das mit einem - oder X90-Puls implementiert werden kann.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
sx q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
-Gate
Auch bekannt als SXdg- oder Quadratwurzel-NOT-Dagger-Gate.
Dies ist die Inverse des -Gates. Wird es zweimal hintereinander angewendet, ergibt sich das Pauli-X-Gate (NOT-Gate), da das NOT-Gate seine eigene Inverse ist. Wie das -Gate kann dieses Gate zur Erzeugung eines gleichmäßigen Superpositionszustands verwendet werden, und es wird auf mancher Hardware ebenfalls nativ mit einem X90-Puls implementiert.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
sxdg q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Y-Gate
Das Pauli-Y-Gate ist äquivalent zu Ry für den Winkel . Es ist äquivalent zur Anwendung von X und Z, bis auf einen globalen Phasenfaktor.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
y q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
RX-Gate
Das RX-Gate implementiert . Auf der Bloch-Kugel entspricht dieses Gate einer Rotation des Qubit-Zustands um die x-Achse um den angegebenen Winkel.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
rx(angle) q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Im IBM Quantum Composer ist der Standardwert für angle gleich . Dieser Winkel wird daher in der Q-Sphäre-Visualisierung verwendet.
RY-Gate
Das RY-Gate implementiert . Auf der Bloch-Kugel entspricht dieses Gate einer Rotation des Qubit-Zustands um die y-Achse um den angegebenen Winkel und führt keine komplexen Amplituden ein.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
ry(angle) q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Im IBM Quantum Composer ist der Standardwert für angle gleich . Dieser Winkel wird daher in der Q-Sphäre-Visualisierung unten verwendet.
RXX-Gate
Das RXX-Gate implementiert . Das Mølmer-Sørensen-Gate, das native Gate auf Ionenfallen-Systemen, lässt sich als Summe von RXX-Gates ausdrücken.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
rxx(angle) q[0], q[1]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Im IBM Quantum Composer ist der Standardwert für angle gleich .
RZZ-Gate
Das RZZ-Gate erfordert einen einzelnen Parameter: einen Winkel in Bogenmass. Dieses Gate ist symmetrisch; das Vertauschen der beiden Qubits, auf die es wirkt, ändert nichts.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
rzz(angle) q[0], q[1]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Im IBM Quantum Composer ist der Standardwert für angle gleich .
U-Gate
(Früher U3-Gate genannt) Die drei Parameter ermöglichen die Konstruktion eines beliebigen Einzelqubit-Gates. Hat eine Dauer von einer Einheit Gate-Zeit.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
u(theta, phi, lam) q[0]; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
Im IBM Quantum Composer ist der Standardwert für angle gleich .
RCCX-Gate
Das vereinfachte Toffoli-Gate, auch als Margolus-Gate bezeichnet.
Das vereinfachte Toffoli-Gate implementiert das Toffoli-Gate bis auf relative Phasen. Diese Implementierung erfordert drei CX-Gates, was die minimal mögliche Anzahl ist, wie in https://arxiv.org/abs/quant-ph/0312225 gezeigt. Beachte, dass das vereinfachte Toffoli nicht äquivalent zum Toffoli ist, aber an Stellen eingesetzt werden kann, an denen das Toffoli-Gate anschließend wieder rückgängig gemacht wird.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
rccx a, b, c; | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |
RC3X-Gate
Das vereinfachte 3-fach-kontrollierte Toffoli-Gate.
Das vereinfachte Toffoli-Gate implementiert das Toffoli-Gate bis auf relative Phasen. Beachte, dass das vereinfachte Toffoli nicht äquivalent zum Toffoli ist, aber an Stellen eingesetzt werden kann, an denen das Toffoli-Gate anschließend wieder rückgängig gemacht wird.
| Composer-Referenz | OpenQASM-Referenz | Q-Sphäre | Hinweis zu Q-Sphäre-Darstellungen |
|---|---|---|---|
rc3x a, b, c, d; | ![]() | Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand angewendet wurde, wobei die Anzahl der Qubits ist, die das Gate benötigt. |

