Quantum Computation: Zusammenfassung der 13. Vorlesung (13.02

Werbung
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
Herunterladen