IBM Quantum-Komponist
Erklärung
IBM Quantum® Composer ist ein grafisches Werkzeug zur Quantenprogrammierung, mit dem Sie per Drag & Drop Quantenschaltungen aufbauen und auf Quantenhardware ausführen können.
Was kann es?
Qubit-Zustände visualisieren
Sehen Sie, wie sich Änderungen an Ihrer Schaltung auf den Zustand der Qubits auswirken, dargestellt als interaktive q-Sphäre oder als Histogramme mit Messwahrscheinlichkeiten oder Zustandsvektorsimulationen.
Auf Quanten-Hardware laufen
Führen Sie Ihre Schaltungen auf echter Quanten-Hardware aus, um die Auswirkungen des Geräterauschens zu verstehen.
Automatisch Code erzeugen
Anstatt Code von Hand zu schreiben, können Sie automatisch OpenQASM oder Python Code generieren, der sich genauso verhält wie die Schaltung, die Sie mit dem Composer erstellt haben.
Rundgang durch die Benutzeroberfläche
IBM Quantum Composer verfügt über eine Reihe von anpassbaren Tools, mit denen Sie Quantenschaltungen auf Quantenverarbeitungseinheiten (QPUs) aufbauen, visualisieren und ausführen können. Verwenden Sie das Menü "Weitere Optionen" in jedem Fenster, um auf zusätzliche Werkzeuge und Aktionen zuzugreifen.
-
Operationskatalog - Dies sind die Bausteine von Quantenschaltungen. Ziehen Sie diese Gatter und andere Operationen per Drag & Drop in den grafischen Schaltungseditor. Die verschiedenen Arten von Gates sind nach Farben gruppiert. Klassische Gatter sind zum Beispiel dunkelblau, Phasengatter hellblau und nicht-unitäre Operationen grau.
Um mehr über die verfügbaren Gatter und Operationen zu erfahren, klicken Sie mit der rechten Maustaste auf eine Operation und wählen Sie Info, um die Definition zu lesen.
-
Code-Editor - Verwenden Sie das Menü Ansicht, um den Code-Editor zu öffnen oder zu schließen, mit dem Sie den OpenQASM oder Qiskit-Code für die Schaltung anzeigen können. Sie können den Code OpenQASM bearbeiten; der Qiskit-Code ist schreibgeschützt.
-
Grafischer Schaltungseditor - Hier bauen Sie eine Schaltung auf. Ziehen Sie Gatter und andere Operationen auf die horizontalen Qubit-"Drähte", aus denen Ihr Quantenregister besteht.
Um ein Gatter von einem Draht zu entfernen, wählen Sie das Gatter aus und klicken Sie auf das Mülleimersymbol.
Um die Parameter und Einstellungen von Gates zu bearbeiten, die die Bearbeitung unterstützen, wählen Sie das Gate im grafischen Editor aus und klicken Sie auf Bearbeiten.
-
Symbolleiste - Zugriff auf häufig verwendete Werkzeuge zum Rückgängigmachen und Wiederherstellen von Aktionen, zum Ändern der Torausrichtung und zum Umschalten in den Inspektionsmodus. Im Inspektionsmodus sehen Sie eine schrittweise Ansicht der Qubit-Zustände, während sich Ihre Schaltkreisberechnung entwickelt. Weitere Informationen finden Sie unter Inspektion Ihrer Schaltung, Schritt für Schritt.
-
Phasenscheiben - Die Phase des Qubit-Zustandsvektors in der komplexen Ebene ist durch die Linie gegeben, die sich vom Zentrum des Diagramms zum Rand der grauen Scheibe erstreckt (die sich gegen den Uhrzeigersinn um den Mittelpunkt dreht).
Verwenden Sie das Menü Ansicht, um die Phasendisketten ein- oder auszublenden.
-
Visualisierungen - Visualisierungen veranschaulichen Ihre Schaltung, während Sie sie aufbauen. Sie verwenden einen Single-Shot-Zustandsvektor-Simulator, der sich von der in den "Run circuit"-Einstellungen angegebenen QPU unterscheidet. Beachten Sie, dass die Visualisierungen alle von Ihnen hinzugefügten Messoperationen ignorieren. Melden Sie sich an und klicken Sie auf Schaltkreis ausführen, um stattdessen Ergebnisse aus dem angegebenen Backend zu erhalten.
Weitere Informationen finden Sie im Abschnitt Visualisierungen.
Quanten-Schaltkreise erstellen, bearbeiten und überprüfen
Wenn Sie zu einem späteren Zeitpunkt mit einem Schaltkreis weiterarbeiten möchten, laden Sie Ihre Schaltkreisdatei herunter und speichern Sie sie lokal, bevor Sie Ihre aktuelle Composer-Sitzung beenden. Verwenden Sie den Link "Datei speichern" in der oberen rechten Ecke oder wählen Sie im Menü "Datei" die Option "Datei speichern". Wenn Sie wieder mit dem Schaltkreis arbeiten möchten, wählen Sie im Menü Datei die Option.qasm-Datei hochladen", navigieren Sie dann zu Ihrer Schaltkreisdatei auf Ihrem lokalen Laufwerk und klicken Sie auf Öffnen.
1. Öffnen Sie IBM Quantum Composer
- (Optional) Wenn Sie derzeit nicht bei IBM Quantum angemeldet sind, wählen Sie in der oberen rechten Ecke Anmelden. Dann können Sie sich entweder anmelden oder ein IBM Cloud Konto erstellen.
Wenn man sich nicht anmeldet, zeigen die Visualisierungen automatisch simulierte Ergebnisse für bis zu vier Qubits. Wenn Sie Ihre Schaltung auf einem Quantencomputer ausführen oder eine Schaltung mit mehr als vier Qubits visualisieren möchten, müssen Sie sich anmelden.
-
Öffnen Sie IBM Quantum Composer, indem Sie auf den Link in der Navigation der Lernseite klicken. Der Arbeitsbereich zeigt einen leeren Schaltkreis ohne Titel an. Sie können entweder einen neuen Schaltkreis erstellen oder eine.qasm-Datei hochladen, um mit einem bereits erstellten Schaltkreis weiterzuarbeiten.
-
Benennen Sie Ihre Schaltung, indem Sie auf die Worte Untitled circuit klicken und einen Namen für Ihre Schaltung eingeben. Klicken Sie auf das Häkchen, um den Namen zu speichern.
-
(Optional) Passen Sie Ihren Arbeitsbereich an:
- Verwenden Sie das Menü Ansicht, um vom Standardthema zu einem monochromen Thema zu wechseln. Sie können auch auswählen, welche Bereiche in Ihren Arbeitsbereich aufgenommen werden sollen. Über das Menü in der rechten Ecke jedes Bereichs können Sie dann auf Optionen für weitere Anpassungen zugreifen. Die Optionen zum Ein- und Ausblenden von Phasenscheiben, zum Auswählen der Ausrichtung der Qubits in Ihrer Schaltung und zum Zurücksetzen des Arbeitsbereichs auf die Standardeinstellungen befinden sich ebenfalls im Menü Ansicht.
- Wechseln Sie in der rechten unteren Ecke der Fußzeile zwischen dem dunklen und dem hellen Arbeitsbereich.
Um eine Schaltung zu erstellen, können Sie entweder Operationen per Drag & Drop ziehen oder OpenQASM Code in den Code-Editor eingeben.
2. Erstellen Sie Ihre Schaltung per Drag-and-Drop
Betriebskatalog
Ziehen Sie Operationen aus dem Operationskatalog per Drag & Drop auf die Quanten- und klassischen Register. Klicken Sie auf das Suchsymbol und geben Sie einen Begriff in die Suchleiste ein, um schnell einen Vorgang zu finden.
Klicken Sie auf das Symbol in der oberen rechten Ecke des Arbeitsbereichs, um den Arbeitskatalog ein- und auszublenden. Klicken Sie auf das Symbol daneben, um zwischen einer Gitter- und einer Listenansicht des Katalogs zu wechseln.
Klicken Sie mit der rechten Maustaste auf ein Vorgangssymbol und wählen Sie Info, um die Definition eines Vorgangs zusammen mit seiner QASM-Referenz anzuzeigen.
Zum Rückgängigmachen oder Wiederherstellen verwenden Sie die gebogenen Pfeile in der Symbolleiste.
Ausrichtung
Wählen Sie Freiformausrichtung, um Vorgänge an beliebiger Stelle im Schaltkreis zu platzieren. Wenn Sie eine kompaktere Ansicht Ihres Schaltkreises wünschen, wählen Sie Linke Ausrichtung. Um zu sehen, in welcher Reihenfolge die Vorgänge ausgeführt werden, wählen Sie die Option Ebenenausrichtung, die eine Linksausrichtung vornimmt und Spaltenbegrenzer hinzufügt, die die Ausführungsreihenfolge von links nach rechts und von oben nach unten angeben.
Sobald die Operationen in Ihrem Schaltkreis platziert sind, können Sie sie per Drag & Drop an neue Positionen ziehen.
Kopieren
und einfügen
Klicken Sie auf einen Vorgang und verwenden Sie die Symbole im Kontextmenü, um ihn zu kopieren und einzufügen.
Mehrere Vorgänge auswählen
Sie können mehrere Vorgänge markieren, um sie zu kopieren und einzufügen, sie an einen neuen Ort ziehen oder sie zu einem benutzerdefinierten, einheitlichen Vorgang gruppieren, der in Ihrem Vorgangskatalog angezeigt wird und wie ein einziges Tor funktioniert.
Um mehr als einen Vorgang auszuwählen, platzieren Sie den Cursor direkt außerhalb eines der Vorgänge und klicken und ziehen dann über den auszuwählenden Bereich. Klicken Sie bei gedrückter Umschalttaste auf einzelne Vorgänge, um sie auszuwählen oder die Auswahl aufzuheben. Eine gestrichelte Linie umreißt die Gruppe von Vorgängen, die Sie auswählen, und jeder Vorgang, der tatsächlich Teil der Auswahl ist, ist blau umrandet.
In der folgenden Abbildung sind zum Beispiel das Hadamard-Gatter auf q1 und das CX-Gatter ausgewählt. Das Hadamard-Gate auf q0 ist nicht ausgewählt.
Wählen Sie Kopieren aus dem Kontextmenü, um die Gruppe zu kopieren.
Um die Gruppe von Vorgängen einzufügen, klicken Sie mit der rechten Maustaste in den Schaltkreis und wählen Sie Einfügen.
Erstellen Sie mithilfe der Gruppenfunktion einen benutzerdefinierten Vorgang
Um mehrere Vorgänge zusammenzufassen und als benutzerdefinierten Vorgang zu speichern, markieren Sie zunächst die Vorgänge wie oben beschrieben und wählen dann im Kontextmenü die Option Gruppieren. Sie werden aufgefordert, den benutzerdefinierten Vorgang zu benennen, oder Sie können den Standardnamen akzeptieren. Klicken Sie auf OK, und die benutzerdefinierte Operation wird sowohl in Ihrem Schaltkreis als auch im Operationskatalog durch ein einzelnes Kästchen dargestellt.
Sie können nun den neuen Vorgang durch Ziehen und Ablegen in Ihren Schaltkreis einfügen. Beachten Sie, dass der Vorgang in diesem Stromkreis gespeichert wird, aber nicht im Vorgangskatalog für andere Stromkreise erscheint.
Sie können eine benutzerdefinierte Operation auch direkt im OpenQASM Code-Editor erstellen; weitere Informationen finden Sie unter Erstellen einer benutzerdefinierten Operation in OpenQASM.
Gruppierung einer benutzerdefinierten oder vordefinierten Operation aufheben
Um die Gruppierung der Gates innerhalb eines benutzerdefinierten oder vordefinierten Vorgangs aufzuheben, klicken Sie im Composer auf den Vorgang und wählen Sie im Kontextmenü Gruppierung aufheben. Sie können nun die einzelnen Vorgänge einzeln verschieben. Wenn Sie die Gruppierung eines Vorgangs aufheben, wird jedes Element in der ehemaligen Gruppe unabhängig ausgeführt, was bedeuten kann, dass sie in einer anderen Reihenfolge ausgeführt werden, als wenn sie zusammen gruppiert wurden.
Erweitern Sie die Definition einer Operation
Um die Vorgänge anzuzeigen, die einen benutzerdefinierten oder vordefinierten Vorgang bilden, ohne die Gruppierung aufzuheben, klicken Sie im Kontextmenü auf Definition erweitern, um die definierenden Gates anzuzeigen. Klicken Sie erneut auf das Symbol, um die Definition auszublenden.
Benutzerdefinierte Operation umbenennen oder löschen
Um einen benutzerdefinierten Vorgang umzubenennen oder zu löschen, klicken Sie mit der rechten Maustaste auf den Vorgang im Vorgangskatalog und wählen Sie Umbenennen oder Löschen. Wenn Sie eine benutzerdefinierte Operation aus dem Operationskatalog löschen, werden auch alle Instanzen dieser Operation in Ihrem Schaltkreis gelöscht.
Wenn Sie eine benutzerdefinierte Operation aus dem Schaltkreis selbst löschen, wird sie nicht aus dem Operationskatalog gelöscht; Sie können eine benutzerdefinierte Operation nur aus dem Katalog löschen, indem Sie mit der rechten Maustaste klicken und Löschen wählen.
Register hinzufügen oder entfernen
Um Quanten- oder klassische Register hinzuzufügen oder zu entfernen, klicken Sie auf Bearbeiten → Register verwalten. Sie können die Anzahl der Qubits oder Bits in Ihrer Schaltung erhöhen oder verringern und die Register umbenennen. Klicken Sie auf Ok, um die Änderungen zu übernehmen. Sie können auch einfach auf den Registernamen klicken (z. B. q[0]) und die Optionen im Kontextmenü verwenden, um schnell Register oder Qubits hinzuzufügen oder zu löschen.
Eine Bedingung hinzufügen
Um eine Bedingung zu einem Gatter hinzuzufügen, ziehen Sie die Operation if auf das Gatter und stellen Sie die Parameter im Bedienfeld Operation bearbeiten ein, das sich automatisch öffnet. Sie können auch auf ein Tor doppelklicken, um das Bedienfeld Bearbeiten aufzurufen, und die bedingten Parameter auf diese Weise einstellen.
Kontrollmodifikator hinzufügen
Ein Kontrollmodifikator ergibt ein Gatter, dessen ursprüngliche Funktion nun vom Zustand des Kontrollqubits abhängt. Weitere Informationen erhalten Sie, wenn Sie im Katalog der Vorgänge mit der rechten Maustaste auf das Symbol für den Steuerungsmodifikator klicken und dann auf Info.
Ziehen Sie den Kontrollmodifikator auf ein Gatter, um ihm ein Steuerelement hinzuzufügen. Ein Punkt erscheint auf dem Kontroll-Qubit und eine Linie verbindet es mit dem Ziel-Qubit. Um zu bearbeiten, welches Qubit die Steuerung oder das Ziel ist, klicken Sie auf das Gatter und wählen Sie das Symbol Operation bearbeiten (oder doppelklicken Sie auf das Gatter), um das Bedienfeld Operation bearbeiten zu öffnen, und geben Sie dann Ihre Parameter an. Im Bedienfeld Operation bearbeiten können Sie auch ein Steuerelement von einem Qubit entfernen, indem Sie auf das x neben dem Qubitnamen klicken.
Visualisieren Sie mit Phasenscheiben in Ihrem gesamten Schaltkreis
Um den Zustand aller Qubits an einem beliebigen Punkt in Ihrer Schaltung zu visualisieren, ziehen Sie das Symbol der Phasenscheibe aus dem Operationskatalog und platzieren Sie es an einer beliebigen Stelle in Ihrer Schaltung. Eine Spalte mit Barriereoperationen und eine Spalte mit Phasenscheiben werden hinzugefügt (eine Barriereoperation und eine Phasenscheibe pro Qubit). Bewegen Sie den Mauszeiger über jede Phasenscheibe, um den Zustand des Qubits an diesem Punkt der Schaltung abzulesen. Beachten Sie, dass das Hinzufügen der Phasenscheiben Ihre Schaltung nicht verändert; sie sind lediglich ein Hilfsmittel zur Visualisierung.
Lesen Sie mehr über die Phasenscheibenvisualisierung.
Schaltbild exportieren
Um ein Bild Ihres Schaltkreises zu exportieren, wählen Sie Datei → Schaltkreisbild exportieren. Es öffnet sich das Fenster mit den Exportoptionen, in dem Sie ein Thema (hell, dunkel, weiß auf schwarz oder schwarz auf weiß), ein Format (.svg oder.png) und einen Linienumbruch auswählen können. Nachdem Sie Ihre Optionen ausgewählt haben, klicken Sie auf Exportieren.
3. Erstellen Sie Ihre Schaltung mit dem Code „ OpenQASM “ (Schaltkreis erstellen)
IBM Quantum Composer unterstützt derzeit OpenQASM 2.0.
- Um den Code-Editor zu öffnen, klicken Sie auf Ansicht → Bedienfelder → Code-Editor.
- Im Glossar der Composer-Operationen finden Sie unter OpenQASM Verweise auf Gates und andere Operationen.
- Sie können Ihre eigenen benutzerdefinierten Vorgänge definieren; siehe Erstellen eines benutzerdefinierten Vorgangs in OpenQASM.
- Weitere Informationen zur Verwendung der Sprache OpenQASM, einschließlich Beispielcodezeilen, finden Sie im Leitfaden Einführung in OpenQASM, oder lesen Sie das Original-Forschungspapier Open Quantum Assembly Language. Nachfolgend finden Sie die Tabelle mit den Aussagen von OpenQASM aus dem Papier. Die Grammatik OpenQASM ist in Anhang A des Dokuments zu finden.
| Anweisung | Beschreibung | Beispiel |
|---|---|---|
OPENQASM 2.0; | Bezeichnet eine Datei im Format OpenQASM (siehe [a] ) | OPENQASM 2.0; |
qreg [namesize]; | Ein benanntes Register von Qubits deklarieren | qreg [q5]; |
creg [namesize]; | Ein benanntes Register mit Bits deklarieren | creg [c5]; |
dateiname" einschließen; | Öffnen und Parsen einer anderen Quelldatei | einschließen “qelib1.inc”; |
gate name(params) qargs | Ein einheitliches Tor deklarieren | (siehe Text des Papiers) |
opaque name(params) qargs; | Ein undurchsichtiges Tor deklarieren | (siehe Text des Papiers) |
// Text kommentieren | Eine Textzeile kommentieren | // oops! |
U(theta,phi,lambda) qubit|qreg; | Eingebaute(s) Ein-Qubit-Tor(e) anwenden (siehe [b] ) | U( pi/2,2*pi/3,0) [q0]; |
CX qubit|qreg,qubit|qreg; | Eingebaute(s) CNOT-Gate(s) anwenden | CX [q0], [q1]; |
messen qubit|qreg -> bit|creg; | Messung(en) auf der Basis von durchführen | messen q -> c; |
qubit zurücksetzen|qreg; | Bereiten Sie Qubit(s) in | [q0] zurücksetzen; |
gatename(params) qargs; | Ein benutzerdefiniertes unitäres Tor anwenden | crz( pi/2 ) [q1], [q0]; |
if(creg==int) qop; | Bedingte Anwendung der Quantenoperation | if( c==5 ) CX [q0], [q1]; |
barriere qargs; | Verhinderung von Transformationen über diese Quelllinie | barriere [q0], [q1]; |
[a] Dies muss als erste nicht kommentierte Zeile der Datei erscheinen.
[b] Die Parameter theta, phi und lambda sind durch Parameterausdrücke gegeben; weitere Informationen finden Sie auf Seite 5 der Arbeit und in Anhang A.
Erstellen Sie einen benutzerdefinierten Vorgang in „ OpenQASM “ (Benutzerdefinierte Vorgänge)
Sie können neue unitäre Operationen im Code-Editor definieren (siehe die Abbildung unten für ein Beispiel). Die Operationen werden genau wie die eingebauten Operationen mit der Anweisung name(params) qargs; angewendet. Die Klammern sind optional, wenn es keine Parameter gibt.
Um eine benutzerdefinierte Operation zu definieren, geben Sie sie im OpenQASM Code-Editor in folgendem Format ein: gatename(params) qargs;. Wenn Sie in der Liste der Vorgänge auf +Hinzufügen klicken, werden Sie aufgefordert, einen Namen für Ihren benutzerdefinierten Vorgang einzugeben, den Sie dann im Code-Editor erstellen können.
Sobald Sie Ihre benutzerdefinierte Operation definiert haben, ziehen Sie sie in den grafischen Editor und verwenden Sie das Bearbeitungssymbol, um die Parameter fein abzustimmen.
Beispiel für einen benutzerdefinierten Vorgang | Kolumne „ 2 “ |
|---|---|
| Die Gates, die in den benutzerdefinierten Vorgang einbezogen werden sollen: | ![]() |
| Der Code für den neuen Vorgang: | ![]() |
| Die neue Operation im grafischen Editor: | ![]() |
4. Überprüfen Sie Ihre Schaltung Schritt für Schritt
Der Inspektionsmodus entmystifiziert das Innenleben der von Ihnen erstellten Schaltungen. Es simuliert Ihre Schaltung schrittweise, eine Ebene nach der anderen, so dass Sie den Zustand der Qubits sehen können, während sich die Berechnung weiterentwickelt.
-
Wählen Sie im Menü Ansicht die Bereiche für die gewünschten Visualisierungen aus.
-
Klicken Sie in der Symbolleiste auf die Umschalttaste Prüfen. Beachten Sie, dass Sie nach dem Einschalten des Inspektionsmodus keine weiteren Vorgänge mehr hinzufügen können, bis er wieder ausgeschaltet wird.
-
Wenn Sie Ihre Schaltung mit aktivierter Freiformausrichtung aufgebaut haben, beachten Sie, dass im Inspektionsmodus automatisch die Linksausrichtung aktiviert wird.
-
Mit den Schaltflächen "Vorwärts" und "Rückwärts" können Sie sich Schritt für Schritt durch die Visualisierungen der Komponenten Ihrer Schaltung bewegen.

-
Wenn Sie nur bestimmte Vorgänge prüfen möchten, klicken Sie auf die zu prüfenden Vorgänge, woraufhin ein farbiges Overlay erscheint, das anzeigt, dass sie bei der Ausführung im Prüfmodus berücksichtigt werden. Um die Auswahl eines Vorgangs aufzuheben, klicken Sie erneut darauf, und die Überlagerung verschwindet.
-
Weitere Informationen zur Interpretation von Visualisierungen finden Sie unter dem Thema Visualisierungen.
-
Um den Inspektionsmodus zu verlassen und zur Bearbeitung des Schaltkreises zurückzukehren, klicken Sie in der Symbolleiste auf die Umschalttaste Inspektion.
Der Simulator erzeugt Zufälligkeit, indem er Ergebnisse auf der Grundlage eines Seeds generiert. Der Seed ist der Anfangswert, der in den Algorithmus zur Erzeugung von Pseudozufallszahlen eingegeben wird. Sie können die Seed-Nummer sehen, indem Sie "Visualisierungen Seed" aus dem Menü Bearbeiten wählen. Sie können das Saatgut auch selbst festlegen, indem Sie den Wert im Feld ändern.
Schaltungen ausführen und Ergebnisse anzeigen
Führen Sie die folgenden Schritte aus, um Quantenschaltungen auf QPUs auszuführen und die Ergebnisse zu betrachten.
Wählen Sie Ihre Job-Einstellungen
Klicken Sie in der oberen rechten Ecke auf Schaltkreis ausführen. In dem sich öffnenden Fenster wählen Sie eine verfügbare QPU aus. Sie können auch eine Instanz wählen, die mit einem Plan verbunden ist (z. B. Open-, Flex- oder Premium-Pläne). Die von Ihnen gewählte Instanz beeinflusst, welche QPUs Ihnen zur Verfügung stehen. Klicken Sie auf den Link "Details anzeigen" in der Tabelle der QPUs, um weitere Informationen zu den einzelnen QPUs zu erhalten.
Als Nächstes können Sie die Anzahl der Schüsse (Ausführungen) Ihrer Schaltung festlegen, die das Backend ausführen soll.
Sie können den Auftrag optional benennen und in diesem Bereich auch Tags hinzufügen. Der Name des Stromkreises wird dadurch nicht geändert. Ein vorausgefülltes "Composer"-Tag erleichtert das Filtern Ihrer Workloads-Tabelle nach Composer-Aufträgen. Sie können diese Markierung entfernen.
Wenn Sie einen Schaltkreis ausführen, wird er automatisch an die am wenigsten ausgelastete QPU gesendet, es sei denn, Sie geben eine QPU in den Ausführungseinstellungen an. Wenn Sie denselben Schaltkreis noch einmal ausführen, wird im QPU-Auswahlfenster die vorherige Auswahl angezeigt.
Klicken Sie auf „Auf (QPU-Name) ausführen“
Sie können den Fortschritt des Auftrags anzeigen, indem Sie auf die Schaltfläche "Aufträge anzeigen" in der oberen rechten Ecke klicken. Daraufhin wird die Seite "Workloads" in IBM Quantum Platform geöffnet.
Ansichtsergebnisse
Sobald Ihr Auftrag abgeschlossen ist, werden die Details in der Tabelle "Workloads" auf IBM Quantum Platform aktualisiert.
Auf der Seite mit den Auftragsergebnissen werden Details zum Lauf, Diagramme der ursprünglichen und der umgesetzten Schaltung, ein Histogramm der Ergebnisse sowie die Registerkarten OpenQASM und Qiskit angezeigt, um sowohl die ursprüngliche als auch die umgesetzte Schaltung in OpenQASM oder Qiskit zu betrachten.
Sie können die Schaltkreise und das Histogramm herunterladen, indem Sie auf das Menü in der oberen rechten Ecke jedes Diagramms klicken und dann ein Format für den Download auswählen (PNG, PDF oder SVG; zusätzlich können Sie das Histogramm als CSV-Datei exportieren). Sie können die OpenQASM Schaltkreise direkt im Composer öffnen.
Visualisierungen
Die Live-Visualisierungen in IBM Quantum Composer zeigen Ihnen verschiedene Ansichten, wie Quantenschaltungen den Zustand einer Sammlung von Qubits beeinflussen. Jede Art der Live-Visualisierung wird im Folgenden näher erläutert.
Die Live-Visualisierungen stammen von einem Ein-Schuss-Zustandsvektor-Simulator, der sich von der in den Ausführungseinstellungen angegebenen QPU unterscheidet, die mehrere Schüsse haben kann. Der Simulator erzeugt Zufälligkeit, indem er Ergebnisse auf der Grundlage eines Seeds generiert. Der Seed ist der Anfangswert, der in den Algorithmus zur Erzeugung von Pseudozufallszahlen eingegeben wird. Sie können die Seed-Nummer sehen, indem Sie "Visualisierungen Seed" aus dem Menü Bearbeiten wählen. Sie können das Saatgut auch selbst festlegen, indem Sie den Wert im Feld ändern.
Visualisierungen anzeigen
Die Live-Visualisierungen werden in Fenstern am unteren Rand des Composer-Arbeitsbereichs angezeigt (mit Ausnahme der Phasenscheibe, die am Ende jedes Qubit-Drahtes erscheint). Sie können eine beliebige Kombination von Zustandsvektor-, Wahrscheinlichkeits- und q-Sphären-Darstellungen wählen, die am unteren Rand des Arbeitsbereichs angezeigt werden. Wählen Sie Visualisierungen im Menü Ansicht aus oder heben Sie die Auswahl auf.
Visualisierungen herunterladen
Laden Sie eine der Visualisierungen am unteren Rand des Composer-Arbeitsbereichs herunter, indem Sie im Visualisierungsfenster auf das Menü "Weitere Optionen" klicken. Sie können Visualisierungen als SVG, PNG oder CSV der zugrunde liegenden Daten herunterladen. Sie können auch die Visualisierungsbilder der Messwahrscheinlichkeiten und Zustandsvektorhistogramme als PDF herunterladen.
Phasenscheibe
Ein Ein-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. Bei befindet sich das Qubit im Zustand , bei im Zustand und bei 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 veranschaulicht diesen Zustand.
Die Phasenscheibe am Ende jedes Qubits in IBM Quantum Composer gibt den lokalen Zustand jedes Qubits am Ende der Berechnung an. Die Bestandteile der Phasenscheibe werden im Folgenden beschrieben.
Wahrscheinlichkeit, dass sich das Qubit im Zustand befindet
Die Wahrscheinlichkeit, dass sich das Qubit im Zustand befindet, wird durch die blaue Scheibenfüllung dargestellt.
Quantenphase
Die Quantenphase des Qubit-Zustands ist durch die Linie gegeben, die sich vom Zentrum des Diagramms zum Rand der grauen Scheibe erstreckt (die sich gegen den Uhrzeigersinn um den Mittelpunkt dreht).
Beispiel: Phasenscheiben für zwei verschiedene Qubits
Zwei Beispiele für die Visualisierung der Phasenscheibe. Das erste Beispiel ist ein Zustand und das zweite zeigt den Zustand mit einer relativen Phase ungleich Null.
Verbindung zur Bloch-Kugel
Die Phasenscheibe, die alle Informationen in der Bloch-Sphäre enthält, ist eine zweidimensionale Darstellung eines Qubits. Zur Umrechnung in die Bloch-Kugel-Darstellung: , , 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 mit der Quantenphase in Bezug auf den Zustand befinden. ist die Wahrscheinlichkeit, dass sich die Qubits nicht im Grundzustand befinden. Hier ist es einfach zu sehen, dass es für einen N-Qubit-Quantenzustand Wahrscheinlichkeiten und Phasen gibt. Die Phasenscheibe kann diesen Zustand nicht darstellen, da N-Qubit-Phasenscheiben nur Wahrscheinlichkeiten und Phasen enthalten würden; dies liegt daran, dass die meisten Zustände verschränkt sind und sich nicht in unabhängige Einzel-Qubit-Quantenzustände aufteilen lassen. Um darzustellen, dass in dieser Visualisierung nicht die volle Information enthalten ist, führen wir die reduzierte Reinheit als Komponente in die Phasenscheibe ein.
Geringere Reinheit des Qubit-Zustands
Der Radius des schwarzen Rings auf der Phasenscheibe steht für die reduzierte Reinheit des Qubit-Zustands, die für das Qubit in einem -Qubit-Zustand durch gegeben ist. Die reduzierte Reinheit für ein einzelnes Qubit liegt im Bereich ; ein Wert von eins bedeutet, dass das Qubit mit keinem anderen Qubit verschränkt ist. Im Gegensatz dazu zeigt eine verringerte Reinheit von , dass sich das Qubit im vollständig gemischten Zustand befindet und eine gewisse Verschränkung mit den verbleibenden -Qubits und möglicherweise sogar mit der Umgebung aufweist.
Wahrscheinlichkeitsansicht
8-Qubit-Grenze
In dieser Ansicht werden die Wahrscheinlichkeiten des Quantenzustands als Balkendiagramm dargestellt. Die horizontale Achse bezeichnet die Zustände der Berechnungsgrundlage. Die vertikale Achse misst die Wahrscheinlichkeiten in Prozenten. Bei dieser Sichtweise werden die Quantenphasen nicht dargestellt, so dass es sich um eine unvollständige Darstellung handelt. Es ist jedoch nützlich für die Vorhersage des Ergebnisses, wenn jedes Qubit gemessen und der Wert in seinem eigenen klassischen Bit gespeichert wird.
Betrachten Sie die folgende Quantenschaltung und ihre Wahrscheinlichkeiten:
Der Schaltkreis versetzt die beiden Qubits in den Zustand . Die Zustände der Rechenbasis sind und . Die Wahrscheinlichkeiten für jeden der Rechenzustände betragen 1/4.
Q-Sphere-Ansicht
5-Qubit-Grenze
Die q-Sphäre stellt den Zustand eines Systems aus einem oder mehreren Qubits dar, indem sie jeden Zustand der Berechnungsbasis mit einem Punkt auf der Oberfläche einer Kugel verbindet. An jedem Punkt ist ein Knoten sichtbar. Der Radius eines jeden Knotens ist proportional zur Wahrscheinlichkeit ( ) seines Basiszustands, während die Farbe des Knotens die Quantenphase angibt ( ).
Die Knoten sind so auf der q-Sphäre angeordnet, dass der Basiszustand mit allen Nullen (z. B. ) an ihrem Nordpol und der Basiszustand mit allen Einsen (z. B. ) an ihrem Südpol liegt. Basiszustände mit der gleichen Anzahl von Nullen (oder Einsen) liegen auf einem gemeinsamen Breitengrad der q-Sphäre (z. B. ). Vom Nordpol der q-Sphäre ausgehend und nach Süden fortschreitend, hat jeder aufeinanderfolgende Breitengrad Basiszustände mit einer größeren Anzahl von Einsen; der Breitengrad eines Basiszustands wird durch seinen Hamming-Abstand vom Nullzustand bestimmt. Die q-Sphäre enthält vollständige Informationen über den Quantenzustand in einer kompakten Darstellung.
Betrachten Sie die folgende Quantenschaltung und ihre q-Sphäre, die den Zustand darstellt, den die Schaltung erzeugt:

Sie können die q-Kugel auswählen, halten und ziehen, um sie zu drehen. Um die q-Sphäre wieder in ihre Standardausrichtung zu bringen, wählen Sie die Schaltfläche mit dem Rückwärtspfeil oben rechts in der q-Sphäre.
Es ist wichtig zu betonen, dass die q-Sphäre nicht dasselbe ist wie die Bloch-Sphäre, selbst für ein einzelnes Qubit. Wie die Phasenscheibe bietet auch die Bloch-Sphäre eine lokale Sicht auf den Quantenzustand, bei der jedes Qubit für sich betrachtet wird. Um zu verstehen, wie sich Register von Qubits (Multi-Qubit-Zustände) bei der Anwendung von Quantenschaltungen verhalten, ist es aufschlussreicher, eine globale Sichtweise einzunehmen und den Quantenzustand in seiner Gesamtheit zu betrachten. Die q-Sphäre bietet eine visuelle Darstellung des Quantenzustands und damit diesen globalen Blickwinkel. Daher sollte bei der Erforschung von Quantenanwendungen und -algorithmen mit einer kleinen Anzahl von Qubits die q-Sphäre die wichtigste Visualisierungsmethode sein.
Zustandsvektoransicht
6-Qubit-Grenze
Es ist üblich, die Quantenamplitude zu nennen. Diese Ansicht stellt die Quantenamplituden als Balkendiagramm dar. Die horizontale Achse bezeichnet die Zustände der Berechnungsgrundlage. Die vertikale Achse misst die Größe der Amplituden ( ), die mit jedem Zustand der Berechnungsgrundlage verbunden sind. Die Farbe der einzelnen Balken steht für die Quantenphase ( ).
Betrachten Sie die folgende Quantenschaltung und ihre Zustandsvektoransicht:
Die Schaltung versetzt die beiden Qubits in den Zustand . Die Berechnungsgrundzustände sind , , und . Die Beträge der Amplituden sind , und die Quantenphasen in Bezug auf den Grundzustand sind für und , und für .
Glossar zu den Operationen des Komponisten
Diese Seite ist eine Referenz, die die verschiedenen klassischen und Quantenoperationen definiert, die Sie verwenden können, um Qubits in einer Quantenschaltung zu manipulieren. Zu den Quantenoperationen gehören Quantengatter, wie das Hadamard-Gatter, sowie Operationen, die keine Quantengatter sind, wie die Messoperation.
Jeder der folgenden Einträge enthält Einzelheiten und den Verweis auf OpenQASM für jeden Vorgang. Weitere Informationen finden Sie unter dem Thema Aufbau einer Schaltung mit OpenQASM.
Das Bild der q-Sphäre in jedem Gattereintrag unten zeigt den Zustand, nachdem das Gatter auf den anfänglichen gleichen Überlagerungszustand wirkt, wobei die Anzahl der Qubits ist, die zur Unterstützung des Gatters benötigt werden. Weitere Informationen zu dieser Visualisierung finden Sie unter dem Thema q-sphere.
Sie können einen benutzerdefinierten Vorgang definieren, der in IBM Quantum Composer verwendet wird. Anweisungen hierzu finden Sie im Thema Erstellen eines benutzerdefinierten Vorgangs in OpenQASM.
Die Farben der Tore sind bei den hellen und dunklen Themen leicht unterschiedlich. Die Farben des Themas Licht werden hier gezeigt.
Klicken Sie unten auf eine Quantenoperation, um ihre Definition anzuzeigen.
Klassische Tore
NOT Tor
Das NOT-Gatter, auch bekannt als Pauli X-Gatter, schaltet den Zustand auf um und umgekehrt. Das NOT-Gatter ist gleichbedeutend mit RX für den Winkel oder mit 'HZH'.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
![]() | x q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
CNOT-Tor
Das Controlled-NOT-Gatter, auch bekannt als Controlled-x-Gatter (CX), wirkt auf ein Paar Qubits, wobei eines als "Control" und das andere als "Target" fungiert. Es führt ein NICHT auf dem Ziel durch, wenn sich die Steuerung im Zustand befindet. Befindet sich das Kontroll-Qubit in einer Superposition, erzeugt dieses Gatter Verschränkung.
Alle unitären Schaltungen können in Einzel-Qubit-Gatter und CNOT-Gatter zerlegt werden. Da die Ausführung eines Zwei-Qubit-CNOT-Gatters auf echter Hardware viel mehr Zeit kostet als die eines Ein-Qubit-Gatters, werden die Schaltungskosten manchmal in der Anzahl der CNOT-Gatter gemessen.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
cx q[0], q[1]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
Toffoli-Tor
Das Toffoli-Gatter, auch bekannt als doppelt kontrolliertes NICHT-Gatter (CCX), hat zwei Kontrollqubits und ein Ziel. Sie wendet ein NOT nur dann auf das Ziel an, wenn sich beide Steuerungen im Zustand befinden.
Das Toffoli-Gatter mit dem Hadamard-Gatter ist ein universeller Gattersatz für Quantencomputer.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
![]() | ccx q[0], q[1], q[2]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
SWAP-Tor
Das SWAP-Gatter vertauscht die Zustände von zwei Qubits.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
![]() | swap q[0], q[1]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
Identitäts-Tor
Das Identitätstor (manchmal auch Id oder I-Tor genannt) ist eigentlich das Fehlen eines Tors. Sie sorgt dafür, dass ein Qubit für eine Einheit der Gatterzeit nicht belastet wird.
Referenz des Komponisten | QASM-Referenz |
|---|---|
![]() | id q[0]; |
Phasentore
T-Tor
Das T-Gatter ist äquivalent zu RZ für den Winkel . Fehlertolerante Quantencomputer werden alle Quantenprogramme bis auf das T-Gatter und seine Umkehrung sowie die Clifford-Gatter kompilieren.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
t q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
S-Tor
Das S-Gatter wendet eine Phase von auf den Zustand an. Sie entspricht RZ für den Winkel . Beachten Sie, dass S=P( ).
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
s q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
Z-Tor
Das Pauli-Z-Gatter wirkt als Identität auf den Zustand und multipliziert das Vorzeichen des Zustands mit -1. Sie tauscht also die Zustände und aus. Auf der +/- Basis spielt es die gleiche Rolle wie das NOT-Gatter auf der / Basis.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
z q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
tor
Auch bekannt als Tdg oder T-dagger gate.
Die Umkehrung des T-Gates.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
tdg q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
tor
Auch bekannt als Sdg oder S-dagger gate.
Die Umkehrung des S-Gatters.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
sdg q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
Phasenanschnitt
Das Phasentor (früher U1 genannt) wendet eine Phase von auf den Zustand an. Für bestimmte Werte von ist es gleichwertig mit anderen Gattern. Zum Beispiel: P( )=Z, P( / )=S, und P( )=T. Bis zu einer globalen Phase von ist sie äquivalent zu RZ( ).
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
p(theta) q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
In IBM Quantum Composer ist der Standardwert für theta .
RZ-Tor
Das RZ-Tor implementiert . Auf der Bloch-Sphäre entspricht dieses Tor der Drehung des Qubit-Zustands um die z-Achse um den angegebenen Winkel.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
![]() | rz(angle) q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
In IBM Quantum Composer ist der Standardwert für angle . Daher ist dies der Winkel, der in der q-sphere Visualisierung verwendet wird.
Nicht-einheitliche Operatoren und Modifikatoren
Betrieb zurücksetzen
Die Reset-Operation setzt ein Qubit in den Zustand zurück, unabhängig von seinem Zustand vor der Operation. Dieser Vorgang ist nicht reversibel.
Referenz des Komponisten | OpenQASM referenz |
|---|---|
reset q[0]; |
Messwert
Messung in der Standardbasis, auch bekannt als z-Basis oder Berechnungsbasis. In Kombination mit Gates kann jede Art von Messung durchgeführt werden. Dieser Vorgang ist nicht reversibel.
Referenz des Komponisten | OpenQASM referenz |
|---|---|
measure q[0]; |
Kontrollmodifikator
Ein Kontrollmodifikator ergibt ein Gatter, dessen ursprüngliche Funktion nun vom Zustand des Kontrollqubits abhängt. Wenn sich die Steuerung im Zustand befindet, unterliegt/unterliegen das/die Ziel-Qubit(s) der angegebenen unitären Entwicklung. Im Gegensatz dazu wird keine Operation durchgeführt, wenn sich die Steuerung im Zustand befindet. Befindet sich die Steuerung in einem Überlagerungszustand, so folgt die resultierende Operation aus der Linearität.
Ziehen Sie den Kontrollmodifikator auf ein Gatter, um ihm ein Steuerelement hinzuzufügen. Über und unter dem Tor erscheinen Punkte auf den Qubit-Drähten, die Ziele sein können, die steuern; klicken Sie auf einen oder mehrere Punkte, um das Ziel einem oder mehreren Qubits zuzuweisen. Sie können ein Steuerelement auch zuweisen, indem Sie mit der rechten Maustaste auf ein Gate klicken.
Um ein Steuerelement zu entfernen, klicken Sie mit der rechten Maustaste auf das Tor und wählen Sie die Option zum Entfernen des Steuerelements.
Referenz des Komponisten | OpenQASM referenz |
|---|---|
c |
Betrieb der Schranke
Um Ihr Quantenprogramm effizienter zu machen, wird der Compiler versuchen, Gatter zu kombinieren. Die Barriere ist eine Anweisung an den Compiler, diese Kombinationen zu verhindern. Außerdem ist es für Visualisierungen nützlich.
Referenz des Komponisten | OpenQASM referenz |
|---|---|
![]() | barrier q; |
Hadamard-Gatter
H-Tor
Das H- oder Hadamard-Gatter dreht die Zustände und in bzw. um. Sie ist nützlich für die Erstellung von Überlagerungen. Wenn man einen universellen Gattersatz auf einem klassischen Computer hat und das Hadamard-Tor hinzufügt, wird daraus ein universeller Gattersatz auf einem Quantencomputer.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
h q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
Quantengatter
tor
Auch bekannt als das Quadratwurzel-NOT-Gatter.
Dieses Gatter implementiert die Quadratwurzel von X, . Wendet man dieses Gatter zweimal hintereinander an, erhält man das Standard-Pauli-X-Gatter (NOT-Gatter). Wie das Hadamard-Gatter erzeugt einen gleichen Überlagerungszustand, wenn sich das Qubit im Zustand befindet, allerdings mit einer anderen relativen Phase. Auf einigen Hardwares ist es ein natives Gate, das mit einem oder X90 Impuls implementiert werden kann.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
![]() | sx q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
tor
Auch bekannt als SXdg- oder Quadratwurzel-NOT-Dagger-Gate.
Dies ist die Umkehrung des Tores. Zweimal hintereinander angewandt ergibt sich das Pauli-X-Gatter (NOT-Gatter), da das NOT-Gatter seine eigene Umkehrung ist. Wie das Gatter kann dieses Gatter verwendet werden, um einen gleichwertigen Überlagerungszustand zu erzeugen, und auch dieses Gatter ist auf einigen Hardwaresystemen unter Verwendung eines X90 Impulses implementiert.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
![]() | sxdg q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
Y-Tor
Das Pauli-Y-Tor entspricht Ry für den Winkel . Es ist gleichbedeutend mit der Anwendung von X und Z, bis zu einem globalen Phasenfaktor.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
y q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
RX-Tor
Das RX-Gatter implementiert . Auf der Bloch-Sphäre entspricht dieses Tor der Drehung des Qubit-Zustands um die x-Achse um den angegebenen Winkel.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
rx(angle) q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
In IBM Quantum Composer ist der Standardwert für angle . Daher ist dies der Winkel, der in der q-sphere Visualisierung verwendet wird.
RY-Tor
Das RY-Tor implementiert . Auf der Bloch-Sphäre entspricht dieses Tor der Drehung des Qubit-Zustands um die y-Achse um den angegebenen Winkel und führt keine komplexen Amplituden ein.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
ry(angle) q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
In IBM Quantum Composer ist der Standardwert für angle . Daher ist dies der Winkel, der in der nachstehenden q-Sphären-Visualisierung verwendet wird.
RXX-Tor
Das RXX-Gatter implementiert . Das Mølmer-Sørensen-Gate, das native Gate auf Ionenfallen-Systemen, kann als Summe von RXX-Gates ausgedrückt werden.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
rxx(angle) q[0], q[1]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
In IBM Quantum Composer ist der Standardwert für angle .
RZZ-Tor
Das RZZ-Gatter benötigt einen einzigen Parameter: einen Winkel im Bogenmaß. Dieses Gatter ist symmetrisch; wenn man die beiden Qubits, auf die es wirkt, vertauscht, ändert sich nichts.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
rzz(angle) q[0], q[1]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
In IBM Quantum Composer ist der Standardwert für angle .
U-Tor
(Früher U3 gate genannt) Die drei Parameter ermöglichen die Konstruktion eines beliebigen Ein-Qubit-Gatters. Hat eine Dauer von einer Einheit der Gate-Zeit.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
u(theta, phi, lam) q[0]; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
In IBM Quantum Composer ist der Standardwert für angle .
RCCX-Tor
Das vereinfachte Toffoli-Tor, das auch als Margolus-Tor bezeichnet wird.
Das vereinfachte Toffoli-Gatter implementiert das Toffoli-Gatter bis zu relativen Phasen. Für diese Implementierung werden drei CX-Gatter benötigt, was die geringstmögliche Anzahl ist, wie in https://arxiv.org/abs/quant-ph/0312225. Beachten Sie, dass das vereinfachte Toffoli-Tor nicht gleichwertig mit dem Toffoli-Tor ist, aber an Stellen verwendet werden kann, an denen das Toffoli-Tor nicht mehr berechnet werden kann.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
![]() | rccx a, b, c; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |
RC3X tor
Das vereinfachte 3-kontrollierte Toffoli-Tor.
Das vereinfachte Toffoli-Gatter implementiert das Toffoli-Gatter bis zu relativen Phasen. Beachten Sie, dass das vereinfachte Toffoli-Tor nicht gleichwertig mit dem Toffoli-Tor ist, aber an Stellen verwendet werden kann, an denen das Toffoli-Tor nicht mehr berechnet werden kann.
Referenz des Komponisten | OpenQASM referenz | Q-Sphäre | Hinweis zu q-Sphären-Darstellungen |
|---|---|---|---|
![]() | rc3x a, b, c, d; | ![]() | Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand , wobei die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden. |


































