Quantum Computation: Zusammenfassung der 13. Vorlesung (13.02.09) 2.3,2 Auswertung durch Kettenbruchentwicklung (Fortsetzung) Wir hatten [12. Vorlesung, p.4]für 2 ≤ n ≤ N schon gefolgert, dass x = [ao a1 a2 . . . aN ] = a0n pn−1 + pn−2 , a0n qn−1 + qn−2 oder für 1 ≤ n ≤ N − 1 x = [ao a1 a2 . . . aN ] = a0n+1 pn + pn−1 a0n+1 qn + qn−1 ist. Für die Differenz von x und dem n-ten Näherungsbruch ergibt sich deshalb qn (a0n+1 pn + pn−1 ) − pn (a0n+1 qn + qn−1 ) pn x− = qn qn (a0n qn−1 + qn−2 ) (−1)n qn pn−1 − pn qn−1 = . = qn (a0n+1 qn + qn−1 ) qn (a0n+1 qn + qn−1 ) Überdies gilt noch x = a0 + 1 a01 so dass x − p0 (−1)0 1 . = x − a0 = 0 = q0 a1 a01 Mit den Definitionen q10 := a01 , qn0 := a0n qn−1 + qn − 2 (2 ≤ n ≤ N − 1), ergibt sich der Satz: Für 1 ≤ n ≤ N − 1 ist x− pn (−1)n = qn qn qn0 1 qn0 := qn Nun ist 0 < a2 ∈ N, und damit q1 = a1 < a01 < a1 + 1 = q1 + q0 ≤ a2 q1 + q0 = q2 . Mit Ausnahme des Falles a0N −1 = an−1 + 1, wenn aN = 1 ist, gilt an+1 < a0n+1 = an+1 + 1 [an+2 an+3 . . . aN ] < an+1 + 1, so dass 0 , qn+1 = an+1 qn + qn−1 < a0n+1 qn + qn−1 < qn+1 und weiter 0 qn+1 = a0n+1 qn +qn−1 < (an+1 +1)qn +qn−1 = qn+1 +qn ≤ an+2 qn+1 +qn = qn+2 . Nun gilt (−1)n pn x− = qn qn qn0 1 bzw. 0 qn+1 = (−1)n (qn x − pn ), und damit für 1 ≤ n ≤ N − 2 1 qn+2 < 1 0 qn+1 = |qn x − pn | < 1 qn+1 Für n = N − 1 bzw. n = N gilt |qN −1 x − pN −1 | < 1 qN und |qN x − pN | = 0, und im Ausnahmefall, wenn a0N −1 = aN −1 + 1 und aN = 1 ist, folgt 0 qN −1 = (aN −1 + 1)qN −2 + qN −3 = qN −1 + qN −2 =N qN −1 + qN −2 = qN . Im Ausnahmefall gilt daher nach dem letzten Satz 1 0 qN −1 = |qN −1 x − pN −1 | = 1 . qN Wegen qN −1 < qN −2 können wir die Ergebnisse der vorstehenden Rechnung im folgenden Satz zusammenfassen. 2 Satz: Für einfachz Kettenbrüche endlicher Läng N > 1 gelten für 1 ≤ n ≤ N |qn x − pn | > |qn+1 x − pn+1 | bzw. |x − pn+1 pn | > |x − | qn qn+1 und für 1 ≤ n ≤ N − 1 (−1)n δn qn x − p n = qn+1 und wobei 0 < δn x − pn < 1 < 1 qn qn qn+1 qn2 |x − pN −1 | qN −1 < |x − pN −1 | qN −1 = 1 qN −1 qN 1 qN −1 < 1 2 qN < 1 für 1 ≤ n ≤ N − 2 = 1 für n=N −1 für 1 ≤ n ≤ N − 2, im Normalfall, für n = N − 1. im Ausnahmefall Die folgenden Sätze führen zu dem erstaunlichen Ergehnis, dass ein Quotient ganzer Zahlen ein Näherungbruch sein muss, wenn er nur nahe genug am Wert xdes Kettenbruches liegt. Dieses Ergebnis ist deshalb so erstaunlich, weil die rationalen Zahlen auf der reellen Achse überall dicht liegen, aber eine offene Umgebung von x ausgezeichet werden kann, in der alle Brüche mit gegebenem Nenner Näherungsbrüche sind. Satz: Sei x ∈ Q und x= Pζ + R , Qζ + S wobei 0 < ζ ∈ R, P, Q, R, S ∈ Z, Q > S > 0 und P S − QR = ±1, dann P aufeinander folgende Näherungsbrüche von einer Kettenbruchsind RS und Q P n−1 darstellung von x. Gilt RS = pqn−1 und Q = pqnn , dann ist ζ der (n + 1)-te vollständige Nenner. P Beweis: Da Q = [a0 a1 a2 . . . an ] mit geradem und ungeradem n möglich ist, kann o.B.d.A. angenommen werden, dass P S − QR = (−1)n−1 ist. Da S, R ∈ Z ist, enthält der von P und Q erzeugt Modul ganzer Zahlen die 1 und damit gilt (P, Q) = 1. Ferner ist nach Voraussetzng Q > 0. Weil mit 3 P = [a0 a1 a2 . . . an ] anderersits Q = P P = pn und Q = qM . Daraus folgt P Q pn , qn ((pn , qn ) = 1 und qn > 0 gilt, ist pn S − qn nR = P S − QR = (−1)M −1 = pn qn−1 − pn−1 qn und somit pn (S − qn−1 ) = qn (R − pn−1 ). Weeil nun qn |pn (S − qn−1 ), pn |qn (R − pn−1 ), (pn , qn ) = 1 gelten, folgen qn |(S − qn−1 ), pn |(R − pn−1 ). Aderersets folgt aus Q = qn > S > 0 und qn > qn−1 > 0 sowohl qn > S − qn−1 als auch qn > qn−1 − S, also qn > |S − qn−1 |. Dies widersprich aber qn |pn (S − qn−1 ), wenn nicht S = qn−1 ist. Aus S = qn−1 folgt aber auch R = pn−1 . Damit ist die erste Behautung des atzzes gezeigt. Nach der Voraussetzung ist nun pn ζ + pn−1 x= qn ζ + qn−1 und x ∈ Q. Dann ist auch ζ ∈ Q und nach Voraussetzung ist ζ > 0, so dass mit ζ = [an+1 an+2 . . . aN ] gilt x = [a0 a1 a2 . . . an ζ] = [a0 a1 a2 . . . an an+1 an+2 . . . aN ]. Der nächste Satz zeigt, dass in der Umgebung (x − pqnn , x − P Quotienten Q mit (P, Q) = 1 und 0 < Q ≤ qn enthalten sind. pn ) qn keine Satz: Sei x ∈ Q und 1 ≤ n ≤ N − 2. Wenn P, Q ∈ N, 0 < Q ≤ qn und P 6= pqnn , dann gilt Q |qn x − pn | < |Qx − P |. Beweis: O.B.d.A. sei (P, Q) = 1. Da stets qn x − pn | < |qn−1 x − pn−1 | 4 gilt, genügt es, den Fall qn−1 < Q ≤ qn zu betrachten. - Im Fall Q = qn ist P 6= pn und damit pn P − ≥ 1. qn qn qn Andererseits ist wegen qn+1 ≥ n + 1 p 1 1 n x − < 1 ≤ < , qn qn qn+1 (n + 1)qn 2qn so dass 1 pn 1 p p P P n n x − < − ≤ x − + x − qn 2 qn qn 2 qn qn und wegen Q = qn 1 pn 1 P x − < x − 2 qn 2 qn =⇒ |qn x − pn | < |Qx − P |. P n−1 - Im Fall qn−1 < Q < qn kann wegen (P.Q) = 1 weder Q = pqn−1 noch pn−1 P = qn . denn jede derGleichungen würde der Teilerfremdheit von P und Q Q widersprechen. Das Gleichungsystem µpn + νpn−1 = P, µqn + νqn−1 = Q hat eine ganzzahlige Lösung, denn P qn−1 − Qpn−1 = (µpn + νpn−1 )qn−1 − (µqn + νqn−1 )pn−1 = µ(pn qn−1 − pn−1 qn ) = µ(−1)n+1 , also µ = (−1)n+1 (P qn−1 − Qpn−1 ); und P qn − Qpn = (µpn + νpn−1 )qn − (µqn + νqn−1 )pn = ν(pn−1 qn − qn−1 pn ) = ν(−1)n , also ν = (−1)n (P qn − Qpn ). 5 Ferner ist Qx − P = (µqn + νqn−1 )x − (µpn + νpn−1 ) = µ(qn x − pn ) + ν(qn−1 x − pn−1 ) und weil sgn(qn x − pn ) = (−1)n ist, sind beide Terme auf der rechten Seite negativ. Es gilt deshalb |Qx − P | = |µ(qn x − pn )| + |ν(qn−1 x − pn−1 )| > |µ||qn x − pn | > |qn x − pn |, denn |µ| ∈ N. Satz: Von zwei aufeinander folgenden Näherungsbrüchen erfüllt wenigstens n+1 einer, pq ∈ { pqnn , pqn+1 }, 1 ≤ n ≤ N − 2, die Ungleichung x − 1 p < 2. q 2q Beweis: O.B.d.A. nehmen wir an, dass pn pn+1 <x< , qn qn+1 dann ist pn+1 pn pn+1 p n = + x − . − − x qn+1 qn qn+1 qn Die Annahme x − pn ≥ 1 qn 2qn2 und x − pn+1 ≥ 1 2 qn+1 2qn+1 führt auf pn+1qn −pn qn+1 pn+1 pn 1 1 1 = = − ≥ 2 + 2 , qn qn+1 qn qn+1 qn+1 qn 2qn 2qn+1 und daraus folgt 0≥ (qn+1qn )2 2 2qn2 qn+1 6 im Widerspruch zu qn < qn+1 . Wir formulieren nun den für die Auswertung des Quantenalgorithmus zur Ordnungsbestimmung entscheidenden Satz. Es sei bemerkt, dass dieser Satz auch für x ∈ R bewiesen werden kann, wenn man Kettenbrüche unendlicher Länge betrachtet. Satz: Sei x ∈ Q und p, q ∈ N. Gilt p x − < 1 , q 2q 2 dann ist p q ein Näherungsbruch von x. Beweis: Für x 6= p q ist nachVoraussetzung x− Ferner sei Durch p q p Θ = 2, q q = ±1, 1 0<Θ< . 2 = [ao a1 a2 . . . an ], wobei o.B.d.A. = (−1)n gelte und x= p q = pn qn ist. ωpn + pn−1 ωqn + qn−1 liegt ω ∈ Q fest und es ist ωpn + pn−1 pn qn (ωpn + pn−1 ) − pn (ωqn + qn−1 ) Θ = − = 2 q ωqn + qn−1 qn qn (ωqn + qn−1 ) n (−1) qn pn−1 − pn qn−1 = = . = qn (ωqn + qn−1 ) qn (ωqn + qn−1 ) qn (ωqn + qn−1 ) Daraus folgt ω= 1 qn−1 − > 2 − 1 = 1. Θ qn Mit Q 3 ω = [an+1 an+2 . . . aN ] ist somit x = [ao a1 a2 . . . an an+1 an+2 . . . aN ] und pq = pqnn ist n-ter Näherungsbruch. Dieser Satz sagt aus, dass rs ein Näherungsbruch des Messwertes κ nach einem Lauf des Quantenalgorithmus zur Ordnungbestimmung ist, wenn nur 1 s κ − < 2 , r 2r 7 erfüllt ist. Ein Messwert κ ∈ Mr := r−1 [ s s [ − , + ] r r s=0 erfüllt diese Voraaussetzung sicher, wenn < 2M1 2 und κ > ist, denn es ist zum einen r < M und zum anderen kann rs = 0 kein Näherungsbruch sein kann. Wenn κ ∈ Mr ist, müssen die ersten K = log(2M 2 ) Dualstellen hinter dem Komma richtig sein. Dies tritt allerdings nur mit einer Wahrscheinlichkeit 1 − cos(2N +1 πδ) 1 2 q|d|≤ (δ) ≥ − 8 2N δ(1 − 2N δ) (2N −K−1 + 1) ein. In dem günstigen Fall 2N δ = 1 2 ist q|d|≤ (δ) ≥ 1 − 1 2(2N −K−1 + 1) . In jedem Fall sollte N > K = log(2M 2 ) + 1 gewält werden und diesen Wert hinreichend weit übertreffen, um diese Wahrschinlichkei zu optimieren. Für 2N δ = 21 ist bei Wahl von N = log(2M 2 ) + 7 diese Wahrscheinlichkeit schon 1 . Da die Werte s = 0, 1, 2, . . . , (r − 1) gleichverteilt sind, größer als 1 − 100 s ist für r > 0 die Wahrscheichkeit r−1 . Die Auswertung endet damit, im Fall r κ > unter Verwendung klassischer Rechner die Ornung unter den Nennern der Näherungsbrüche und deren Vielfachen zu suchen. Im Falle κ < oder vergeblicher Suche ist der Vorgang zu wiederholen. Mit Wahrscheinlichkeit 1 r−1 (1 − 100 ) wird im günstigen Fall 2N δ = 21 die Ordnung in einem einzigen r Lauf des Algorithmus bestimmt. 8