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