Quantenalgorithmus zur Ordnungsfindung

Die Ordnung von modulo bezeichnet die kleinste ganze Zahl , so daß . Falls und teilerfremd sind, ist die Funktion periodisch in mit Periode , d.h. falls ein Vielfaches von ist. Der unten beschriebene Quantenalgorithmus berechnet die Ordnung, indem er durch inverse FOURIER-Transformation die Periode der Funktion ermittelt.

Es werden hierfür zwei Quantenregister mit jeweils bzw. Qubits benötigt, wobei , so daß das zweite Register Zahlen von 0 bis darstellen kann, während mit (siehe unten). Außerdem benötigt man einen Quantenschaltkreis, der folgende Operation auf den beiden Registern durchführt:

   mod (22.28)


und während des folgenden Algorithmus nur einmal durchlaufen werden muß.

Der in nachfolgender Schaltkreis gezeigte Algorithmus verläuft wie folgt:

Bild

  1. Initialisiere die Register im Zustand
  2. Wende auf Register 1 an. Dies erzeugt den Zustand
    (22.29)


  3. Wende die Operation an. Dies erzeugt den Zustand
    (22.30)


    wobei die gesuchte Ordnung von modulo ist, und
       mod (22.31)


  4. Wende die inverse Quanten-FOURIER-Transformation auf Register 1 an. Dies erzeugt den Zustand
       mit (22.32)


    Zu tragen nur Zustände signifikant bei, für die gilt.
  5. Lies den Zustand des ersten Registers aus. Mit Wahrscheinlichkeit größer als gilt nun:
    (22.33)


    wobei eine durch den Meßprozeß zufällig ausgewählte Zahl zwischen 0 und ist. Hierdurch ist der Bruch mit eindeutig bestimmt.
  6. Bestimme den Nenner durch Darstellung von als Kettenbruch.
Zum Schluß wird geprüft, ob wirklich gilt. Ist dies der Fall, dann war der Algorithmus erfolgreich. Der Algorithmus kann aber aus folgenden zwei Gründen auch fehlschlagen: