Quantencomputer 23.07.2018, 17:38 Uhr

Erstes Quantenprogramm in Python

Eine Zufallszahl soll ermittelt werden. Ein triviales Problem, wenn man die passende Bibliothek hat. Noch gibt es aber so eine Bibliothek nicht für Quantencomputer.
Also müssen Sie selbst ran und das passende Programm schreiben. Im Blogpost Tutorial: Getting started with Quantum Computing (Python) erlernen Sie genau das.
Ein Quantencomputer arbeitet mit Gates wie man sie vom klassischen Computer her kennt, also OR, AND, XOR oder NOT. Allerdings ist in der Quantenmechanik ein Zustand eine Überlagerung von alle möglichen Zuständen mit verschiedener Gewichtung. Deshalb wird das sogenannte Hadamard Gate eingeführt, das durch eine Matrix repräsentiert wird. Diese besagt im Prinzip, dass der Zustand ein schwebender ist, bis gemessen wird. Deshalb gibt es in dem Programm, das dann entsteht, auch die Zeile
Measure | qubit
Hier das gesamte Python-Programm, das auf dem Quanten-Emulator ProjectQ (Link zum GitHub-Repo) läuft, der wiederum auf jedem Prozessor seine Arbeit verrichtet.
from projectq.ops import H, Measure
from projectq import MainEngine

"""
This Function creates a new qubit,
applies a Hadamard gate to put it in superposition,
and then measures the qubit to get a random
1 or 0.

"""
def get_random_number(quantum_engine):
qubit = quantum_engine.allocate_qubit()
H | qubit
Measure | qubit
random_number = int(qubit)
return random_number

# This list is used to store our random numbers
random_numbers_list = []
# initialises a new quantum backend
quantum_engine = MainEngine()
# for loop to generate 10 random numbers
for i in range(10):
# calling the random number function and append the return to the list
random_numbers_list.append(get_random_number(quantum_engine))
# Flushes the quantum engine from memory
quantum_engine.flush()
print('Random numbers', random_numbers_list)
[Update]


Das könnte Sie auch interessieren