Skip to main content
IBM Quantum Platform

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.

IBM Quantum Composer Fenster
  1. 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.

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

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

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

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

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

Laden Sie Ihre Schaltkreisdateien herunter, bevor Sie den Composer verlassen

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

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

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.

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

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

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

Eine Reihe ausgewählter Operationen

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)

Note

IBM Quantum Composer unterstützt derzeit OpenQASM 2.0.

AnweisungBeschreibungBeispiel
OPENQASM 2.0;Bezeichnet eine Datei im Format OpenQASM (siehe [a] )OPENQASM 2.0;
qreg [namesize];Ein benanntes Register von Qubits deklarierenqreg [q5];
creg [namesize];Ein benanntes Register mit Bits deklarierencreg [c5];
dateiname" einschließen;Öffnen und Parsen einer anderen Quelldateieinschließen “qelib1.inc”;
gate name(params) qargsEin einheitliches Tor deklarieren(siehe Text des Papiers)
opaque name(params) qargs;Ein undurchsichtiges Tor deklarieren(siehe Text des Papiers)
// Text kommentierenEine 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) anwendenCX [q0], [q1];
messen qubit|qreg -> bit|creg;Messung(en) auf der Basis von ZZ durchführenmessen q -> c;
qubit zurücksetzen|qreg;Bereiten Sie Qubit(s) in ∣0⟩\vert 0\rangle[q0] zurücksetzen;
gatename(params) qargs;Ein benutzerdefiniertes unitäres Tor anwendencrz( pi/2 ) [q1], [q0];
if(creg==int) qop;Bedingte Anwendung der Quantenoperationif( c==5 ) CX [q0], [q1];
barriere qargs;Verhinderung von Transformationen über diese Quellliniebarriere [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:Gates im benutzerdefinierten Betrieb
Der Code für den neuen Vorgang:Maßgeschneiderter neuer Betrieb
Die neue Operation im grafischen Editor:Neue Operation

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.

Steuerelemente zum Vorwärts- und Rückwärtsgehen und zum Springen an den Anfang oder das Ende eines Schaltkreises.
Steuerelemente im Inspektionsmodus, in der Reihenfolge: Springen an den Anfang eines Schaltkreises, Rückwärtsgehen, Abspielen von einem Haltepunkt zum nächsten, Vorwärtsgehen, Springen an das Ende eines Schaltkreises.
  • 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.

Zufälligkeit im Simulator

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.

Fenster mit den Auftragsoptionen.
Note

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.

Zufälligkeit im Simulator

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

∣ψ⟩=1−p∣0⟩+ejφp∣1⟩,\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. Bei p=0p=0 befindet sich das Qubit im Zustand ∣0⟩|0\rangle, bei p=1p=1 im Zustand ∣1⟩|1\rangle und bei 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 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 ∣1⟩|1\rangle befindet

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

wahrscheinlichkeit, dass sich das Qubit im Zustand 1 befindet

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

phase des lokalen Qubit-Zustands

Beispiel: Phasenscheiben für zwei verschiedene Qubits

beispiele für Phasenscheiben

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

N-Qubit-Zustände: maximal 15 Qubits

Ein N-Qubit-Quantenzustand hat die Form

∣ψ⟩=1−p∣0...0⟩+∑k=12N−1ejφkpk∣k⟩,\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 mit der Quantenphase φk\varphi_k in Bezug auf den Zustand ∣0...0⟩|0...0\rangle befinden. p=∑k≠0pkp=\sum_{k\neq0}p_k ist die Wahrscheinlichkeit, dass sich die Qubits nicht im Grundzustand ∣0...0⟩|0...0\rangle befinden. Hier ist es einfach zu sehen, dass es für einen N-Qubit-Quantenzustand 2N−12^N-1 Wahrscheinlichkeiten und 2N−12^N-1 Phasen gibt. Die Phasenscheibe kann diesen Zustand nicht darstellen, da N-Qubit-Phasenscheiben nur NN Wahrscheinlichkeiten und NN 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 jj in einem NN -Qubit-Zustand ∣ψ⟩|\psi\rangle durch Tr[Tri≠j[∣ψ⟩⟨ψ∣]2]\mathrm{Tr}\left[\mathrm{Tr}_{i\neq j}[\left|\psi\rangle\langle\psi\right|\right]^{2}] gegeben ist. Die reduzierte Reinheit für ein einzelnes Qubit liegt im Bereich [0.5,1][0.5, 1]; ein Wert von eins bedeutet, dass das Qubit mit keinem anderen Qubit verschränkt ist. Im Gegensatz dazu zeigt eine verringerte Reinheit von 0.50.5, dass sich das Qubit im vollständig gemischten Zustand befindet und eine gewisse Verschränkung mit den verbleibenden N−1N-1 -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:

Ein Quantenschaltkreis
: Ein Schaltkreis, bestehend aus einer Reihe von Hadamard-Operatoren, die eine gleichmäßige Überlagerung der Zustände der Rechenbasis erzeugen, gefolgt von einem kontrollierten Z-Gatter (CZ-Gatter) für zwei Qubits.
Wahrscheinlichkeitsdarstellung des vorherigen
SchaltkreisesWahrscheinlichkeitsdarstellung des vorherigen Schaltkreises.

Der Schaltkreis versetzt die beiden Qubits in den Zustand ∣ψ⟩=(∣00⟩+∣01⟩+∣10⟩−∣11⟩)/2|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2. Die Zustände der Rechenbasis sind ∣00⟩,∣10⟩,∣01⟩|00\rangle, |10\rangle, |01\rangle und ∣11⟩|11\rangle. 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 ( pkp_k ) seines Basiszustands, während die Farbe des Knotens die Quantenphase angibt ( φk\varphi_k ).

Die Knoten sind so auf der q-Sphäre angeordnet, dass der Basiszustand mit allen Nullen (z. B. ∣000⟩)|000\rangle) ) an ihrem Nordpol und der Basiszustand mit allen Einsen (z. B. ∣111⟩|111\rangle ) 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. ∣001⟩,∣010⟩,∣100⟩|001\rangle, |010\rangle, |100\rangle ). 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:

ein Quantenschaltkreis q-sphere-Ansicht

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.

Was ist der Unterschied zwischen einer Bloch-Kugel und einer q-Kugel?

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, pkeiφk\sqrt{p_k}e^{i\varphi_k} 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 ( pk\sqrt{p_k} ), die mit jedem Zustand der Berechnungsgrundlage verbunden sind. Die Farbe der einzelnen Balken steht für die Quantenphase ( φk{\varphi_k} ).

Betrachten Sie die folgende Quantenschaltung und ihre Zustandsvektoransicht:

ein Quantenschaltkreis
Zustandsvektor-Ansicht
: Der Zustandsvektor am Ausgang der obigen Schaltung. Das Farbkreisdiagramm ordnet den Phasenwinkel der Farbe zu. Der Ausgabestatus wird als Liste komplexer Zahlen dargestellt.

Die Schaltung versetzt die beiden Qubits in den Zustand ∣ψ⟩=(∣00⟩+∣01⟩+∣10⟩−∣11⟩)/2|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2. Die Berechnungsgrundzustände sind ∣00⟩|00\rangle, ∣10⟩|10\rangle, ∣01⟩|01\rangle und ∣11⟩|11\rangle. Die Beträge der Amplituden sind 1/21/2, und die Quantenphasen in Bezug auf den Grundzustand sind 00 für ∣01⟩|01\rangle und ∣10⟩|10\rangle, und π\pi für ∣11⟩|11\rangle.


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 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}|i\rangle wirkt, wobei nn 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.

Tor-Farben

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 ∣0⟩\left|0\right\rangle auf ∣1⟩\left|1\right\rangle um und umgekehrt. Das NOT-Gatter ist gleichbedeutend mit RX für den Winkel π\pi oder mit 'HZH'.

Referenz des Komponisten
OpenQASM referenz
Q-Sphäre
Hinweis zu q-Sphären-Darstellungen
x_gatex q[0];image19Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn 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 ∣1⟩\left|1\right\rangle 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-Torcx q[0], q[1];image19Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn 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 ∣1⟩\left|1\right\rangle 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-Torccx q[0], q[1], q[2];ccx_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn 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-Torswap q[0], q[1];swap_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn 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
Identitäts-Torid q[0];

Phasentore

T-Tor

Das T-Gatter ist äquivalent zu RZ für den Winkel π/4\pi/4. 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_gatet q[0];image29Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

S-Tor

Das S-Gatter wendet eine Phase von ii auf den Zustand ∣1⟩\left|1\right\rangle an. Sie entspricht RZ für den Winkel π/2\pi/2. Beachten Sie, dass S=P( π/2\pi/2 ).

Referenz des Komponisten
OpenQASM referenz
Q-Sphäre
Hinweis zu q-Sphären-Darstellungen
s_gates q[0];image25Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn 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 ∣0⟩\left|0\right\rangle und multipliziert das Vorzeichen des Zustands ∣1⟩\left|1\right\rangle mit -1. Sie tauscht also die Zustände ∣+⟩\left|+\right\rangle und ∣−⟩\left|-\right\rangle aus. Auf der +/- Basis spielt es die gleiche Rolle wie das NOT-Gatter auf der ∣0⟩\left|0\right\rangle / ∣1⟩\left|1\right\rangle Basis.

Referenz des Komponisten
OpenQASM referenz
Q-Sphäre
Hinweis zu q-Sphären-Darstellungen
z_gatez q[0];image23Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

T†T^{\dagger} 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
T-Dolch-Tortdg q[0];image31Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

S†S^{\dagger} 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
S-Dolch-Torsdg q[0];image27Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn 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 eiθe^{i\theta} auf den Zustand ∣1⟩\left|1\right\rangle an. Für bestimmte Werte von θ\theta ist es gleichwertig mit anderen Gattern. Zum Beispiel: P( π\pi )=Z, P( π\pi / 22 )=S, und P( π/4\pi/4 )=T. Bis zu einer globalen Phase von eiθ/2e^{i\theta/2} ist sie äquivalent zu RZ( θ\theta ).

Referenz des Komponisten
OpenQASM referenz
Q-Sphäre
Hinweis zu q-Sphären-Darstellungen
p_gatep(theta) q[0];p_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

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

RZ-Tor

Das RZ-Tor implementiert exp(−iθ2Z)exp(-i\frac{\theta}{2}Z). 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_gaterz(angle) q[0];image17Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

In IBM Quantum Composer ist der Standardwert für angle π/2\pi/2. 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 ∣0⟩\left|0\right\rangle zurück, unabhängig von seinem Zustand vor der Operation. Dieser Vorgang ist nicht reversibel.

Referenz des Komponisten
OpenQASM referenz
0-operareset 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
Messung auf der Standard- oder z-Basismeasure 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 ∣1⟩|1\rangle 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 ∣0⟩|0\rangle 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
Kontrollmodifikatorc

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
Hindernisbarrier q;

Hadamard-Gatter

H-Tor

Das H- oder Hadamard-Gatter dreht die Zustände ∣0⟩\left|0\right\rangle und ∣1⟩\left|1\right\rangle in ∣+⟩\left|+\right\rangle bzw. ∣−⟩\left|-\right\rangle 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-gateh q[0];image1Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

Quantengatter

X\sqrt{X} tor

Auch bekannt als das Quadratwurzel-NOT-Gatter.

Dieses Gatter implementiert die Quadratwurzel von X, X\sqrt{X}. Wendet man dieses Gatter zweimal hintereinander an, erhält man das Standard-Pauli-X-Gatter (NOT-Gatter). Wie das Hadamard-Gatter erzeugt X\sqrt{X} einen gleichen Überlagerungszustand, wenn sich das Qubit im Zustand ∣0⟩|0\rangle befindet, allerdings mit einer anderen relativen Phase. Auf einigen Hardwares ist es ein natives Gate, das mit einem π/2\pi/2 oder X90 Impuls implementiert werden kann.

Referenz des Komponisten
OpenQASM referenz
Q-Sphäre
Hinweis zu q-Sphären-Darstellungen
sx_gatesx q[0];sx_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

X†\sqrt{X}^{\dagger} tor

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

Dies ist die Umkehrung des X\sqrt{X} Tores. Zweimal hintereinander angewandt ergibt sich das Pauli-X-Gatter (NOT-Gatter), da das NOT-Gatter seine eigene Umkehrung ist. Wie das X\sqrt{X} 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_gatesxdg q[0];sxdg_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn 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 π\pi. 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_gatey q[0];image21Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

RX-Tor

Das RX-Gatter implementiert exp(−iθ2X)exp(-i\frac{\theta}{2}X). 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_gaterx(angle) q[0];image13Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

In IBM Quantum Composer ist der Standardwert für angle π/2\pi/2. Daher ist dies der Winkel, der in der q-sphere Visualisierung verwendet wird.

RY-Tor

Das RY-Tor implementiert exp(−iθ2Y)exp(-i\frac{\theta}{2}Y). 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_gatery(angle) q[0];image15Die q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

In IBM Quantum Composer ist der Standardwert für angle π/2\pi/2. Daher ist dies der Winkel, der in der nachstehenden q-Sphären-Visualisierung verwendet wird.

RXX-Tor

Das RXX-Gatter implementiert exp⁡(−iθ/2X⊗X)\exp(-i \theta/2 X \otimes X). 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-gaterxx(angle) q[0], q[1];rxx_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

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

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_gaterzz(angle) q[0], q[1];rzz_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

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

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_gateu(theta, phi, lam) q[0];u3_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.

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

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-gaterccx a, b, c;rccx_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn 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-gaterc3x a, b, c, d;rc3x_qsphDie q-Sphären-Darstellung zeigt den Zustand nach der Anwendung des Gatters auf den anfänglichen Superpositionszustand 12n∑i=02n−1∣i⟩\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, wobei nn die Anzahl der Qubits ist, die zur Ausführung des Gatters benötigt werden.
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.