Quantencomputing: Geschichte und HintergrundQuantum computing history and background

In den letzten Jahren wurden verschiedene neue Computertechnologien entwickelt. Das Quantencomputing ist wohl die Technologie, für die von Entwicklern der größte Paradigmenwechsel verlangt wird.A host of new computer technologies has emerged within the last few years, and quantum computing is arguably the technology requiring the greatest paradigm shift on the part of developers. Quantencomputer wurden in den 1980er Jahren erstmals von Richard Feynman und Yuri Manin vorgeschlagen.Quantum computers were proposed in the 1980s by Richard Feynman and Yuri Manin. Die Idee des Quantencomputings basiert darauf, was häufig als eines der größten Probleme der Physik angeführt wird: bemerkenswerter wissenschaftlicher Fortschritt bei gleichzeitiger Unfähigkeit, auch einfachste Systeme zu modellieren.The intuition behind quantum computing stemmed from what was often seen as one of the greatest embarrassments of physics: remarkable scientific progress faced with an inability to model even simple systems. Die Quantenmechanik wurde zwischen 1900 und 1925 entwickelt und ist bis heute der entscheidende Baustein, auf dem die Chemie, die Physik der kondensierten Materie und die Technologien von Computerchips bis zur LED-Beleuchtung letztendlich basieren.You see, quantum mechanics was developed between 1900 and 1925 and it remains the cornerstone on which chemistry, condensed matter physics, and technologies ranging from computer chips to LED lighting ultimately rests. Aber trotz aller Erfolge war es so, dass auch die einfachsten Systeme von Menschen per Quantenmechanik scheinbar nicht modelliert werden konnten.Yet despite these successes, even some of the simplest systems seemed to be beyond the human ability to model with quantum mechanics. Dies liegt daran, dass auch für die Simulation von Systemen mit nur einigen Dutzend interagierenden Partikeln mehr Rechenleistung erforderlich ist, als mit jedem verfügbaren herkömmlichen Computer in Tausenden von Jahren bereitgestellt werden kann.This is because simulating systems of even a few dozen interacting particles requires more computing power than any conventional computer can provide over thousands of years!

Es gibt viele Wege, um zu verdeutlichen, warum die Simulation der Quantenmechanik so schwierig ist.There are many ways to understand why quantum mechanics is hard to simulate. Die einfachste Erklärung lautet vielleicht wie folgt: Die Quantentheorie lässt sich so interpretieren, dass Materie auf Quantenebene gleichzeitig viele verschiedene Konfigurationen (als Zustände bezeichnet) aufweist.Perhaps the simplest is to see that quantum theory can be interpreted as saying that matter, at a quantum level, is simultaneously in a host of different possible configurations (known as states) at the same time. Anders als bei der klassischen Wahrscheinlichkeitstheorie können sich diese vielen Konfigurationen des Quantenzustands, die sich potenziell beobachten lassen, einander überlagern – wie Wellen in einem Gezeitenbecken.Unlike classical probability theory, these many configurations of the quantum state, which can be potentially observed, may interfere with each other like waves in a tide pool. Durch diese Beeinträchtigung wird die Verwendung der statistischen Stichprobenentnahme zum Abrufen der Konfigurationen von Quantenzuständen verhindert.This interference prevents the use of statistical sampling to obtain the quantum state configurations. Stattdessen müssen wir jede mögliche Konfiguration nachverfolgen, die ein Quantensystem ggf. aufweist, wenn wir die Quantenevolution verstehen möchten.Rather, we have to track every possible configuration a quantum system could be in if we want to understand the quantum evolution.

Stellen Sie sich ein System mit Elektronen vor, in dem sich die Elektronen an einer von $40$ Positionen befinden können.Consider a system of electrons where electrons can be in any of say $40$ positions. Die Elektronen können hierbei über eine von $2^{40}$ Konfigurationen verfügen (da jede Position entweder ein Elektron oder kein Elektron aufweist).The electrons therefore may be in any of $2^{40}$ configurations (since each position can either have or not have an electron). Zum Speichern des Quantenzustands der Elektronen im Arbeitsspeicher auf einem herkömmlichen Computer müsste dieser eine Größe von mehr als $130$ GB haben!To store the quantum state of the electrons in a conventional computer memory would require in excess of $130$ GB of memory! Dies ist ein sehr hoher Wert, der für einige Computer aber durchaus im Bereich des Möglichen liegt.This is substantial, but within the reach of some computers. Falls wir für die Partikel eine von $41$ möglichen Positionen zulassen, ergeben sich doppelt so viele Konfigurationen ($2^{41}$). Hierfür wäre zum Speichern des Quantenzustands ein Arbeitsspeicher mit einer Größe von mehr als $260$ GB erforderlich.If we allowed the particles to be in any of $41$ positions, there would be twice as many configurations at $2^{41}$ which in turn would require more than $260$ GB of memory to store the quantum state. Diese Erhöhung der Anzahl von Positionen lässt sich nicht unendlich weitertreiben, wenn wir den Zustand auf herkömmliche Weise speichern möchten. Wir gelangen sehr schnell an den Punkt, an dem die Speicherkapazitäten der leistungsstärksten Computer der Welt überschritten werden.This game of increasing the number of positions cannot be played indefinitely if we want to store the state conventionally as we quickly exceed memory capacities of the world's most powerful machines. Bei einer Zahl von einigen Hundert Elektronen übersteigt der Arbeitsspeicherwert, der zum Speichern des Systems benötigt wird, die Anzahl von Partikeln im Universum. Daher besteht keinerlei Hoffnung, die entsprechende Quantendynamik mit unseren herkömmlichen Computern jemals simulieren zu können.At a few hundred electrons the memory required to store the system exceeds the number of particles in the universe; thus there is no hope with our conventional computers to ever simulate their quantum dynamics. In der Natur findet die Evolution solcher Systeme im Laufe der Zeit aber basierend auf den Gesetzen der Quantenmechanik statt – völlig ungeachtet dessen, dass diese Evolution mit herkömmlicher Rechenleistung nicht technisch hergestellt und simuliert werden kann.And yet in nature, such systems readily evolve in time according to quantum mechanical laws, blissfully unaware of the inability to engineer and simulate their evolution with conventional computing power.

Diese Beobachtung hat dazu geführt, dass sich die ersten Visionäre im Bereich des Quantencomputings eine einfache und gleichzeitig schwerwiegende Frage gestellt haben: Können wir dieses Problem in eine Chance verwandeln?This observation led those with an early vision of quantum computing to ask a simple yet powerful question: can we turn this difficulty into an opportunity? Genauer gesagt: Wenn die Simulation der Quantendynamik so schwierig ist, was würde dann passieren, wenn wir Hardware bauen, die über Quanteneffekte in Form von grundlegenden Vorgängen verfügt?Specifically, if quantum dynamics are hard to simulate what would happen if we were to build hardware that had quantum effects as fundamental operations? Können wir Systeme mit interagierenden Partikeln mit einem System simulieren, bei dem genau die gleichen Gesetze wie in der Natur genutzt werden?Could we simulate systems of interacting particles using a system that exploits exactly the same laws that govern them naturally? Können wir Aufgabenstellungen untersuchen, die nichts mit der Natur zu tun haben, aber auf den Gesetzen der Quantenmechanik basieren bzw. davon profitieren?Could we investigate tasks that are entirely absent from nature, yet follow or benefit from quantum mechanical laws? Diese Fragen haben zur Entstehung des Quantencomputings geführt.These questions led to the genesis of quantum computing.

Der Kern des Quantencomputings ist die Speicherung von Informationen in Quantenzuständen von Materie und die Verwendung von Quanten-Gatevorgängen, um Berechnungen mithilfe dieser Informationen durchzuführen, indem Quantenüberlagerung genutzt und deren „Programmierung“ erlernt wird.The foundational core of quantum computing is to store information in quantum states of matter and to use quantum gate operations to compute on that information, by harnessing and learning to "program" quantum interference. Ein frühes Beispiel für die Programmierung von Überlagerungen zum Lösen eines Problems, das mit herkömmlichen Computern nur sehr schwer gelöst werden kann, wurde von Peter Shor im Jahr 1994 für ein als „Faktorzerlegung“ bezeichnetes Problem entwickelt.An early example of programming interference to solve a problem thought to be hard on our conventional computers was done by Peter Shor in 1994 for a problem known as factoring. Per Faktorzerlegung können viele unserer Verschlüsselungssysteme mit öffentlichen Schlüsseln, auf denen unsere heutige E-Commerce-Sicherheit basiert (z. B. RSA und Kryptografie für elliptische Kurve), geknackt werden.Solving factoring brings with it the ability to break many of our public key cryptosystems underlying the security of e-commerce today, including RSA and Elliptic Curve Cryptography. Seitdem wurden schnelle und effiziente Quantencomputeralgorithmen für schwierige klassische Aufgaben entwickelt: Simulieren von physischen Systemen in der Chemie, Physik und Materialwissenschaft, Durchsuchen einer unsortierten Datenbank, Lösen von Systemen mit linearen Gleichungen und maschinelles Lernen.Since that time, fast and efficient quantum computer algorithms have been developed for many of our hard classical tasks: simulating physical systems in chemistry, physics, and materials science, searching an unordered database, solving systems of linear equations, and machine learning.

Das Entwerfen eines Quantenprogramms zur Bewältigung von Überlagerungen klingt nach einer schwierigen Herausforderung. Dies ist auch der Fall, aber es wurden viele Verfahren und Tools entwickelt, z. B. unser Microsoft Quantum Development Kit, um die Quantenprogrammierung und die Entwicklung von Algorithmen besser zugänglich zu machen.Designing a quantum program to harness interference may sound like a daunting challenge, and while it is, many techniques and tools, including our Microsoft Quantum Development Kit, have been introduced to make quantum programming and algorithm development more accessible. Es gibt einige grundlegende Strategien, mit denen Quantenüberlagerungen so manipuliert werden können, dass sie für das Computing nützlich sind – während gleichzeitig dafür gesorgt wird, dass sich die Lösung nicht in den vielen unterschiedlichen Möglichkeiten des Quantenbereichs verliert.There are a handful of basic strategies that can be used to manipulate quantum interference in a way useful for computing, while at the same time not causing the solution to be lost in a tangle of quantum possibilities. Die Quantenprogrammierung unterscheidet sich deutlich von der klassischen Programmierung und erfordert völlig andere Tools, um die Denkweise hinter Quantenalgorithmen verstehen und ausdrücken zu können.Quantum programming is a distinct art from classical programming requiring very different tools to understand and express quantum algorithmic thinking. Ohne die allgemeinen Tools als Hilfe für einen Quantenentwickler bei der Quantenprogrammierung ist die Entwicklung von Quantenalgorithmen nicht so einfach.Indeed, without general tools to aid a quantum developer in tackling the art of quantum programming, quantum algorithmic development is not so easy.

Wir haben das Microsoft Quantum Development Kit eingeführt, um eine ständig wachsende Community mit Tools zu versorgen, die die Umsetzung der Quantenrevolution in Bezug auf die Aufgaben, Probleme und Lösungen ermöglichen.We present the Microsoft Quantum Development Kit to empower a growing community with tools to unlock the quantum revolution for their tasks, problems, and solutions. Unsere allgemeine Programmiersprache Q# wurde konzipiert, um die Problemstellungen der Verarbeitung von Quanteninformationen bewältigen zu können. Sie ist in einen Softwarestapel integriert, der es ermöglicht, einen Quantenalgorithmus bis hinunter zu den primitiven Operationen eines Quantencomputers zu kompilieren.Our high-level programming language, Q#, was designed to address the challenges of quantum information processing; it is integrated in a software stack that enables a quantum algorithm to be compiled down to the primitive operations of a quantum computer. Bevor Sie sich an die Programmiersprache heranwagen, ist es ratsam, sich mit den Grundprinzipien vertraut zu machen, auf denen das Quantencomputing basiert.Before approaching the programming language, it's helpful to review the basic principles on which quantum computing is based. Wir behandeln die grundlegenden Regeln des Quantencomputings als Axiome, anstatt detailliert deren Grundlagen in der Quantenmechanik darzustellen.We will take the fundamental rules of quantum computing to be axioms, rather than detailing their foundations in quantum mechanics. Darüber hinaus setzen wir voraus, dass Sie über Grundkenntnisse in linearer Algebra (Vektoren, Matrizen usw.) verfügen.Additionally, we will assume basic familiarity with linear algebra (vectors, matrices, and so on). Falls Sie die Geschichte und die Prinzipien des Quantencomputings eingehender studieren möchten, helfen Ihnen die Informationen im Referenzabschnitt weiter.If a deeper study of quantum computing history and principles is desired, we refer you to the reference section containing more information.