08. Kresy
Treści kształcenia. Szkic teorii aksjomatycznej liczb rzeczywistych, w tym kresy.
Efekty kształcenia: Student potrafi wyznaczać kresy ograniczonych podzbiorów zbioru liczb rzeczywistych.
Wstęp¶
W trakcie omawiania aksjomatyki liczb rzeczywistych poznaliśmy aksjomat ciągłości oraz wiele jego konsekwencji. Przypomnijmy jego treść.
Aksjomat ciągłości¶
Każdy niepusty, ograniczony z góry podzbiór ma kres górny .
W pierwszym kroku przybliżymy pojęcie kresu górnego (i dolnego), pojawiające się w powyższym sformułowaniu.
Definicja. Liczbę nazywamy ograniczeniem górnym (dolnym) zbioru , jeśli dla każdego zachodzi nierówność
Jeśli zbiór posiada ograniczenie górne (dolne), to mówimy, że jest on ograniczony z góry (z dołu).
O zbiorze mówimy, że jest ograniczony, jeśli posiada ograniczenie górne oraz dolne.
Zbiór liczb naturalnych nie jest ograniczony. Posiada jednak ograniczenie dolne (np. ). Zbiory i nie są ograniczone, nie mają także ograniczeń górnych ani dolnych. Zbiorem ograniczonym jest dowolny przedział , dla .
Zadanie 1¶
Które z poniższych zbiorów są ograniczone (z góry, z dołu):
Zbiór rozwiązań równania
Zbiór rozwiązań równania
gdzie p jest pewnym wielomianem.
Zbiór wartości funkcji wykładniczej.
Zbiór wartości funkcji .
Zadanie 2¶
Zbadać ograniczoność zbioru w zależności od parametrów .
Zdefiniujemy teraz pojęcia kresu górnego i dolnego.
Definicja. Liczbę nazywamy kresem górnym zbioru , jeśli:
jest ograniczeniem górnym zbioru .
Dla dowolnego istnieje takie, że .
Podobnie definiujemy kres dolny.
Liczbę nazywamy kresem dolnym zbioru , jeśli:
jest ograniczeniem dolnym zbioru .
Dla dowolnego istnieje takie, że .
Innymi słowy, kres górny danego zbioru jest jego najmniejszym ograniczeniem górnym, zaś kres dolny jest jego największym ograniczeniem dolnym. Kres górny zbioru oznaczać będziemy przez , zaś kres dolny przez .
Z aksjomatu kresu górnego wynika, że kres górny (dolny) niepustego zbioru ograniczonego z góry (z dołu) jest liczbą rzeczywistą. Albo inaczej - istnieje zawsze liczba rzeczywista, która jest kresem górnym (dolnym) niepustego zbioru ograniczonego z góry (z dołu). Tej własności nie ma zbiór liczb wymiernych, aby się o tym przekonać, wystarczy rozważyć ciąg przybliżeń dowolnej liczby niewymiernej.
Zauważmy, że sama liczba (rzeczywista) będąca kresem (górnym czy dolnym) zbioru może być elementem tego zbioru bądź nie należeć do zbioru . Gdy jest zbiorem nieograniczonym, nieograniczonym z góry lub nieograniczonym z dołu, wtedy (odpowiedni) kres nie istnieje.
W praktyce definicja nie dostarcza jakiegoś uniwersalnego algorytmu wyznaczania kresów, pokazuje jedynie, w jaki sposób sprawdzić, czy dana liczba rzeczywiście jest kresem.
Przykład¶
Wyznaczyć kresy zbioru .
Widzimy, że kolejne elementy zbioru są wyrazami dobrze znanego ze szkoły malejącego (i zbieżnego do 0) ciągu . Chociaż zbiór jest prosto zdefiniowany i prawdopodobnie przeczuwamy, które liczby są jego kresem dolnym i górnym, spróbujmy napisać prostą funkcję, która sprawdzi (dla “uciętego” zbioru), czy dana liczba jest jego ograniczeniem górnym lub dolnym. Oczywiście nie ma powodu, by takiej funkcji bezgranicznie ufać, zawsze bowiem będziemy operowali niepełnym zbiorem . Może to być dla nas jednak pewna sugestia.
def up_low_function(A,uper_bound, lower_bound):
for a in A:
if a > uper_bound:
print(f'Podany zbiór nie jest ograniczony z góry przez liczbę {uper_bound}.')
break
else:
print(f'Liczba {uper_bound} jest ograniczeniem górnym danego zbioru.')
for a in A:
if a < lower_bound:
print(f'Podany zbiór nie jest ograniczony z dołu przez liczbę {lower_bound}.')
break
else:
print(f'Liczba {lower_bound} jest ograniczeniem dolnym danego zbioru.')A = []
for i in range(1,1000000):
a_n = 1/i
A.append(a_n)
up_low_function(A,0.9,0.00000001) Podany zbiór nie jest ograniczony z góry przez liczbę 0.9.
Liczba 1e-08 jest ograniczeniem dolnym danego zbioru.
Po kilku wywołaniach funkcji z różnymi argumentami (powyżej pokazano jedno z nich) widzimy, że liczby 10, 2, 1 są ograniczeniami górnymi zbioru . Nie jest ograniczeniem górnym żadna liczba mniejsza niż 1, bo . Wszystko wskazuje zatem, że liczba 1 jest kresem górnym danego zbioru. Istotnie tak jest.
Sytuacja jest nieco inna w przypadku ograniczenia dolnego. Każda liczba ujemna oraz zero zostały “uznane” przez naszą funkcję jako ograniczenia dolne. Zauważmy jednak, że liczba 10-8 też została za takie ograniczenie uznana. Tymczasem przyjmując otrzymujemy, że
co oznacza, że 10-8 nie jest ograniczeniem zbioru . Tak więc nie możemy bezgranicznie ufać temu, co zwróci nasz naiwny algorytm. Może być to jednak dla nas dobra sugestia.
Spróbujmy zatem formalnie udowodnić, że , . Ponieważ implikuje , więc liczba 1 jest ograniczeniem górnym zbioru . Ponieważ , jest to najmniejsze ograniczenie górne, czyli .
Pokażmy teraz, że . Ponieważ każdy element zbioru jest dodatni jako iloraz dwóch liczb dodatnich, 0 jest ograniczeniem dolnym zbioru .
Z zasady Archimedesa wynika, że dla dowolnego istnieje takie, że . Zatem liczba 0 spełnia drugi warunek z definicji kresu dolnego. Ostatecznie mamy .
Korzystając z monotoniczności ciągu definiującego zbiór możemy wprost wskazać zależność między , a tymi liczbami , dla których . Spełniają one nierówność .
Zadanie 3¶
Wyznaczyć kresy następujących zbiorów:
,
,
.
W przykładze pierwszym obie liczby i są dodatnie, więc iloraz też jest dodatni, 0 jest zatem ograniczeniem dolnym. Licznik jest mniejszy niż mianownik w wyrażeniu , całe wyrażenie jest więc ograniczone z góry przez 1.
Ustalając wyrażenie przyjmie postać . Korzystając z poprzedniego przykładu łatwo uzasadniamy, że .
Zastanówmy się, czy ograniczenie górne równe 1 może być optymalne (najmniejsze). Tym razem ustalając , a zmieniając dowolnie otrzymujemy elementy postaci . Już wiemy (zasada Archimedesa), że wyrażenie może być dowolnie małe, tzn. dla dowolnego ustalonego istnieje takie, że . A zatem dla dowolnego istnieje takie, że , co oznacza, że .
A = []
for n in range(1,1000):
for k in range(1,1000):
a = n/(n+k)
A.append(a)
up_low_function(A, 0.99, 0.01)Podany zbiór nie jest ograniczony z góry przez liczbę 0.99.
Podany zbiór nie jest ograniczony z dołu przez liczbę 0.01.
up_low_function(A, 1, 0)Liczba 1 jest ograniczeniem górnym danego zbioru.
Liczba 0 jest ograniczeniem dolnym danego zbioru.
Spróbujmy wyznaczyć kresy zbioru . Widzimy, że elementy tego zbioru otrzymujemy biorąc kolejne przybliżenia dziesiętne liczby . Spróbujmy zapisać liczbę w postaci ułamka zwykłego. Korzystając z faktu, że liczbę możemy zapisać w postaci sumy szeregu geometrycznego o ilorazie oraz pierwszym wyrazie równym , mamy
Jest oczywistym, że liczba ta jest ograniczeniem górnym zbioru i nie może być ono mniejsze. Zatem . Jest oczywiste, że .
A = [0.8]
a = 0.8
q = 0.1
for i in range(1,100):
a += 0.8 * 0.1**i
A.append(a)
up_low_function(A, 0.8888889, 0.8) Liczba 0.8888889 jest ograniczeniem górnym danego zbioru.
Liczba 0.8 jest ograniczeniem dolnym danego zbioru.
up_low_function(A, 0.8888888, 0.81)Podany zbiór nie jest ograniczony z góry przez liczbę 0.8888888.
Podany zbiór nie jest ograniczony z dołu przez liczbę 0.81.
Ostatni przykład jest bardzo podobny do dwóch pozostałych, więc rachunki pozostawiamy do samodzielnego rozwiązania.