Dieses Video gehört zum openHPI-Kurs Quantenalgorithmen und Implementierung - Teil 1. Möchten Sie mehr sehen?
Beim Laden des Videoplayers ist ein Fehler aufgetreten, oder es dauert lange, bis er initialisiert wird. Sie können versuchen, Ihren Browser-Cache zu leeren. Bitte versuchen Sie es später noch einmal und wenden Sie sich an den Helpdesk, wenn das Problem weiterhin besteht.
Scroll to current position
- 00:00Willkommen
- 00:01zurück beim Kurs Quantenalgorithmen und ihre Implementierung.
- 00:05Nachdem ich Ihnen im letzten Video gezeigt habe, wie man Qiskit direkt über die Web Oberfläche konfigurieren kann, möchte
- 00:13ich Ihnen in diesem Video zeigen, wie die Bedienung von Qiskit über ein Jupyter Notebook funktioniert.
- 00:21Ich möchte ihn insbesondere demonstrieren, wie man Ein- und Zwei- Qubit-Gatter implementieren kann, wie man damit einen
- 00:28verschränkten Zustand kreiert und wie man unterschiedliche Backends, insbesondere den Statevector und den Qasm-Simulator
- 00:36verwendet, um diese Zustände tatsächlich auszuwerten.
- 00:41Beginnen wir mit dem Notebook.
- 00:43Ich habe hier als erste Input Zelle die entsprechenden Qiskit Libraries importiert.
- 00:51Ich habe Numpy importiert und Random Funktionen, die ich brauche, um die Programme nachher durchzuführen.
- 00:58In Qiskit habe ich nun die Möglichkeit, über die Definition von Quantenregistern und klassischen Registern einen Quanten-
- 01:06schaltkreis aufzubauen.
- 01:09Insbesondere fange ich an, indem ich ein Quantenregister mit einem Qubit und ein klassisches Register mit einem klassischen
- 01:16Bit kreiere und beide dann zusammenhänge zu einem Quantum Circuit.
- 01:22Auf dieses Circuit kann ich nun als Methode ein Hadamard-Gatter anwenden, ich spezifizieren auf welches Qubit dieses Gate
- 01:30eingewendet wird naja, ich habe nur ein Qubit, dass es hier sehr einfach bleibt, nur eins übrig wo ich das machen kann und
- 01:38ich kann mir dann diesen Schaltkreis visualisieren.
- 01:42Ich kann also wenn ich mit diesen Notebooks arbeite, immer eine Visualisierung zeigen um den Überblick zu behalten, was ich
- 01:49gerade mache und wie komplex meine Schaltkreise entsprechend sind.
- 01:56Als nächstes hänge ich an diesen Schaltkreis den Statevector Simulator an, das bedeutet, dass ich mir direkt einen Überblick
- 02:05über die entstandenen Vektoren verschaffe, das heißt ich mache an dieser Stelle keine Messung des Schaltkreises, sondern
- 02:13schauen wir einen wie die Vektoren, die entstanden sind, wie auch meine Manipulation tatsächlich aussehen.
- 02:21Ich habe hier ein Qubit verwendet, ich habe ein Hadamard-Gatter angehängt und das heißt ich erwarte ich hier einen Vektor
- 02:29mit gleichen Einträgen eins durch Wurzel zwei und das Ergebnis von diesem Statevector-Simulator bestätigt an dieser Stelle
- 02:37auch meine Vermutung.
- 02:40Als zweites verwende ich einen Qasm-Simulator. Der Qasm-Simulator der funktioniert jetzt so, dass er einen Quantenschaltkreis
- 02:49simuliert, das heißt hier wird keine echte Quantenhardware verwendet, sondern eine klassische Komponente wird verwendet
- 02:56um hier so zu tun, als ob das Verhalten des Schaltkreise quantenmäßig wäre. Das funktioniert nur, wenn ich an den Schaltkreis
- 03:06den ich konstruiert habe, auch eine entsprechende Messung anhänge.
- 03:10Das heißt Sie sehen in den Zellen ich habe meinen Quantenschaltkreis Circuit mit dem Hadamard-Gatter verziert.
- 03:19Ich führe eine Messung durch, eine Messung des ersten Qubits und das Ergebnis wird auf das klassische Register übertragen.
- 03:30Ich führe dann diese Messungen entsprechend durch. der Parameter "shots" gleich 1024 zeigt an wie viel mal ich die
- 03:40Messung tatsächlich durchführe.
- 03:42Ich messe also 1024 mal oder ich simuliere 1024 Messungen und können dann das Ergebnis unmittelbar anschauen.
- 03:51Ich finde hier bei diesem Experiment, dass die 1 528 mal gemessen wurde, dass die 0 496 mal gemessen wurde.
- 04:03Ich würde eigentlich eine fifty fifty Verteilung erwarten, da ich aber hier nicht und endlich mal messe sondern nur 1024
- 04:12mal habe ich der kleine Abweichungen von diesen idealen Ergebnis ist aber innerhalb dessen was ich erwarten würde bei diesem
- 04:20Experiment.
- 04:23Als zweites möchte ich Ihnen zeigen, wie man in diesem framework, in diesem doing nun einen verschränkten Zustand, den Bell-Zustand
- 04:30kreiert.
- 04:31Ich fange wieder an, in dem ich ein Quantenregister definiere.
- 04:36Jetzt mit zwei Qubits, ein klassisches Register, ebenfalls mit zwei Qubits, beide zusammen baue zu einem
- 04:43Quantenschaltkreis, ein Quantum Circuitt und an diesem Quanten Circuit hänge ich jetzt die entsprechenden Gates an.
- 04:51Zuerst
- 04:51das Hadamard-Gatter auf das erste Qubti, dann das CNOT-Gatter, das die Verschränkung durchführt dieser beiden
- 04:59Qubits und schließlich die Messung der beiden Qubits.
- 05:03Die Messergebnisse werden dann auf die zwei klassischen Bits übertragen, die ja Bestandteil meines Quantenschaltkreises
- 05:10sind.
- 05:13Für die Messung verwende ich den Quasm-Simulator.
- 05:17Und Sie sehen die Ergebnisse: wir erwarten ja von dem, was wir in den letzten Videos theoretisch abgeleitet haben, das nur
- 05:24die beiden Ergebnisse 00 und 11 erscheinen, beide mit der Wahrscheinlichkeit jeweils 50 %.
- 05:32Wir haben hier wieder kleine Abweichungen, aber diesind innerhalb dessen, was wir in den statistischen Grenzen eigentlich
- 05:39erwarten können.
- 05:40Man kann sich in Qiskit neben den Zahlen auch die Ergebnisse schön visualisieren. Sie sehen das Histogramm, das gibt
- 05:48auch nochmal einen optischen Überblick, wie die Ergebnisse der Messung tatsächlich aussehen.
- 05:54Dieses Experiment können wir nun auch auf einem echten Quantencomputer ausführen. Um das zu machen, muss man sich zuerst
- 06:02auf der Homepage von IBM registrieren, muss sich einen Account anlegen und kann dann einen API Token generieren. Diesen API
- 06:10Token muss man dann in seiner lokalen Environment abspeichern mit dem Safe Account Befehl und kann dann im Folgenden
- 06:20über diesen API Token direkt auf die Cloud Software und damit auf den Quantencomputer zugreifen.
- 06:27Das habe ich gemacht, ich habe hier diesen Bell-Zustand nochmal kreiert und habe als Backend an dieser Stelle einen echten
- 06:38physikalischen Quantencomputer angesprochen Ich habe es in dieser Zelle so gemacht, dass ich eine Abfrage mache, welcher
- 06:45von den Quantenrechnern, die zur Verfügung stehen, gerade am wenigsten beschäftigt ist.
- 06:52Dieser wird automatisch ausgewählt und an diesen Quantenrechner wird dann das Experiment abgeschickt.
- 06:58In meinem Fall ist es hier das System Belem, das hier offenbar am wenigsten zur Zeit verwendet wurde und auf diesem Rechner
- 07:06auf dieser Hardware, wird dann das Experiment durchgeführt. Nach Abschluss dieses Experiments sehe ich die Ergebnisse, und die
- 07:14Ergebnisse zeigen jetzt, was man fast auch schon erwartet hätte, nämlich das auf einer echten physikalischen Hardware und
- 07:22nicht nur die beiden erwarteten Zustände 00 und 11 gemessen worden, sondern auch die beiden neben Zustände 01 und 10 tauchen
- 07:32mit kleinen Wahrscheinlichkeit auf.
- 07:35Das sind jetzt wieder Ergebnisse der Fehler, die man auf echter Quantenhardware tatsächlich findet
- 07:43und die damit das ideale Experiment, das ideale Ergebnis ein Stück weit verfälschen.
- 07:50Was haben wir also gemacht?
- 07:52Ich habe Ihnen gezeigt, wie man diese Rechnungen lokal auf einem Notebook durchführen kann.
- 07:58Allerdings werden diese Rechnungen für größere Schaltkreise nicht mehr möglich sein das ist ja schnell an die Grenzen ihrer
- 08:05lokalen Hardware stoßen werden.
- 08:08Es gibt nun die Möglichkeit, über die Ap, die ich Ihnen gezeigt habe, größere Schaltkreise über die IBM Quanten Cloud auszuführen
- 08:18und zu berechnen.
- 08:20Insbesondere stehen da Simulatoren mit bis zu 32 oder für bis zu 32 Qubits zur Verfügung, so dass damit auch größere Schaltkreise
- 08:30möglich sind.
- 08:31Wenn Sie noch größere Schaltkreise programmieren möchten, dann führt eigentlich kein Weg dran vorbei, dies dann auf echte
- 08:39Quantenhardware durchzuführen.
- 08:42Auch hier ist der Zugang, die ich Ihnen gezeigt habe, relativ problemlos möglich über den API Code Können Sie den Zugang
- 08:50aufbauen und dann die entsprechende Hardware auswählen. Die Ergebnisse, die dann aus den Rechnungen resultieren, die werden
- 09:00zum einen im Dashboard der Cloud angezeigt sind, aber auch lokal verfügbar. Durch diese Möglichkeit Qiskit in
- 09:09Jupiter Notebooks mit Python zu implementieren, hat man jetzt die Chance und die Gelegenheit, auch größere Algorithmen zu
- 09:17entwickeln. Diese größeren Algorithmen können Quantenalgorithmen sein, die können aber auch mit ihren entsprechenden klassischen
- 09:25Algorithmen oder Pendants verbunden werden, so dass man hier den Startpunkt hat, eine Programmierung von Quantenalgorithmen
- 09:34tatsächlich durchzuführen.
To enable the transcript, please select a language in the video player settings menu.