Quantum Computation: Zusammenfassung der 12. Vorlesung (06.02

Werbung
Quantum Computation:
Zusammenfassung der 12. Vorlesung (06.02.09)
2.3,2 Auswertung durch Kettenbruchentwicklung
Wie am Schluß des letzten Abschnitts angedeutet wurde, lässt sich dass
Ergebnis eines Laufs des Quantgenalgorithmus zur Ordnungsbestimmung
durch Kettenbruchentwicklung des Messergebnisses erhalten. Um dies zu
verstehen, müssen wir die Kettenbrüche etwas geneuer betrachten.
Kettenbrüche lassen sich mit reellen Zahlfolgen belibiger Länge bilden.
Hier genügt es jedoch, Kettenbrüche endlicher Länge
1
x = [a0 a1 a2 . . . aN ] := a0 +
1
a1 +
a2 +
1
···· · ···
a3 +
1
aN −1 +
aN
mit positiven Nennern, d.h. ao ∈ R, und a1 , a2 . . . . , aN ∈ R+ , sowie die
spezielleren einfachen Kettenbrüche, d.h. ao ∈ Z, und a1 , a2 . . . . , aN ∈ N zu
betrachten.. Kettenbrüche kann man abkürzen, indem man
[ao a1 a2 . . . aN ] = [ao a1 a2 . . . an−1 [an , . . . aN ]]
1
= ao +
1
a1 +
1
a2 +
···· · ···
a3 +
1
an−1 +
[an . . . aN ]
schreibt. Kettenbrüche mit positiven Nennern gehen dabei in ebensolche
über. Der Kettenbruch
a0n := [an . . . aN ]
heisst dann der n-te vollständige Nenner. Der Kettenbruch
pn
:= [a0 a1 a2 . . . an ]
qn
1
heisst der n-te Näherungsbruch von x = [a0 a1 a2 . . . aN ]. Die vorstehend
definierten Begriffe verknüpft der im folgenden Satz behauptete Algorithmus,
der auch als Euklidischer Algothmus bekannt ist:
Satz: Für Kettenbrüche gilt allgemein mit den vorstehenden Bezeichnungen
pn = an pn−1 + pn−2 ,
qn = an qn−1 + qn−2 ,
p0 = a0 , p−1 = 1, p−2 = 0;
q0 = 1, q−1 = 0, q−2 = 0.
Beweis : Es gilt
p0
a0
= ,
1
q0
1
a0 a1 + 1
a1 p0 + p−1
p1
[a0 a1 ] = a0 +
=
=
= ,
a1
a1
a1 q0 + q−1
q1
a2
a0 (a1 a2 + 1) + a2
1
= a0 +
=
[a0 a1 a2 ] = a0 +
1
a1 a2 + 1
a1 a2 + 1
a1 +
a2
(a0 a1 + 1)a2 + a0
a2 p 1 + p 0
p2
=
=
= .
a1 a2 + 1
a2 q 1 + q 0
q2
[a0 ] =
Wir machen nun die Induktionsannahme
[a0 a1 a2 . . . an ] =
pn
an pn−1 + pn−2
= .
an qn−1 + qn−2
qn
Dann folgt
[a0 a1 a2 . . . an an+1 ] = [a0 a1 a2 . . . an−1 (an +
(an +
(an +
1
)pn−1
an+1
1
)q
an+1 n−1
+ pn−2
+ qn−2
=
1
an+1
)]
(an an+1 + 1) + an+1 pn−2
(an an+1 + 1)qn−1 + an+1 qn−2
an+1 (an pn−1 + pn−2 ) + pn−1
an+1 pn + pn−1
pn+1
=
=
,
an+1 (an qn−1 + qn−2 ) + qn−1
an+1 qn + qn−1
qn+1
was die Induktionsannnahme bestätigt. Folgerungen aus diesem zentralen
Satz sind:
2
Satz: Es gilt mit den vorstehenden Bezeichnungen
pn qn−1 − pn−1 qn = (−1)n+1
oder auch
pn pn−1
(−1)n+1
−
=
.
qn
qn−1
qn−1 qn
Beweis : Für n = 0 gilt
p0 q−1 − p−1 q0 = (−1)0+1 ,
und für n = 1 gilt
p1 q0 − p0 q1 = (a1 a0 + 1)1 − a0 a1 = (−1)1+1 .
Aus der Induktionsannaahme
pn qn−1 − pn−1 qn = (−1)n+1
folgt
pn+1 qn − pn qn+1 = (an+1 pn + pn−1 )qn − pn (an+1 qn + qn−1 )
= pn−1 qn − pn qn−1 = −(−1)n+1 = (−1)(n+1)+1 ,
was die Annahme bestätigt.
Satz: Es gilt mit den vorstehenden Bezeichnungen
pn qn−2 − pn−2 qn = (−1)n an
oder auch
(−1)n an
pn pn−2
−
=
.
qn
qn−2
qn−2 qn
Beweis :
pnn qn−2 − pn−2 qn = (an pn−1 + pn−2 )qn−2 − pn−2 (an qn−1 + qn−2 )
= an (pn−1 qn−2 − pn−2 qn−1 = (−1)n an .
3
Die folgenden zwei Sätze gelten für Kettenbrüche mit positiven Nennern.
In diesem Fall gilt auch pn , qn > 0, n = 1, 2, . . . , N . Für
pn
x = [ao a1 a2 . . . aN ] sei xn =
so dass x = xN .
qn
Eine unmittelbare Folgerung aus dem oben zuerst bewiesenen Satz ist:
Satz: Mit den vorstehenden Bezeichnungen gilt für 2 < n < N
x = [ao a1 a2 . . . aN ] =
a0n pn−1 + pn−2
.
a0n qn−1 + qn−2
Mittelbar über die beiden Sätze danach erhält man für die Näherungsbrüche
xn :
Satz: Für natürliche Zahlen k gilt x2(k−1) < x2k < x so lange 2k < N ist,
und x < x2k+1 < x2(k−1)+1 so lange 2k + 1 < N ist. Je nacchdem, ob N
gerade oder ungerade ist, ist x das größte bzw. kleinste Element einer dieser
Folgen.
Für einfache Kettenbrüche ist pn , qn ∈ N, n = 1, 2, . . . , N , und es gelten
überdies die folgenden drei Sätze.
Satz: Es gilt
q0 ≤ q1 < q2 · · · < qN −1 < qN
Beweis : Da an ∈ N für n ≥ 1 und q0 = 1 ist, gilt q0 ≤ a1 q0 ≤ q1 und für
n ≥ 2 gilt
qn = an qn−1 + qn−2 ≥ qn−1 + qn−2 > qn−1 .
Satz: Es gilt
n ≤ qn ,
und n < qn
für 4 ≤ n ≤ N.
Beweis : Die Behauptung gilt für n = 0, 1 und ferner ist q2 = a2 q1 + q0 ≥
a2 + 1 ≥ 2 und q3 = a3 q2 + q1 ≥ a2 + 1 ≥ 2 ≥ 2 + 1 = 3. Schließlich ist
qn = an qn−1 + qn−2 ≥ n − 1 + n − 2 = 2n − 3 > n für n ≥ 4.
4
Satz: Für einfache Kettenbrüche gilt (pn , qn ) = 1.
Beweis: Wgen
pn qn−1 − pn−1 qn = (−1)n+1
enthält der von pn und qn erzeugte Modul ganzer Zahlen die 1 und ist deshalb
S1 . Damit sind pn und qn teilerfremd.
Der Wert eines einfachen Kettenbruuches endlicher Länge ist offenbar
stets eine rationale Zahl. Es gilt aber auch die Umkehrung dieser Implikation,
wie der folgende Satz zeigt.
Satz: Sei x ∈ Q. Dann gibt es eine natürliche Zahl N , eine ganze Zahl a0
und natürliche Zahlen an , n = 1, 2, . . . , N , so dass x = [ao a1 a2 . . . aN ] ist.
Beweis: Es gilt
x∈Q ⇒
x = a0 + ξ0 ,
1
= a1 + ξ1 ,
ξ0 6= 0 ⇒
ξ0
1
= a2 + ξ2 ,
ξ1 6= 0 ⇒
ξ1
1
= a3 + ξ3 ,
ξ2 6= 0 ⇒
ξ2
a0 ∈ Z, 0 ≤ ξ0 < 1 und falls
a1 ∈ N, 0 ≤ ξ1 < 1 und falls
a2 ∈ N, 0 ≤ ξ2 < 1 und falls
a3 ∈ N, 0 ≤ ξ3 < 1
...
Dieser “Kettenbruchalgorithmus” kann fortgesetzt werden, solange ξn 6= 0
ist und erzeugt offenbar die Nenner für den n-ten Näherungsbruch xn von
x, wenn er mit dem n-ten Schritt abgebrochen wird. Ist ξN +1 = 0, dann ist
x = [ao a1 a2 . . . aN ]. - Es bleibt zu zeigen, dass dieser Fall für x ∈ Q nach
endlich vielen Schritten eintreten muss. Dazu schreiben wir x = ka mit a ∈ Z,
k ∈ N und (a, k) = 1, dann ist
a = a0 k + ξ0 k.
Falls ξ0 6= 0 ist, dann folgt wegen a − ao k ∈ N auch k1 := ξ0 k ∈ N, so dass
mit ξ10 = kk1
k = a1 k1 + ξ1 k1 ∧ a = a0 k + k1
folgen. Falls ξ1 6= 0, dann verfährt man analog und erhält
k1 = a2 k2 + ξ2 k2
∧
5
k = a1 k 1 + k 2 −
Falls ξ2 6= 0 ist, dann verfährt man analog und erhält
k2 = a3 k3 + ξ3 k3
∧
k 1 = a2 k 2 + k 3 .
∧
kn−2 = an kn + kn+1
Solange ξn−1 6= 0 ist, hat man also
kn−1 = an kn + ξn kn
und es folgt
k > k1 > k 2 > k 2 > · · · > k n
∧
k, ki ∈ N.
Nach N Schritten, wobei N ≤ k gilt, muß also der Fall ξN +1 = 0 eintreten
und die Nenner eines einfachen Kettenbruchs endlicher Länge mit dem Wert
x = [ao a1 a2 . . . aN ] sind bestimmt.
Nun gilt für den letzten Nenner entweder aN = 1 oder aN ≥ 2. Im ersten
Fall ist
1
1
1
=
=
,
1
1
aN −1 + 1
aN −1 +
aN −1 +
aN
1
und man kann den Kettenbruch um einen Nenner verkürzen. Der letzte
Nenner ist dann größer oder gleich 2:
x = [ao a1 a2 . . . aN −1 1] = [ao a1 a2 . . . (aN −1 + 1)].
Im zweiten Fall ist
1
=
aN
1
,
1
1
und man kann den Kettenbruch um einen Nenner verlängern. Der letzte
Nenner ist dann gleich 1:
(aN − 1) +
x = [ao a1 a2 . . . aN ] = [ao a1 a2 . . . (aN − 1)1].
Es gilt also:
Satz: Sei x ∈ Q. Dann hat man entweder die Wahl, x durch einen einfachen
Kettenbruch mit gerader oder Ungerader Länge N darzustellen, oder die
Wahl, x durch einen einfachen Kettenbruch mit dem letzten Nenner gleich 1
oder größer als 1 darzustellen.
6
Wir zeigen im übernächsten Satz, dass die Darstellung von x ∈ Q durch
einen einfachen Kettenbruch bis auf diese Alternativen eindeutig ist. Die
Aussage des nächsten Satzes wird im Beweis des Eindeutigkeitssatzes verwendet.
Satz: Mit Ausnahme des Falles n = N − 1 ∧ aN = 1, in dem für den
(N − 1)-ten vollständigen Nenner [a0N −1 ] = aN −1 + 1 gilt, ist für einfache
Kettenbrüche [a0n ] = an .
Beweis: Für x ∈
/ Z gilt a0 = [x] < x
x = a00 = a0 +
1
a01
∧
a01 > a1 ∈ N . ⇒ . [a00 ] = a0 .
Für 1 ≤ n ≤ N − 2 gilt
a0n = an +
1
a0n+1
∧
a0n+1 > an+1 ∈ N . ⇒ . [a0n ] = an .
Wegen
a0N −1 = aN −1 +
1
aN
sind zwei Fälle zu unterscheiden. Falls aN > 1, dann gilt auch [a0N −1 ] = aN −1 ,
aber falls aN = 1, dann gilt [a0N −1 ] = aN −1 + 1.
Satz: Für einfache Kettenbrüche folgt aus
x = [ao a1 a2 . . . aN ] = [bo b1 b2 . . . bM ],
aN > 1, bM > 1,
dass N = M und an = bn , n = 0, 2, 3, . . . , N .
Beweis: Es gilt [x] = a0 = b0 . Dann gilt auch x = a0 + a10 = a0 + b10 und
1
1
damit a01 = b01 und [a01 ] = [b01 ], so dass nach dem vorstehenden Satz a1 = b1
folgt. Aus der Induktionsannahme ak = bk für k = 3, 4, . . . , n folgt
x = [ao a1 dotsan−1a0n ] = [bo a1 a2 . . . an−1 b0n ],
d.h.
x=
b0 pn−1 + pn−2
a0n pn−1 + pn−2
= n0
.
an qn−1 + qn−2
bn qn−1 + qn−2
7
Der Zähler der Differenz dieser Ausdrücke verschwindet also, d.h.
0 = (a0n pn−1 + pn−2 )(b0n qn−1 + qn−2 ) − (b0n pn−1 + pn−2 )(a0n qn−1 + qn−2 )
= a0n pn−1 qn−2 + pn−2 b0n qn−1 − (b0n pn−1 qn−2 + pn−2 a0n qn−1 )
= (a0n − b0n )(pn−1 qn−2 − pn−2 qn−1 ) = (a0n − b0n )(−1)n .
Damit ist a0n = b0n und auf Grund des vorstehenden Satzes folgt an = bn ,
was die Induktionsannahme bestätigt. Man bemerke, dass ie Voraussetzng
an , bn > 1 den Ausnahmefall für n = N − 1 ausschliet. Die Gleichheit der
Nenner gilt also für n ≤ N , falls o.B.d.A. fN ≤ M angenommen wird. - Die
Annahme N < M führt zum Widerspruch, denn aus
x=
b0 +1 pN + pN −1
pN
= N
qN
b0N +1 qN + qN −1
folgt
0 = qN (b0N +1 pN + pN −1 ) − pN (b0N +1 qN + qN −1 ) = qN pN −1 − qN −1 PN = (−1)N .
8
Herunterladen