Inhalt
- Quantenzufälligkeit
- Erklärung der Quantenmechanik
- Licht messen
- Ein Wort zu Photonenmodi
- Entwerfen der Quantenschaltung
- Arduino Firmware
- Die optische Schaltung
- Teile, um es selbst zu bauen
- Das Photonenproblem
- Verschränkte Zustände erstellen
- Open Sourced Quantum Computing
Noah Wood ist der Gründer von Spooky Manufacturing, einem Quantencomputer-Startup in Phoenix, Arizona
Quantum Computing ist eine wunderbare, komplexe neue Welt, aber wir müssen nicht warten, bis das Silicon Valley aufholt, um selbstständig zu experimentieren. Tatsächlich gibt es eine wenig bekannte, aber erschwingliche Methode, um Quantencomputer zu bauen, die jeder verwenden kann !
Im Jahr 2000 entwickelten die Wissenschaftler Knill, Laflamme und Milburn eine Methode zur Durchführung von Quantenberechnungen, die später als KLM-Protokoll bekannt wurde. Im Wesentlichen stellten sie fest, dass Sie jede theoretische Quantenberechnung nur mit einer geschickt angeordneten Optik durchführen konnten! (Spiegel)
Mit den Quanteneigenschaften von Licht und dem KLM-Protokoll können wir Qubits schnell und kostengünstig mit handelsüblichen Optik- und Elektronikkomponenten erzeugen. Strahlteiler (Teilspiegel) können für nur 30 US-Dollar erworben werden, sodass das KLM-Protokoll das ist bisher billigste Methode zur Erreichung von Quantencomputern. Es ist diese Erschwinglichkeit, die es mir ermöglicht hat, mit einfachen Quantenschaltungen in meinem Wohnzimmer zu experimentieren!
Wusstest du schon?
Mit dem KLM-Protokoll können wir erschwingliche Quantencomputer erstellen!
Quantenzufälligkeit
Quantensysteme scheinen uns von Natur aus zufällig zu sein. Die Wirkungen subatomarer Teilchen werden durch die Wahrscheinlichkeit bestimmt, dass diese Wirkung bei der Beobachtung auftritt. Daher ist die Quantentechnologie für die Erzeugung von Zufälligkeit und Entropie gut geeignet.
Aus diesem Grund war die erste Quantenschaltung, die ich gebaut habe, ein einfacher Zufallszahlengenerator, der lose auf dem KLM-Protokoll basiert. Mit dem sogenannten polarisierenden Strahlteiler können wir unterschiedliche optische Pfade oder Moden basierend auf der Polarisation eines Photons erzeugen. Der Strahlteiler reflektiert horizontal polarisiertes Licht und lässt vertikal polarisiertes Licht ungehindert durch.
Dies allein ist nicht allzu interessant, aber Licht hat eine andere Eigenart, die als Überlagerung bekannt ist, bei der ein Photon sowohl als Teilchen fungieren kann, das sich durch den einen oder anderen Modus bewegt, als auch als Welle, die sich gleichzeitig durch beide Modi bewegt! Es war erstmals bekannt, dass dieser Effekt in einem Experiment des Arztes Thomas Young in seinem berühmten Doppelspaltexperiment beobachtet wurde.
Hier wird es allerdings wirklich komisch, wenn das Photon den Strahlteiler passiert, wenn es nicht ist perfekt horizontal oder vertikal polarisiert, wird es tatsächlich sowohl reflektiert als auch durch den Strahlteiler geleitet. Erst wenn das Photon tatsächlich erkannt wird, "kollabiert" es aus diesem wellenartigen Zustand heraus und kehrt zufällig in ein Teilchen auf einen der beiden möglichen Modi zurück.
Verwirrt? Schauen Sie sich dieses Video des Physikers Eugene Khutoryansky an, das es viel besser erklärt, als ich es mir erhoffen könnte
Erklärung der Quantenmechanik
Licht messen
Mit dem obigen Wissen ist es keine allzu schwierige Aufgabe, das Gerät herzustellen. Wir strahlen einfach ein Licht durch einen Strahlteiler und messen das Licht. Aber wie messen wir das Licht?
Die Antwort ist wirklich einfach, obwohl es einige sehr hochtechnologische (und teure) Methoden zur Messung von Photonen gibt. Die einfachste Methode zur Messung von Licht ist die Verwendung einer Komponente, die als Fotowiderstand bezeichnet wird.
Fotowiderstände sind variable Widerstände, mit denen wir den Widerstand einer Schaltung basierend darauf ändern können, wie viele Photonen mit dem Fotowiderstand in Kontakt kommen. Wenn die Photonen auf den Fotowiderstand treffen, wird der Widerstand der Schaltung verringert, wodurch die Spannung unserer Schaltung erhöht wird.
Fotowiderstände sind so kostengünstig wie Transistoren und LEDs, was dies zu einer sehr erschwinglichen Option für den Heimwerker von Quantencomputern macht.
Ein Wort zu Photonenmodi
Unser Quantencomputer wird linear polarisierte Photonen als Qubit verwenden. Dies gibt uns zwei mögliche Zustände für unser Qubit: Horizontal polarisiert und Vertikal polarisiert zusammen mit einer Überlagerungspolarisation, die ein beliebiger Winkel zwischen 0 und 90 Grad sein kann. Eine kurze Demonstration der Zustände wird unten in Textform gezeigt:
- Vertikal polarisiertes Licht: |
- Horizontal polarisiertes Licht: __
- Licht in einer Überlagerung der Polarisation: /
Entwerfen der Quantenschaltung
Bei der Arbeit mit Quantencomputern beginnt alles mit dem Algorithmus. Sie müssen wissen, was Ihre Quantenschaltung tun soll, bevor Sie die Teilchen manipulieren können, um das zu tun, was Sie wollen.
Für diese erste Quantenschaltung ist der Algorithmus wirklich einfach!
- Pulsieren Sie eine Laserdiode, um Photonen zu erzeugen.
- Führen Sie die Photonen durch einen Strahlteiler.
- Messen Sie die V- und H-Modi des Strahlteilerausgangs mit Fotowiderständen.
- Wenn im H-Modus eine höhere Spannung (niedrigerer Widerstand, mehr Photonen) als im V-Modus vorliegt, geben wir eine 0 zurück.
- Wenn im V-Modus eine höhere Spannung als im H-Modus anliegt, geben wir eine 1 zurück.
- Wenn in beiden Modi die gleiche Spannung anliegt, wiederholen wir den Algorithmus.
Und so können wir unseren Quanten-Zufallszahlengenerator erstellen!
Arduino Firmware
/ * Kommentierte QRNGv1-Firmware V1.1 * Autor: Noah G. Wood * * Copyright (c) 2019 Spooky Manufacturing, LLC * Lizenz: GPLv3.0 * * / int triggerPin = 2; // Dieser Pin pulsiert unsere Quantenschaltung int hPin = A0; // Dieser Pin misst die horizontal polarisierten Photonen int vPin = A1; // Dieser Pin misst den vertikal polarisierten Photonenschwimmer H = 0; float V = 0; void setup () {// Nur TriggerPin und serielle Verbindung einrichten pinMode (13, OUTPUT); pinMode (triggerPin, OUTPUT); Serial.begin (9600); } int Random () {// Pulsiere den Laser digitalWrite (triggerPin, HIGH); Verzögerung (3); digitalWrite (triggerPin, LOW); // Lies die Fotowiderstände H = analogRead (hPin); V = analogRead (vPin); // Zufälliges Bit bestimmen, wenn (H> V) {// Mehr Photonen im H-Modus, return 0 return 0; } if (H V) {// Mehr Photonen im V-Modus, return 1 return 1; } else {/ * In beiden Modi gibt es die gleiche Anzahl von Photonen! Dies ist eigentlich keine Seltenheit. Für unsere Zwecke führen wir die Funktion einfach rekursiv aus, bis ein zufälliges Bit generiert werden kann. */ Zufällig(); }} void loop () {// Das Hauptprogramm // Führen Sie unser Programm aus und drucken Sie das Zufallsbit auf serial Serial.print (Random ()); }}
Die optische Schaltung
Teile, um es selbst zu bauen
Wenn Sie dies für sich selbst bauen möchten, sind hier die Teile, die Sie benötigen (dies sind die gleichen Materialien, die ich verwendet habe):
- Arduino Uno
- Fotowiderstände
- 50/50 Strahlteiler
- 650nm rote Laserdiode
- Plastilina Ton
- Arduino Breadboard Shield
- Koffer / Projektbox (Ich habe meine bei Michael gekauft, aber meine ersten Prototypen verwendeten nur die Pappkartons, in denen die Komponenten geliefert wurden)
Ein Hinweis zum Versand von Strahlteilern:
Es kann eine Weile dauern, bis die Strahlteiler versandt wurden. Ich glaube, sie kommen aus China. Ich würde Edmunds Optical empfehlen, wenn Sie sich ernsthaft mit Quantencomputern beschäftigen möchten, aber sie können recht teuer sein, und wir brauchen diese Qualität auf Laborebene für einfache Experimente zu Hause noch nicht wirklich!
Tipps:
- Verwenden Sie eine kleine Kugel aus Plastilina-Ton, um den Strahlteiler auf das Steckbrett zu kleben und die Laserdiode an Ort und Stelle zu halten.
- Verwenden Sie Baumwollhandschuhe, um eine Verschmutzung der Optik zu vermeiden.
- Decken Sie das Gerät während des Gebrauchs ab.
Das Photonenproblem
Für dieses Design können wir einen Laserpuls verwenden, der Billionen von Photonen enthält. Durch einfaches Messen beider "Moden" und Vergleichen der Spannungsverschiebung können wir leicht bestimmen, ob das kollabierte Qubit eine 1 oder eine 0 erzeugen soll, aber für fortgeschrittenere Entwürfe, die Quantenverschränkung beinhalten (wo die Real Leistung im Quantencomputer ist), wir müssen sogenannte Einzelphotonenquellen verwenden.
Leider ist es nicht so einfach, ein einzelnes Photon zuverlässig zu erzeugen. Die gleiche Quantenzufälligkeit, die uns Fähigkeiten verspricht, die die von Digitalcomputern weit übertreffen, regelt auch die Erzeugung von Photonen. Aus diesem Grund gibt es noch keine ideale Einzelphotonenquelle auf dem Markt, die wir genießen können, obwohl einige vielversprechende Untersuchungen durchgeführt wurden mit Nanodiamanten, die möglicherweise den Weg für erschwingliche kommerzielle Quantencomputer ebnen.
Vor diesem Hintergrund ist es für einen Bastler denkbar, mithilfe der Laserdämpfung eine ziemlich zuverlässige (wenn nicht ideale) Einzelphotonenquelle zu schaffen, die für ihre eigenen Zwecke verwendet werden kann. Dies ist jedoch nicht perfekt und bringt seine eigenen Herausforderungen mit sich.
Verschränkte Zustände erstellen
Verschränkung ist ein noch größeres Problem, mit dem Heimwerker beim Aufbau ihrer eigenen optischen Quantenschaltungen konfrontiert werden, schließlich interagieren Photonen nicht miteinander! Wie können sie sich verwickeln? Aber die gleichen Genies (im Ernst, Genies), die das KLM-Protokoll erstellt haben, haben auch einen Weg gefunden, einfache optische Komponenten zu verwenden, um Photonen mit nichtlinearen Vorzeichenverschiebungstoren zu verwickeln, und ich weiß, das klingt nach Science-Fiction: Teleportation, von denen keiner wird Ich gebe vor, völlig zu groken.Ich würde Sie stattdessen auf die Wikipedia-Seite des KLM-Protokolls zurückweisen, wenn Sie mehr darüber erfahren möchten. Daran arbeite ich selbst in meinem eigenen Geschäft, konnte es aber noch nicht erreichen
Open Sourced Quantum Computing
Meine Faszination für Quantencomputer, die mich dazu veranlasste, meinen eigenen Quantencomputer zu bauen, hat mich auch dazu veranlasst, Spooky Manufacturing, ein Open-Source-Startup für Quantencomputer, zu starten.
Wir hosten derzeit einen Github mit vollständigen Build-Anweisungen, Schaltplänen und Software, die Quantencomputer-Hobbyisten frei nutzen können (alle unter der Open-Source-Lizenz GPLv3 lizenziert).
Ich möchte Sie alle einladen, sich auch unsere anderen Projekte anzusehen. Wir haben ein paar kostenlose Tools in Arbeit, wie zum Beispiel:
- QEDA: Automatisierungssoftware für das Design optischer Schaltungen
- QController: Testsoftware für Quantenschaltungen
Wir hoffen, dass diese Tools das Entwerfen, Erstellen und Programmieren von DIY-Quantencomputern und -Schaltungen so einfach und unterhaltsam machen wie das Arduino oder Raspberry Pi.
Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.