Zum Hauptinhalt springen

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.

IBM Quantum Composer-Fenster.

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

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

  3. 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".

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

  5. 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".

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

Lade deine Circuit-Dateien herunter, bevor du den Composer verlässt

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

  1. (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.
hinweis

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.

  1. Ö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.

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

  3. (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.

Eine Gruppe ausgewählter Operationen.

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

hinweis

IBM Quantum Composer unterstützt derzeit OpenQASM 2.0.

AnweisungBeschreibungBeispiel
OPENQASM 2.0;Kennzeichnet eine Datei im OpenQASM-Format (siehe [a])OPENQASM 2.0;
qreg name[size];Deklariert ein benanntes Qubit-Registerqreg q[5];
creg name[size];Deklariert ein benanntes Bit-Registercreg c[5];
include "filename";Öffnet und verarbeitet eine andere Quelldateiinclude "qelib1.inc";
gate name(params) qargsDeklariert ein unitäres Gate(siehe Papiertext)
opaque name(params) qargs;Deklariert ein opakes Gate(siehe Papiertext)
// comment textKommentiert 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) anCX q[0],q[1];
measure qubit|qreg -> bit|creg;Führt Messungen in der ZZ-Basis durchmeasure q -> c;
reset qubit|qreg;Bereitet Qubit(s) im Zustand 0\vert 0\rangle vorreset q[0];
gatename(params) qargs;Wendet ein benutzerdefiniertes unitäres Gate ancrz(pi/2) q[1],q[0];
if(creg==int) qop;Wendet eine Quantenoperation bedingt anif(c==5) CX q[0],q[1];
barrier qargs;Verhindert Transformationen über diese Quellzeile hinwegbarrier 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:Gates in der benutzerdefinierten Operation
Der Code für die neue Operation:Benutzerdefinierte neue Operation
Die neue Operation im grafischen Editor:Neue Operation

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.

Steuerungen zum schrittweisen Vor- und Zurückspringen sowie zum Springen an Anfang oder Ende eines Circuits.

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

Zufälligkeit im Simulator

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.

Fenster mit Job-Optionen.

hinweis

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.

Zufälligkeit im Simulator

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:

ψ=1p0+ejφp1,\begin{split}\vert\psi\rangle = \sqrt{1-p}\vert0\rangle + e^{j\varphi} \sqrt{p} \vert1\rangle,\end{split}

wobei pp die Wahrscheinlichkeit ist, dass sich das Qubit im Zustand 1|1\rangle befindet, und φ\varphi die Quantenphase ist. pp ist stark analog zu einem klassischen probabilistischen Bit. Für p=0p=0 befindet sich das Qubit im Zustand 0|0\rangle, für p=1p=1 im Zustand 1|1\rangle, und für p=1/2p=1/2 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 1|1\rangle ist

Die Wahrscheinlichkeit, dass das Qubit im Zustand 1|1\rangle ist, wird durch die blaue Scheibenfüllung dargestellt.

Wahrscheinlichkeit, dass das Qubit im Zustand 1 ist

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

Phase des lokalen Qubit-Zustands

Beispiel: Phasenscheiben für zwei verschiedene Qubits

Phasenscheiben-Beispiele

Zwei Beispiele der Phasenscheiben-Visualisierung. Das erste Beispiel zeigt den Zustand 1|1\rangle und das zweite den Zustand (01)/2(|0\rangle-|1\rangle)/\sqrt{2} 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: x=2p(1p)Re[ejφ]x=2\sqrt{p(1-p)}\mathrm{Re}[e^{j\varphi} ], y=2p(1p)Im[ejφ]y=2\sqrt{p(1-p)}\mathrm{Im}[e^{j\varphi} ] und z=12pz=1-2p.

N-Qubit-Zustände: maximal 15 Qubits

Ein N-Qubit-Quantenzustand hat die Form

ψ=1p0...0+k=12N1ejφkpkk,\begin{split}\vert\psi\rangle = \sqrt{1-p}\vert0...0\rangle + \sum_{k=1}^{2^N-1}e^{j\varphi_k} \sqrt{p_k} \vert k\rangle,\end{split}

wobei pkp_k die Wahrscheinlichkeit ist, dass sich die Qubits im Zustand k|k\rangle befinden, mit der Quantenphase φk\varphi_k bezüglich des 0...0|0...0\rangle-Zustands. p=k0pkp=\sum_{k\neq0}p_k ist die Wahrscheinlichkeit, dass sich die Qubits nicht im Grundzustand 0...0|0...0\rangle befinden. Es ist leicht zu erkennen, dass es für einen N-Qubit-Quantenzustand 2N12^N-1 Wahrscheinlichkeiten und 2N12^N-1 Phasen gibt. Die Phasenscheibe kann diesen Zustand nicht vollständig darstellen, da N-Qubit-Phasenscheiben nur NN Wahrscheinlichkeiten und NN 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 jj in einem NN-Qubit-Zustand ψ|\psi\rangle durch Tr[Trij[ψψ]2]\mathrm{Tr}\left[\mathrm{Tr}_{i\neq j}[\left|\psi\rangle\langle\psi\right|\right]^{2}] gegeben ist. Die reduzierte Reinheit eines einzelnen Qubits liegt im Bereich [0,5;1][0{,}5;\, 1]; ein Wert von eins zeigt an, dass das Qubit mit keiner anderen Partei verschränkt ist. Im Gegensatz dazu zeigt eine reduzierte Reinheit von 0,50{,}5, dass das Qubit sich im vollständig gemischten Zustand befindet und ein gewisses Maß an Verschränkung über die verbleibenden N1N-1 Qubits und möglicherweise sogar mit der Umgebung aufweist.

Reinheit des Qubit-Zustands

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:

ein Quantum Circuit

Messprobabilitäten-Ansicht

Der Circuit versetzt die beiden Qubits in den Zustand ψ=(00+01+1011)/2.|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2. Die Berechnungsbasisszustände sind 00,10,01|00\rangle, |10\rangle, |01\rangle und 11.|11\rangle. 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 (pkp_k) seines Basisszustands, während die Knotenfarbe die Quantenphase (φk\varphi_k) angibt.

Die Knoten sind auf der Q-Sphäre so angeordnet, dass der Basisszustand mit lauter Nullen (z. B. 000|000\rangle) am Nordpol liegt und der Basisszustand mit lauter Einsen (z. B. 111|111\rangle) am Südpol. Basisszustände mit der gleichen Anzahl von Nullen (oder Einsen) liegen auf einem gemeinsamen Breitengrad der Q-Sphäre (z. B. 001,010,100|001\rangle, |010\rangle, |100\rangle). 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:

ein Quantum Circuit

Q-Sphären-Ansicht

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.

Was ist der Unterschied zwischen einer Bloch-Sphäre und einer 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, pkeiφk\sqrt{p_k}e^{i\varphi_k} 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 (pk\sqrt{p_k}) der jeweiligen Berechnungsbasisszustände. Die Farbe jedes Balkens stellt die Quantenphase (φk{\varphi_k}) dar.

Betrachte den folgenden Quantum Circuit und seine Zustandsvektor-Ansicht:

ein Quantum Circuit

Zustandsvektor-Ansicht

Der Circuit versetzt die beiden Qubits in den Zustand ψ=(00+01+1011)/2|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2. Die Berechnungsbasisszustände sind 00|00\rangle, 10|10\rangle, 01|01\rangle und 11|11\rangle. Die Beträge der Amplituden betragen 1/21/2, und die Quantenphasen bezüglich des Grundzustands sind 00 für 01|01\rangle und 10|10\rangle sowie π\pi für 11|11\rangle.

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 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}|i\rangle angewendet wurde, wobei nn 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.

Gate-Farben

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 0\left|0\right\rangle nach 1\left|1\right\rangle und umgekehrt. Das NOT-Gate ist äquivalent zu RX für den Winkel π\pi oder zu „HZH".

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
x_gatex q[0];image19Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn 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 1\left|1\right\rangle 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-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
CX-Gatecx q[0], q[1];image19Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn 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 1\left|1\right\rangle sind.

Das Toffoli-Gate zusammen mit dem Hadamard-Gate bildet ein universelles Gate-Set für Quantencomputing.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
ccx-gateccx q[0], q[1], q[2];ccx_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

SWAP-Gate

Das SWAP-Gate tauscht die Zustände zweier Qubits.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
SWAP gateswap q[0], q[1];swap_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn 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-ReferenzQASM-Referenz
Identity gateid q[0];

Phasen-Gates

T-Gate

Das T-Gate ist äquivalent zu RZ für den Winkel π/4\pi/4. Fehlertolerante Quantencomputer werden alle Quantenprogramme auf das T-Gate und seine Inverse sowie die Clifford-Gates reduzieren.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
t_gatet q[0];image29Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

S-Gate

Das S-Gate wendet eine Phase von ii auf den Zustand 1\left|1\right\rangle an. Es ist äquivalent zu RZ für den Winkel π/2\pi/2. Beachte: S=P(π/2\pi/2).

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
s_gates q[0];image25Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Z-Gate

Das Pauli-Z-Gate wirkt als Identität auf den Zustand 0\left|0\right\rangle und multipliziert das Vorzeichen des Zustands 1\left|1\right\rangle mit -1. Dadurch tauscht es die Zustände +\left|+\right\rangle und \left|-\right\rangle. In der +/–-Basis spielt es dieselbe Rolle wie das NOT-Gate in der 0\left|0\right\rangle/1\left|1\right\rangle-Basis.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
z_gatez q[0];image23Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

TT^{\dagger}-Gate

Auch bekannt als Tdg- oder T-Dagger-Gate.

Die Inverse des T-Gates.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
T-dagger gatetdg q[0];image31Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

SS^{\dagger}-Gate

Auch bekannt als Sdg- oder S-Dagger-Gate.

Die Inverse des S-Gates.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
S-dagger gatesdg q[0];image27Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Phasen-Gate

Das Phasen-Gate (früher U1-Gate genannt) wendet eine Phase von eiθe^{i\theta} auf den Zustand 1\left|1\right\rangle an. Für bestimmte Werte von θ\theta ist es äquivalent zu anderen Gates. Zum Beispiel: P(π\pi)=Z, P(π\pi/22)=S und P(π/4\pi/4)=T. Bis auf eine globale Phase von eiθ/2e^{i\theta/2} ist es äquivalent zu RZ(θ\theta).

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
p_gatep(theta) q[0];p_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Im IBM Quantum Composer ist der Standardwert für theta gleich π/2\pi/2.

RZ-Gate

Das RZ-Gate implementiert exp(iθ2Z)exp(-i\frac{\theta}{2}Z). Auf der Bloch-Kugel entspricht dieses Gate einer Rotation des Qubit-Zustands um die z-Achse um den angegebenen Winkel.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
rz_gaterz(angle) q[0];image17Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Im IBM Quantum Composer ist der Standardwert für angle gleich π/2\pi/2. 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 0\left|0\right\rangle. Sie ist keine umkehrbare Operation.

Composer-ReferenzOpenQASM-Referenz
0-operareset 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-ReferenzOpenQASM-Referenz
Measurement in the standard or z basismeasure 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 1|1\rangle, unterliegen die Ziel-Qubits der angegebenen unitären Entwicklung. Im Zustand 0|0\rangle 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-ReferenzOpenQASM-Referenz
Control modifierc

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-ReferenzOpenQASM-Referenz
barrierbarrier q;

Hadamard-Gate

H-Gate

Das H-Gate, oder Hadamard-Gate, rotiert die Zustände 0\left|0\right\rangle und 1\left|1\right\rangle nach +\left|+\right\rangle bzw. \left|-\right\rangle. 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-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
h-gateh q[0];image1Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Quantum Gates

X\sqrt{X}-Gate

Auch bekannt als Quadratwurzel-NOT-Gate.

Dieses Gate implementiert die Quadratwurzel von X, X\sqrt{X}. Wird dieses Gate zweimal hintereinander angewendet, ergibt sich das Standard-Pauli-X-Gate (NOT-Gate). Wie das Hadamard-Gate erzeugt X\sqrt{X} einen gleichmäßigen Superpositionszustand, wenn das Qubit im Zustand 0|0\rangle ist, jedoch mit einer anderen relativen Phase. Auf mancher Hardware ist es ein natives Gate, das mit einem π/2\pi/2- oder X90-Puls implementiert werden kann.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
sx_gatesx q[0];sx_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

X\sqrt{X}^{\dagger}-Gate

Auch bekannt als SXdg- oder Quadratwurzel-NOT-Dagger-Gate.

Dies ist die Inverse des X\sqrt{X}-Gates. Wird es zweimal hintereinander angewendet, ergibt sich das Pauli-X-Gate (NOT-Gate), da das NOT-Gate seine eigene Inverse ist. Wie das X\sqrt{X}-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-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
sxdg_gatesxdg q[0];sxdg_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Y-Gate

Das Pauli-Y-Gate ist äquivalent zu Ry für den Winkel π\pi. Es ist äquivalent zur Anwendung von X und Z, bis auf einen globalen Phasenfaktor.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
y_gatey q[0];image21Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

RX-Gate

Das RX-Gate implementiert exp(iθ2X)exp(-i\frac{\theta}{2}X). Auf der Bloch-Kugel entspricht dieses Gate einer Rotation des Qubit-Zustands um die x-Achse um den angegebenen Winkel.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
rx_gaterx(angle) q[0];image13Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Im IBM Quantum Composer ist der Standardwert für angle gleich π/2\pi/2. Dieser Winkel wird daher in der Q-Sphäre-Visualisierung verwendet.

RY-Gate

Das RY-Gate implementiert exp(iθ2Y)exp(-i\frac{\theta}{2}Y). 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-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
ry_gatery(angle) q[0];image15Die Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Im IBM Quantum Composer ist der Standardwert für angle gleich π/2\pi/2. Dieser Winkel wird daher in der Q-Sphäre-Visualisierung unten verwendet.

RXX-Gate

Das RXX-Gate implementiert exp(iθ/2XX)\exp(-i \theta/2 X \otimes X). Das Mølmer-Sørensen-Gate, das native Gate auf Ionenfallen-Systemen, lässt sich als Summe von RXX-Gates ausdrücken.

Composer-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
rxx-gaterxx(angle) q[0], q[1];rxx_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Im IBM Quantum Composer ist der Standardwert für angle gleich π/2\pi/2.

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-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
rzz_gaterzz(angle) q[0], q[1];rzz_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Im IBM Quantum Composer ist der Standardwert für angle gleich π/2\pi/2.

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-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
u_gateu(theta, phi, lam) q[0];u3_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.

Im IBM Quantum Composer ist der Standardwert für angle gleich π/2\pi/2.

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-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
rccx-gaterccx a, b, c;rccx_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn 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-ReferenzOpenQASM-ReferenzQ-SphäreHinweis zu Q-Sphäre-Darstellungen
rc3x-gaterc3x a, b, c, d;rc3x_qsphDie Q-Sphäre-Darstellung zeigt den Zustand, nachdem das Gate auf den anfänglichen gleichmäßigen Überlagerungszustand 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, angewendet wurde, wobei nn die Anzahl der Qubits ist, die das Gate benötigt.