Aproksymacja diofantyczna

Komentarze

Transkrypt

Aproksymacja diofantyczna
Aproksymacja diofantyczna
Szymon Draga
Ustroń, 24 listopada 2012 r.
Wprowadzenie
Jak wiadomo, każdą liczbę niewymierną można (z dowolną dokładnością) aproksymować
liczbami wymiernymi. Powstaje pytanie, w jaki sposób przybliżyć ją w miarę dokładnie?
Pierwszą nasuwającą się myślą są przybliżenia dziesiętne, które jednak są stosunkowo niedokładne. Na przykład, 22
jest lepszym przybliżeniem liczby π niż 3, 14. W poniższym referacie
7
odpowiemy na wcześniej zadane pytanie, wprowadzając tzw. ułamki łańcuchowe.
Skończone ułamki łańcuchowe
Definicja 1. Skończonym ułamkiem łańcuchowym nazywamy wyrażenie
[a0 ; a1 , . . . , an ] = a0 +
1
a1 +
1
···+ a1
,
(1)
n
gdzie a0 jest liczbą całkowitą, zaś a1 , . . . , an są liczbami naturalnymi.
Uwaga. Na ogół w powyższej definicji od liczb a0 , a1 , . . . , an nie wymaga się, aby były całkowite; jedynie zakłada się, że a1 , . . . , an > 0. Wówczas ułamek łańcuchowy zdefiniowany jak
wyżej nazywa się ułamkiem łańcuchowym prostym lub arytmetycznym.
Twierdzenie 2. Każdy skończony ułamek łańcuchowy jest liczbą wymierną; na odwrót, każdą
liczbę wymierną można przedstawić w postaci skończonego ułamka łańcuchowego (na dokładnie dwa sposoby).
Dowód. Pierwsza część twierdzenia to prosta indukcja, zaś druga część wynika z algorytmu
Euklidesa.
1
Przykład 3. Rozwiniemy w ułamek łańcuchowy liczbę
44
2
1
1
=6+ =6+ 7 =6+
7
7
3+
2
lub
1
44
=6+
7
3+
1
2
=
44
.
7
1
2
Mamy
= [6; 3, 2]
1
= [6; 3, 1, 1].
3 + 1+1 1
1
Przypuśćmy teraz, że dany jest ułamek łańcuchowy w postaci (1). Wprowadzimy następujące
oznaczenia
P0 = a0 , P1 = a0 a1 + 1 i Pk+1 = ak+1 Pk + Pk−1 dla k ∈ {1, . . . , n − 1}
oraz
Q0 = 1, Q1 = a1
i Qk+1 = ak+1 Qk + Qk−1 dla k ∈ {1, . . . , n − 1}.
Indukcyjnie można wykazać, że wówczas
[a0 ; a1 , . . . , ak ] =
Pk
Qk
(2)
Pk
nazywamy k-tym reduktem ułamka łańcuchowego (1). Na
dla k ∈ {0, 1, . . . , n}; ułamek Q
k
zakończenie tej części zauważmy jeszcze, że (o ile n > 0)
0 < [0; a1 , . . . , an ] ¬ 1.
Nieskończone ułamki łańcuchowe
Definicja 4. Nieskończonym ułamkiem łańcuchowym nazywamy wyrażenie
[a0 ; a1 , a2 , . . .] = lim [a0 ; a1 , . . . , an ],
n→∞
(3)
gdzie a0 jest liczbą całkowitą, zaś a1 , a2 , . . . są liczbami naturalnymi.
Uwaga. Granica występująca w równości (3) zawsze istnieje.
Dowód. Pokażemy, że ciąg ([a0 ; a1 , . . . , an ])∞
n=1 spełnia warunek Cauchy’ego. Pozostając przy
oznaczeniach z poprzedniej części, nietrudno indukcyjnie sprawdzić, że dla wszelkich n ∈ N
2
mamy Qn ­ n oraz Pn+1 Qn − Pn Qn+1 = (−1)n . Zatem
|[a0 ; a1 , . . . , am+n ] − [a0 ; a1 , . . . , am ]| =
¬
m+n−1
X k=m
<
Pk+1
Qk+1
P
m+n
Qm+n
Pm ¬
−
Qm m+n−1
X
X
1
Pk m+n−1
1
=
−
¬
<
Qk
k=m Qk Qk+1
k=m k(k + 1)
∞
X
1
1
=
m
k=m k(k + 1)
dla wszelkich m, n ∈ N.
Lemat 5. Jeżeli a1 , a2 , . . . są liczbami naturalnymi, to
0 < [0; a1 , a2 , . . .] < 1.
Dowód. Przechodząc z n do nieskończoności w nierówności
0 < a1 < [a1 ; a2 , . . . , an ],
otrzymujemy
0 < a1 ¬ [a1 ; a2 , a3 , . . .],
skąd
1
= [0; a1 , a2 , . . .].
[a1 ; a2 , a3 , . . .]
Z drugiej strony, przechodząc z n do nieskończoności w nierówności
0<
[0; a1 , . . . , an ] ¬
1
,
a1 + a21+1
otrzymujemy
[0; a1 , a2 , . . .] ¬
1
< 1.
a1 + a21+1
Twierdzenie 6. Każdy nieskończony ułamek łańcuchowy jest liczbą niewymierną; na odwrót, każdą liczbę niewymierną można (jednoznacznie) przedstawić w postaci nieskończonego
ułamka łańcuchowego.
Dowód. Niech α = [a0 ; a1 , a2 , . . .] będzie nieskończonym ułamkiem łańcuchowym. Przypuśćmy nie wprost, że α jest liczbą wymierną. Na mocy twierdzenia 2 istnieją takie liczy b0 ∈ Z
oraz b1 , . . . , bN ∈ N, że α = [b0 ; b1 , . . . , bN ]. Mamy
a0 − b 0 =
1
1
−
∈ (−1, 1),
[a1 ; a2 , a3 , . . .] [b1 ; b2 , . . . , bN ]
3
skąd a0 = b0 , a w konsekwencji
[a1 ; a2 , a3 , . . .] = [b1 ; b2 , . . . , bN ].
Kontynuując to rozumowanie, otrzymujemy
[aN ; aN +1 , aN +2 , . . .] = [bN ; ] = bN ,
co jest niemożliwe.
Dla dowodu drugiej części twierdzenia, załóżmy, że α jest liczbą niewymierną. Zdefiniujmy
∞
ciągi (αn )∞
n=0 oraz (an )n=0 wzorami
α0 = α i αn =
1
dla n ∈ N
{αn−1 }
oraz
an = bαn c dla n ∈ N ∪ {0}.
Można wykazać (zobacz [1] lub [2]), że
α = [a0 ; a1 , a2 , . . .].
Jednoznaczności dowodzimy, rozumując podobnie jak w pierwszej części dowodu.
Aproksymowanie liczb rzeczywistych
Tę część rozpoczniemy od podania trzech twierdzeń dotyczących przybliżania liczb rzeczywistych przez ułamki łańcuchowe. Dowody tych twierdzeń pominiemy, można je znaleźć w [1].
P
Twierdzenie 7 (charakteryzacja reduktów ułamka łańcuchowego). Liczba wymierna Q
,
Q ∈ N, NWD(P, Q) = 1, jest reduktem rozwinięcia liczby rzeczywistej α w ułamek łańcuchowy wtedy i tylko wtedy, gdy jest ona jej najlepszym przybliżeniem, tzn. dla dowolnej
P0
0
liczby wymiernej Q
0 , Q ∈ N, zachodzi implikacja
0
Q < Q =⇒
α −
P P 0 < α − 0 .
Q Q
Pk
Twierdzenie 8. Jeżeli Q
, NWD(Pk , Qk ) = 1, k ∈ N, jest k-tym reduktem rozwinięcia liczby
k
rzeczywistej α w ułamek łańcuchowy, to dla każdej liczby naturalnej n zachodzi oszacowanie
α −
Pn 1
.
<
Qn
Qn Qn+1
4
Twierdzenie 9 (Hurwitza). Jeżeli α jest liczbą niewymierną, to istnieje nieskończenie wiele
P
takich liczb wymiernych Q
, że
P 1
α − < √
;
Q
5Q2
każda z nich jest reduktem rozwinięcia liczby α w ułamek łańcuchowy.
Referat zakończymy prostym przykładem ilustrującym przedstawioną teorię.
Przykład 10. Korzystając
z algorytmu podanego w dowodzie twierdzenia 6, rozwiniemy
√
w ułamek łańcuchowy 2. Mamy
√
√
α0 = 2
a0 = b 2c = 1
√
√
1
= 2+1
a1 = b 2 + 1c = 2
α1 = √
2−1
√
√
1
α2 = √
a1 = b 2 + 1c = 2,
= 2+1
2−1
..
..
.
.
zatem
√
2 = [1; 2, 2, . . .] = 1 +
1
2+
1
.
1
2+ 2+...
Zaś korzystając ze spostrzeżenia (2), wyznaczymy ciąg najlepszych przybliżeń
√
2:
3 7 17 41 99 239
, ,
,
,
,
,....
2 5 12 29 70 169
Dokładność kolejnych przybliżeń można oszacować z twierdzenia 8, na przykład
√
99 1
2−
< 10−4 .
<
70
70 · 169
Uwaga. Zauważmy, że rozwinięcie z powyższego przykładu jest okresowe; to nie przypadek.
Okazuje się bowiem, że liczba niewymierna ma okresowe rozwinięcie w ułamek łańcuchowy
wtedy i tylko wtedy, gdy jest ona pierwiastkiem równania kwadratowego o współczynnikach
całkowitych.
1,
Literatura
[1] Władysław Narkiewicz: Teoria liczb. Wyd. 3. Warszawa, PWN, 2003.
[2] Song Y. Yan: Teoria liczb w informatyce. Warszawa, PWN, 2006.
5