_images/qiskit_nutshell.png

Quantum Computing auf den Punkt gebracht#

Quantencomputing is ein neuer Ansatz in der Informatik, der die Grundprinzipien der Quantenmechanik nutzt, um Berechnungen durchzufĂŒhren. Berechnungen mit Quantencomputern versprechen dabei einige Probleme effizient lösen zu können. Dies sind zum Beispiel Primfaktorzerlegung, Quantensimulation, Optimierung von Such-Abfragen und das maschinelle Lernen; Quantencomputing hat dabei die Perspektive Berechnungen durchzufĂŒhren, die sogar die FĂ€hingkeiten der grĂ¶ĂŸten Supercomputer ĂŒbersteigen.

Die große LeistungsfĂ€higkeit von Quantencomputing beruht im Wesentlichen auf zwei Eigenschaften der Quantenmechanik. Diese sind Superposition und VerschrĂ€nkung und leiten sich aus der parallelen Wellen- und Teilcheneigenschaft der Materia ab (Welle und Teilchen-Dualismus). Qiskit ist ein Software Development Kit (SDK) fĂŒr das Quantencomputing, welche diese quantenmechanischen Prinzipien mit Hilfe von programmierbaren Quantenschaltkreisen umsetzt. Durch Quantengatter, Programmieranweisungen und klassischer Steuerlogik, erlauben es Quantenschaltungen, komplexe Algorithmen und Anwendungen auf abstrakte Weise darzustellen und auf einem Quantencomputer auszufĂŒhren. Im Kern ist Qiskit ein Programmier-Instrument, um Quantenschaltkreise zu erstellen, zu optimieren und auszufĂŒhren. Sehr hĂ€ufig arbeiten diese Quantenschaltkreise eng mit klassischen Rechenresourcen zusammen, um somit zum Beispiel numerische Optimierungen in der Chemie, der Physik, dem maschinellen Lernen oder der Finanzindustrie durzufĂŒhren. Im folgenden wird ein kurzer Überblick ĂŒber die wesentlichen Eigenschaften des Quantencomputing gegeben, und anhand von Qiskit mit praktischen Beispielen erlĂ€utert. Interessierte Leser mögen dabei auf zusĂ€tzliche vertiefendere Fachliteratur zurĂŒckgreifen.

Interferenz#

Ein Quantencomputer arbeitet analog zu einem klassischen Computer auf der Basis von Bits. Beim klassischen Computer können diese Bits nur zwei ZustÀnde einnehmen, nÀmlich den Zustand 0 oder den Zustand 1. Ein Quantenbit oder qubit kann allerdinds zusÀtzlich zur 0 und 1 noch eine Linearkombination dieser beiden ZustÀnde darstellen. Diese Linearkombination wird Superposition oder Superposition von ZustÀnden genannt.

Um den Nutzen der quantenmechanischen Superposition besser zu verstehen, wird zuerst ein klassisches Analogon betrachtet: RauschunterdrĂŒckung. Diese Technik wird zum Beispiel in Kopfhörern dazu benutzt, ungewollte GerĂ€usche zu unterdrĂŒcken indem man Superposition zusammen mit Interferenz nutzt. Dabei wird ein Ton mit etwa gleicher Amplitude und Frequenz wie der Ungewollte erzeugt, allerding mit einer Phasenverschiebung von \(\pi\) (oder jedem ungeraden ganzzahligen Vielfachen von \(\pi\)).

_images/noise_cancel.png

Abb. 1 UngefĂ€hre RauschunterdrĂŒckung durch einen Ton von nahezu gleicher Amplitude und einer Phasenverschiebung von :math:` sim pi `.#

Wie oben gezeigt, fĂŒhrt eine Phasendifferenz die ungefĂ€hr einem ungeraden Vielfachen von :math:` pi ` entspricht, bei Überlagerung der beiden Wellen zu Interferenzen und einer im Vergleich zum Original deutlich reduzierten Leistung. Das Ergebnis ist ein erheblich verrauschten Signal. Obwohl die Verarbeitung durch digitale Schaltkreise erfolgt, sind Amplitude und Phase kontinuierliche Variablen, die nie perfekt aufeinander abgestimmt werden können, was zu einer unvollstĂ€ndigen Korrektur fĂŒhrt.

Eine allgemeine Berechnung auf einem Quantencomputer erfolgt in sehr Ă€hnlicher Weise wie die RauschunterdrĂŒckung. ZunĂ€chst werden alle möglichen BerechnungszustĂ€nde in Superposition gebracht. Diese wird dann als Eingabe fĂŒr eine :ref:` Quantenschaltung <qc-intro-circuits>` verwendet, die die Komponenten der Superposition nach einem vorgegebenen Algorithmus selektiv zur Interferenz bringt. Was nach der Aufhebung der relativen Amplituden und Phasen des Eingangszustandes bleibt, ist die Lösung der von der Quantenschaltung durchgefĂŒhrten Berechnung.

_images/quantum_interference.png

Abb. 2 Quantenberechnung als ein Porzess zur Erstellung von Interferenzen.#

VerschrÀnkung#

Das zweite Prinzip der Quantenmechanik, das die Quantenberechnung benutzen kann, ist das PhĂ€nomen der ** VerschrĂ€nkung **. Die VerschrĂ€nkung bezieht sich auf ZustĂ€nde von mehr als einem Qubit (oder Teilchen im Allgemeinen), in denen der kombinierte Zustand der Qubits mehr Informationen enthĂ€lt, als die Qubits unabhĂ€ngig voneinander. Die ĂŒberwĂ€ltigende Mehrheit der Multi-Qubit-Quanten-ZustĂ€nde sind verschrĂ€nkt und stellen eine wertvolle Ressource dar. So können beispielsweise verschrĂ€nkte ZustĂ€nde zwischen Qubits fĂŒr die Quanten-Teleportation verwendet werden, bei denen ein geteilter verschrĂ€nkter Zustand von zwei Qubits unabhĂ€ngig von der relativen physikalischen NĂ€he der Qubits zur Übertragung von Informationen von einem Qubit auf einen anderen manipuliert werden kann. VerschrĂ€nkte ZustĂ€nde, wie natĂŒrliche ZustĂ€nde von Quantensystemen, sind auch in Disziplinen wie Quantenchemie und Quantensimulation von Bedeutung, bei denen die Lösung (en) oft die Form von verschrĂ€nkten Multiqubit-ZustĂ€nden annehmen. Man kann auch hochverschrĂ€nkte QuantenzustĂ€nde von mehreren Qubits nutzen, um beispielsweise zertifizierbare Zufallszahlen zu erzeugen. Es gibt sogar ein ` Qiskit-Paket <https://qiskit-rng.readthedocs.io/en/latest/>` _ um dies zu tun!

Quantenschaltungen#

Algorithmen und Anwendungen, die quantenmechanische Ressourcen nutzen, können einfach und effizient in der Sprache von ** Quantenschaltkreisen * * geschrieben werden. Ein Quantenschaltkreis ist eine Rechenroutine, die aus kohĂ€renten Quantenoperationen auf Quantendaten besteht, wie sie in Qubits gehalten werden, und parallel dazu ablaufenden klassischen Echtzeit-Berechnungen. Jede horizontale Linie oder Draht in einer Schaltung stellt ein Qubit dar, wobei das linke Ende des Drahtes die ursprĂŒnglichen Quantendaten darstellt und das Rechte die endgĂŒltigen Quantendaten, die durch die Berechnung des Quantenschaltkreises erzeugt werden. Operationen auf Qubits werden durch Boxen dargestellt, die auf diesen DrĂ€hten platziert werden.

_images/teleportation_detailed.png

Abb. 3 Tiefere Einblicke in die Teleportation von QuantenzustÀnden.#

Quantenschaltkreise ermöglichen es einem Quantencomputer, klassische Informationen zu ĂŒbernehmen und eine klassische Lösung herauszugeben, indem Quantenprinzipien wie :ref:` Superposition <qc-intro-superposition>` und :ref:` VerschrĂ€nkung <qc-intro-entanglement>` fĂŒr die Berechnung genutzt werden.

Ein typischer Quanten-Algorithmus-Workflow besteht aus:

  • Das Problem, das wir lösen wollen,

  • Ein klassischer Algorithmus, der eine Beschreibung eines Quantenschaltkreises erzeugt,

  • Der Quantenschaltkreis, der auf Quantenhardware betrieben werden muss,

  • Und die klassische Output-Lösung fĂŒr das Problem, das es erzeugt.

Quanten-Gates sind die Grundfunktionen fĂŒr Quantendaten. Diese „unitĂ€ren“ Transformationen sind das KernstĂŒck eines Quantenschaltkreises. Die VorgĂ€nge sind Informationserhaltend und umkehrbar. Manche Gatter wie \(X\) (auch geschrieben als \(\oplus\)) und \(CX\) haben klassische Analogien wie Bit-flip und \(XOR\) Operationen, andere nicht. Das Hadamard (\(H\)) Gatter, zusammen mit den parametrisierten Rotationen \(rX(\theta)\) und \(rY(\theta)\), generiert Superposition-ZustĂ€nde, wĂ€hrend Gates wie \(Z\), \(rZ(\theta)\), \(S\), und \(T\) Phasen erzeugen, die fĂŒr Interferenzen verwendet werden können. Zwei-Qubit-Gates wie das \(CX\) Gatter werden verwendet, um VerschrĂ€nkung zwischen Qubit-Paaren zu erzeugen, oder die Phase von einem Qubit zum anderen zu „kicken“. Im Gegensatz zu Gates, gehen bei Operationen wie einer „Messung“ (reprĂ€sentiert durch das ZĂ€hlersymbol mit einer Linie zum Zielregister) teilweise Informationen ĂŒber den Zustand eines Qubits, wie z.B. die Phase verloren, um diese Information als klassischen Bit darstellen zu können. Es ist zu beachten, dass nur mit \(H\), \(rZ(\theta)\), \(CX\) Messgattern, also Universellen Gate-Gruppen Quantenschaltkreise aufgebaut werden können. Einschließlich derer, die die Dynamik jedes physikalischen Systems in der Natur effizient berechnen.

Einige Workloads enthalten eine erweiterte Folge von verschachtelten Quantenschaltkreisen und klassischen Berechnungen, wie zum Beispiel Variations-Quantenalgorithmen, die Quantenschaltkreise innerhalb einer Optimierungsschleife ausfĂŒhren. FĂŒr diese Workloads erhöht sich die Systemleistung erheblich, wenn die Quantenschaltkreise parametrisiert werden und ÜbergĂ€nge zwischen der SchaltkreissausfĂŒhrung und der nicht aktuellen klassischen Berechnung effizient gemacht werden. Folglich definieren wir ** Nahzeitberechnung **, um auf Berechnungen mit Algorithmen zu verweisen, die von mehrfacher Verwendung bestimmter Quantenschaltkreise Gebrauch macht auf Hardware, die entwickelt wurde, um die Rechenzeit zu verkĂŒrzen. In der Nahzeitberechnung erfolgt die klassische Berechnung auf einer zeitlichen Skala, die lĂ€nger ist als die KohĂ€renz der Quantenberechnung. Im Gegensatz dazu erfolgt bei der ** Echtzeitberechnung ** die klassische Berechnung innerhalb der DekohĂ€renzzeit der Quantenvorrichtung.

Die Konstruktion komplexer Quantenschaltungen mit minimalem Aufwand ist das HerzstĂŒck von Qiskit, das eine Vielzahl von Funktionen unterstĂŒtzt und Ihre Schaltungen an eine Reihe von Quantencomputern oder klassischen Simulatoren senden kann. Mit nur wenigen Zeilen Code ist es möglich, komplexe Schaltungen wie die obige zu konstruieren.

qr = QuantumRegister(3, 'q')
cr = ClassicalRegister(2, 'zx_meas')
qc = QuantumCircuit(qr,cr)
qc.reset(range(3))
qc.barrier()
qc.h(1)
qc.cx([1,0],[2,1])
qc.h(0)
qc.barrier()
qc.measure([0,1], [0,1])
qc.barrier()
qc.z(2).c_if(cr, 1)
qc.x(2).c_if(cr, 2)

Quantencomputer#

_images/system_one.jpeg

Abb. 4 Ein Blick in das Innere des IBM Quantum System One.#

Quantencomputer, die mittels Quantenschaltkreisen programmiert werden, können im Prinzip aus jeder Quantentechnologie konstruiert werden, wenn diese Single- und Multi-Qubit-Gatte Operationen mit hoher ZuvarlĂ€ssigkeit realisieren kann. Derzeit werden aktiv Architekturen entwickelt, die auf superleitenden Schaltkreisen, Ionenfallen, Halbleiterquantenpunkten, Photonen und neutralen Atomen basieren. Viele sind ĂŒber das Internet fĂŒr Nutzer zugĂ€nglich. Qiskit kapselt die Architektur des jeweiligen Quantensystems und kompiliert der Quantengattertopologie eines GerĂ€tes entsprechende Quantenschaltungen, bildet die Schaltkreisbefehle auf dessen nativen Satz von Gates ab und optimiert die resultierende Quantenschaltung fĂŒr eine erhöhte Genauigkeit.

Wie bei dem Beispiel fĂŒr RauschunterdrĂŒckung oben sind die Amplitude und Phase von Qubits kontinuierliche Freiheitsgrade, auf denen Operationen niemals exakt durchgefĂŒhrt werden können. Diese Gate-Fehler, zusammen mit Rauschen aus der Umgebung eines Quantencomputers, können zusammen genommen eine Berechnung zerstören, wenn das nicht beim Kompilierungsprozesses mit berĂŒcksichtigt wird und entsprechende Korrekturen durchgefĂŒhrt werden, um eine hohe ZuverlĂ€ssigkeit auf störanfĂ€lligen derzeitigen Quantensystemen zu erhalten, wie sie heute ĂŒblich sind. Qiskit ist in der Lage, eine breite Palette von GerĂ€tekalibrierungsmetriken (siehe Abbildung unten) in seiner Kompilierungsstrategie zu berĂŒcksichtigen, und kann eine optimale Gruppe von Qubits auswĂ€hlen, auf denen eine bestimmte Quantenschaltung ausgefĂŒhrt werden soll. DarĂŒber hinaus bietet Qiskit eine Sammlung von rauschunterdrĂŒckenden Techniken fĂŒr die Extraktion einer originalgetreuen Darstellung der Ausgabe von Quantenschaltungen an.

_images/system_error.png

Abb. 5 Topologie und Fehlerraten fĂŒr das IBM Quantum ibmq_manhattan System.#

Weitere Informationen#

Hoffentlich haben wir bei dem Leser einen Eindruck ĂŒber die LeistungsfĂ€hingkeit von Quantencomputern verschaffen können und Interese auf weiterfĂŒhrenden Lernstoff geweckt. Wenn ja, gibt es mehrere Ressourcen, die sehr hier hilfreich sein könnten:

  • ` Erste Schritte mit Qiskit <getting_started.html>` _- Direkt mit Qiskit loslegen.

  • “ Leitfaden Quantencomputing <https://quantum-computing.ibm.com/docs/iqx/guide/>` _: Eine anfĂ€ngerfreundliche, physik-basierte EinfĂŒhrung, die von einigen GrĂŒndern des Quantencomputings geschrieben wurde und den interaktiven Circuit-Composer nutzt.

  • Qiskit textbook : A university quantum algorithms/computation course supplement based on Qiskit.