Shor sien Algorithmus
Bruuk-Inschattung: Dree Sekunnen op'n Eagle r3-Prozessor (ACHTUNG: Dit is bloots 'ne Inschattung. Dien Looptied kunn annoers sien.)
Shor sien Algorithmus, vun Peter Shor in't Johr 1994 ontwikkelt, is'n bahnbrekend Quantenalgorithmus för't Faktoriseren vun Tahlen in polynomialer Tied. Sien Bedüden liggt dor in, dat he grote Tahlen exponentiell gauer faktoriseren kann as all bekannten klassischen Algorithmen, un dormit de Sekerheit vun wiet verbreiten Kryptosystemen as RSA bedroht, de dorup beruhrt, dat't swoor is, grote Tahlen to faktoriseren. Indeem he dit Problem op'n stark noog Quantencomputer effizient löst, kunn Shor sien Algorithmus Fäller as Kryptografie, Cybersicherheit un Bereken-Mathematik revolutioneern, un dormit de transformative Kraft vun de Quantenberekening ünnerstrieken.
Dit Tutorial wiest Shor sien Algorithmus, indeem wi de 15 op'n Quantencomputer faktoriseert.
Toeerst defini eert wi dat Ordnungsfinn-Problem un konstrueert passliche Schaltkreisen ut dat Quantenpha sen-Inschattungsprotokoll. As nächstes laat wi de Ordnungsfinn-Schaltkreisen op echte Hardware mit de körtesten Schaltkreisen, de wi transpileren künnt. De leste Afsnitt kompleteert Shor sien Algorithmus, indeem wi dat Ordnungsfinn-Problem mit de heeltahlige Faktoriseerung verbinnt.
Wi slüüt dat Tutorial af mit'ne Diskuschoon över anner Demonstratschonen vun Shor sien Algorithmus op echte Hardware, de sik sowohl op algemene Implementatschonen as ok op de konzentr eert, de op't Faktoriseren vun spezielle Tahlen as 15 un 21 tosneden sünd. Achtung: Dit Tutorial konzentreert sik mehr op de Implementatschoon un Demonstratschoon vun de Schaltkreisen för Shor sien Algorithmus. För'n deeperen pädagogischen Ressource över dat Material, kiek mol in de Fundamentals of quantum algorithms Kurs vun Dr. John Watrous, un de Papers in de Referenzen-Afsnitt.
Vöruttset tungen
Bevör du mit dit Tutorial anfangst, kiek to, dat du dat Folgende installeert hest:
- Qiskit SDK v2.0 oder neeger, mit Visualiseerung Ünnerstüttung
- Qiskit Runtime v0.40 oder neeger (
pip install qiskit-ibm-runtime)
Opsetten
# Added by doQumentation — required packages for this notebook
!pip install -q numpy pandas qiskit qiskit-ibm-runtime
import numpy as np
import pandas as pd
from fractions import Fraction
from math import floor, gcd, log
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
from qiskit.circuit.library import QFT, UnitaryGate
from qiskit.transpiler import CouplingMap, generate_preset_pass_manager
from qiskit.visualization import plot_histogram
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import SamplerV2 as Sampler
Schritt 1: Klassische Ingaben op'n Quantenproblem afbilden
Achtergrund
Shor sien Algorithmus för heeltahlige Faktoriseerung nützt'n Twüschenproblem, dat as Ordnungsfinn-Problem bekannt is. In dissen Afsnitt wiesen wi, wo wi dat Ordnungsfinn-Problem mit Quantenphasen-Inschattung lösen doot.
Phasen-Inschattungsproblem
Bi't Phasen-Inschattungsproblem kriegt wi'n Quantentostand vun Qubits, tohoop mit'n unitären Quantenschaltkreis, de op Qubits warkt. Wi warrt tosakkt, dat 'n Eigenvektor vun de unitäre Matrix is, de de Warkung vun Schaltkreis beschrifft, un us Teel is't, de Eigenwert to berekenen oder intrüden, to den höört. Mit anner Wöör, de Schaltkreis schall'ne Annäherung an de Tahl utgeben, de erfüllt.
Dat Teel vun Phasen-Inschattungsschaltkreis is't, in Bits intrüden. Mathematisch spraken willt wi finnen, so dat , wo . Dat folgende Bild wiest de Quantenschaltkreis, de in Bits inschattet, indeem he'ne Meeten op Qubits maakt.
In Schaltkreis boven warrt de böversten Qubits in de -Tostand initialiseer t, un de ünnersten Qubits in , den tosakkt warrt, 'n Eigenvektor vun to sien. Dat eerste Ingredient in Phasen-Inschattungsschaltkreis sünd de kontrolleerten unitären Operatoren, de dofür verantwoordlik sünd, 'n Phasen-Kickback op ehr passenden Kontroll-Qubit dörtofören. Disse kontrolleerten Unitären warrt potentseert na de Positschoon vun Kontroll-Qubit, vun dat minst signifikante Bit bet to dat meest signifikante Bit. Wieldat 'n Eigenvektor vun is, blifft de Tostand vun de ünnersten Qubits vun disse Operatschoon unrührt, aver de Phaseninformatschoon vun Eigenwert breet sik na de böversten Qubits ut.
Dat stellt sik rut, dat na de Phasen-Kickback över kontrolleerte Unitären all möglichen Tostänn vun de böversten Qubits orthonormal to nanner sünd för elken Eigenvektor vun dat unitäre . Dorüm sünd disse Tostänn perfekt ünnersche edbaar, un wi künnt de Basis, de se billt, torüch in de Reken-Basis dreihen, üm'ne Meeten to maken. 'Ne mathematische Analyse wiest, dat disse Rotaschoons-Matrix de inverse Quantenfourier-Transformatschoon (QFT) in -dimensionalen Hilbert-Ruum entspricht. De Intuitschoon dor achter is, dat de periodische Struktur vun de modularen Potenzerungs-Operatoren in Quantentostand kodeert is, un de QFT wandelt disse Periodizität in meetbare Spieten in Frequenzberik üm.
För'n deeper Verstahn dorvun, worüm de QFT-Schaltkreis in Shor sien Algorithmus bruukt warrt, verwiest wi de Leser op de Fundamentals of quantum algorithms Kurs. Wi sünd nu proot, de Phasen-Inschattungsschaltkreis för Ordnungsfinn to bruken.
Ordnungsfinn-Problem
Üm dat Ordnungsfinn-Problem to definiern, fangt wi mit'n paar tahlentheoretische Konzepten an. Toeerst definiern wi för elke positieve Heeltahl de Meng as All arithmetischen Operatschonen in warrt modulo dörtofö hrt. Besünners sünd all Elementen , de teelerfree mit sünd, speziell un billt as För'n Element warrt de lüttste positieve Heeltahl so, dat as de Ordnung vun modulo defineert. As wi later sehn warrt, lett us dat Finnen vun de Ordnung vun'n faktoriseren. Üm de Ordnungsfinn-Schaltkreis ut de Phasen-Inschattungsschaltkreis to konstruern, bruukt wi twee Övverlegungen. Toeerst mööt wi dat unitäre definiern, dat us dat erlövt, de Ordnung to finnen, un tweedens mööt wi'n Eigenvektor vun definiern, üm de Anfangstostand vun Phasen-Inschattungsschaltkreis vörtobereien.
Üm dat Ordnungsfinn-Problem mit de Phasen-Inschattung to verbinnen, bekiekt wi de Operatschoon, de op'n System defineert is, wodenn klassische Tostänn entsprekt, wo wi mit'n faste Element multiplizeert. Besünners definiern wi dissen Multiplikatschoons-Operator so, dat för elke . Kiek to, dat't implizit is, dat wi dat Produkt modulo binnen vun Ket op de rechte Sied vun de Gliekung neemt. 'Ne mathematische Analyse wiest, dat 'n unitärer Operator is. Wiederdeen stellt sik rut, dat Eigenvektor- un Eigenweertpaaren hett, de us erlövt, de Ordnung vun mit dat Phasen-Inschattungsproblem to verbinnen. Speziell, för elke Wahl vun