Granica i ciągłość odwzorowań

Streszczenie

Granica funkcji w ujęciu Cauchy'ego (epsilon-delta) i Heinego (ciągowym) wraz z dowodem ich równoważności, granice jednostronne, ciągłość i jej rodzaje nieciągłości, złożenie funkcji ciągłych, a następnie trzy filary analizy na przedziale domkniętym: twierdzenie Weierstrassa o osiąganiu kresów, twierdzenie Darboux o wartości pośredniej i jednostajna ciągłość (Heine-Cantor). Każde twierdzenie z dowodem i rysunkiem.

Ciągłość to matematyczne ujęcie intuicji, że „małej zmianie wejścia odpowiada mała zmiana wyjścia” — wykres da się narysować bez odrywania ołówka. To pojęcie spina ze sobą poprzednie rozdziały: granicę funkcji zdefiniujemy zarówno językiem epsilon-delta (Cauchy), jak i językiem ciągów (Heine), i udowodnimy, że to dwa oblicza tej samej idei. Następnie zobaczymy, dlaczego funkcje ciągłe na przedziale domkniętym są tak wyjątkowe: osiągają swoje kresy (Weierstrass), przyjmują każdą wartość pośrednią (Darboux) i są jednostajnie ciągłe (Heine-Cantor). Te trzy twierdzenia to fundament optymalizacji i numerycznego rozwiązywania równań.

Granica funkcji w punkcie

Definicja
Granica funkcji — definicja Cauchy'ego (epsilon-delta)

Niech $f$ będzie określona w pewnym sąsiedztwie punktu $x_0$. Mówimy, że $\lim_{x\to x_0} f(x)=g$, gdy

$$ \forall_{\varepsilon\gt 0}\;\exists_{\delta\gt 0}\;\forall_{x}\;\big(0\lt|x-x_0|\lt\delta \;\Rightarrow\; |f(x)-g|\lt\varepsilon\big). $$

Czyli: dowolnie ciasny pas $(g-\varepsilon,g+\varepsilon)$ wokół wartości granicznej da się „wymusić”, biorąc $x$ dostatecznie blisko $x_0$ (lecz różne od niego).

Prostokąt epsilon-delta wokół granicy funkcji
Definicja epsilon-delta: dla pasa $(g-\varepsilon,g+\varepsilon)$ na osi wartości znajdujemy przedział $(x_0-\delta,x_0+\delta)$ na osi argumentów taki, że cały wykres nad nim wpada do pasa. Wartość w samym $x_0$ jest nieistotna.
Definicja
Granica funkcji — definicja Heinego (ciągowa)
$\lim_{x\to x_0} f(x)=g$ wtedy i tylko wtedy, gdy dla każdego ciągu argumentów $x_n\to x_0$ (przy $x_n\ne x_0$) odpowiadający mu ciąg wartości spełnia $f(x_n)\to g$. Granica funkcji sprowadza się więc do granic ciągów — narzędzia z rozdziału 3.
Twierdzenie
Równoważność definicji Cauchy'ego i Heinego
Obie definicje granicy funkcji są równoważne: opisują to samo $g$.
Dowód
Cauchy ⇔ Heine
  1. (Cauchy ⇒ Heine). Załóżmy warunek epsilon-delta i weźmy dowolny ciąg $x_n\to x_0$, $x_n\ne x_0$. Dla danego $\varepsilon$ mamy $\delta$ jak w definicji. Skoro $x_n\to x_0$, od pewnego $N$ zachodzi $0\lt|x_n-x_0|\lt\delta$, a wtedy $|f(x_n)-g|\lt\varepsilon$. Zatem $f(x_n)\to g$.
  2. (Heine ⇒ Cauchy), nie wprost. Przypuśćmy, że warunek Cauchy'ego **nie** zachodzi. Znaczy to, że dla pewnego $\varepsilon_0\gt 0$ przy **każdym** $\delta$ istnieje punkt łamiący implikację.
  3. Budowa ciągu kontrprzykładu. Bierzemy kolejno $\delta=\tfrac1n$ i dostajemy $x_n$ z $0\lt|x_n-x_0|\lt\tfrac1n$, lecz $|f(x_n)-g|\ge\varepsilon_0$. Wtedy $x_n\to x_0$, ale $f(x_n)\not\to g$.
  4. Sprzeczność. To przeczy założeniu Heinego (że dla każdego ciągu $f(x_n)\to g$). Zatem warunek Cauchy'ego musi zachodzić. $\;$
Ciąg argumentów zbiegający do x0 i odpowiadający ciąg wartości zbiegający do g
Definicja Heinego: jakkolwiek dobierzemy ciąg argumentów $x_n\to x_0$, ciąg wartości $f(x_n)$ ma zmierzać do tej samej liczby $g$. Równoważność z epsilon-delta łączy granicę funkcji z teorią ciągów.
Definicja
Granice jednostronne
Granica lewostronna $\lim_{x\to x_0^-} f(x)$ powstaje przez ograniczenie do $x\lt x_0$, a prawostronna $\lim_{x\to x_0^+} f(x)$ — do $x\gt x_0$. Granica (obustronna) istnieje wtedy i tylko wtedy, gdy obie jednostronne istnieją i są równe.
Różne granice lewostronna i prawostronna w punkcie
Granice jednostronne: gdy podchodzimy od lewej, wartości dążą do innej liczby niż od prawej. Skok między nimi oznacza, że granica obustronna nie istnieje — kluczowy mechanizm nieciągłości skokowej.

Ciągłość i jej brak

Definicja
Ciągłość funkcji
Funkcja $f$ jest ciągła w punkcie $x_0$, gdy jest w nim określona oraz $\lim_{x\to x_0} f(x)=f(x_0)$. Funkcja jest ciągła na zbiorze, gdy jest ciągła w każdym jego punkcie. Równoważnie (epsilon-delta): $\forall_{\varepsilon\gt 0}\,\exists_{\delta\gt 0}\,\forall_x\,\big(|x-x_0|\lt\delta\Rightarrow|f(x)-f(x_0)|\lt\varepsilon\big)$.
Funkcja ciągła przechodząca przez punkt bez przerwy
Ciągłość w $x_0$: granica funkcji istnieje i równa się wartości $f(x_0)$ — wykres przechodzi przez punkt bez przerwy ani skoku. Pas $\varepsilon$ wymusza pas $\delta$ tak jak w granicy, ale teraz uwzględniamy też sam punkt $x_0$.

Nieciągłości dzielimy na trzy typy — warto je rozpoznawać.

Nieciągłość skokowa z dwoma różnymi granicami jednostronnymi
Nieciągłość skokowa (pierwszego rodzaju): obie granice jednostronne istnieją, ale są różne. Wykres „przeskakuje” o stałą wysokość — typowe dla funkcji progowych i wskaźnikowych.
Nieciągłość usuwalna z brakującym punktem na wykresie
Nieciągłość usuwalna: granica istnieje, lecz wartość w punkcie jej nie dorównuje (albo nie jest określona). Wystarczy „dorysować” brakujący punkt, by przywrócić ciągłość — stąd nazwa.
Nieciągłość drugiego rodzaju z nieskończoną oscylacją
Nieciągłość drugiego rodzaju: choć jedna z granic jednostronnych nie istnieje. Tu $\sin\tfrac1x$ oscyluje coraz szybciej przy $x\to 0$ — wartości nie zbiegają do niczego.
Twierdzenie
Działania i złożenie funkcji ciągłych
Suma, różnica, iloczyn i (przy niezerowym mianowniku) iloraz funkcji ciągłych są ciągłe. Ponadto złożenie funkcji ciągłych jest ciągłe: jeśli $f$ jest ciągła w $x_0$, a $g$ — w $f(x_0)$, to $g\circ f$ jest ciągła w $x_0$.
Dowód
Złożenie funkcji ciągłych jest ciągłe
  1. Cel. Dla $\varepsilon\gt 0$ znaleźć $\delta\gt 0$ takie, że $|x-x_0|\lt\delta$ daje $|g(f(x))-g(f(x_0))|\lt\varepsilon$.
  2. Ciągłość $g$ w $y_0=f(x_0)$. Istnieje $\eta\gt 0$ takie, że $|y-y_0|\lt\eta$ pociąga $|g(y)-g(y_0)|\lt\varepsilon$.
  3. Ciągłość $f$ w $x_0$ dla progu $\eta$. Do tego $\eta$ dobieramy $\delta\gt 0$ takie, że $|x-x_0|\lt\delta$ daje $|f(x)-f(x_0)|\lt\eta$.
  4. Połączenie. Wtedy dla $|x-x_0|\lt\delta$ mamy $|f(x)-y_0|\lt\eta$, a stąd $|g(f(x))-g(y_0)|\lt\varepsilon$. To jest ciągłość $g\circ f$. $\;$
Łańcuch progów epsilon-eta-delta w dowodzie ciągłości złożenia
Złożenie $g\circ f$ jest ciągłe: próg $\varepsilon$ na wyjściu $g$ przekładamy najpierw na próg $\eta$ na wejściu $g$ (czyli wyjściu $f$), a ten — przez ciągłość $f$ — na próg $\delta$ na wejściu. Łańcuch progów domyka się.

Funkcje ciągłe na przedziale domkniętym

Na przedziale domkniętym i ograniczonym $[a,b]$ (zbiorze zwartym) ciągłość ma trzy spektakularne konsekwencje.

Twierdzenie
Twierdzenie Weierstrassa o osiąganiu kresów
Funkcja ciągła na przedziale domkniętym $[a,b]$ jest ograniczona i osiąga swoje kresy: istnieją punkty $x_{\min},x_{\max}\in[a,b]$, w których $f$ przyjmuje wartość najmniejszą i największą.
Dowód
Ograniczoność i osiąganie maksimum
  1. Ograniczoność. Gdyby $f$ była nieograniczona, istniałyby $x_n\in[a,b]$ z $|f(x_n)|\to\infty$. Ciąg $(x_n)$ jest ograniczony, więc z twierdzenia **Bolzana-Weierstrassa** ma podciąg $x_{n_k}\to c$, przy czym $c\in[a,b]$ (przedział domknięty). Z ciągłości $f(x_{n_k})\to f(c)$ — liczba skończona, sprzeczność z $|f(x_{n_k})|\to\infty$.
  2. Kres jest skończony. Skoro $f$ jest ograniczona, zbiór wartości ma kres górny $M=\sup_{[a,b]} f$.
  3. Kres jest osiągany. Z definicji kresu istnieje ciąg $x_n$ z $f(x_n)\to M$. Z Bolzana-Weierstrassa wybieramy podciąg $x_{n_k}\to x_{\max}\in[a,b]$. Z ciągłości $f(x_{\max})=\lim f(x_{n_k})=M$.
  4. Minimum. Stosujemy ten sam argument do $-f$ (albo do kresu dolnego). $\;$
Funkcja ciągła osiągająca maksimum i minimum na przedziale domkniętym
Twierdzenie Weierstrassa: funkcja ciągła na $[a,b]$ rzeczywiście dotyka swoich poziomów $M$ (maksimum) i $m$ (minimum) w pewnych punktach przedziału. Domkniętość końców jest tu niezbędna — na $(a,b)$ kres mógłby uciekać.
Twierdzenie
Twierdzenie Darboux o wartości pośredniej
Jeśli $f$ jest ciągła na $[a,b]$, to przyjmuje każdą wartość pośrednią między $f(a)$ i $f(b)$: dla dowolnego $y$ leżącego między $f(a)$ a $f(b)$ istnieje $c\in[a,b]$ z $f(c)=y$.
Dowód
Wartość pośrednia przez kres
  1. Ustawienie. Bez utraty ogólności $f(a)\lt y\lt f(b)$. Rozważmy zbiór $A=\{x\in[a,b] : f(x)\lt y\}$. Jest niepusty ($a\in A$) i ograniczony, więc ma kres górny $c=\sup A$.
  2. Nie może być $f(c)\lt y$. Gdyby $f(c)\lt y$, to z ciągłości $f$ pozostawałaby poniżej $y$ także na prawo od $c$, więc istniałyby punkty zbioru $A$ większe od $c$ — sprzeczność z tym, że $c$ jest kresem górnym.
  3. Nie może być $f(c)\gt y$. Gdyby $f(c)\gt y$, to z ciągłości $f\gt y$ także w lewostronnym otoczeniu $c$, więc $c$ nie byłby kresem górnym zbioru, w którym $f\lt y$ (kres dałoby się obniżyć).
  4. Wniosek. Zostaje $f(c)=y$. Funkcja ciągła nie może „przeskoczyć” wartości pośredniej. $\;$
Pozioma prosta wartości pośredniej przecinająca wykres funkcji ciągłej
Twierdzenie Darboux: pozioma prosta $y$ między $f(a)$ a $f(b)$ musi przeciąć wykres ciągłej funkcji co najmniej raz. Stąd najważniejszy wniosek praktyczny: jeśli $f(a)$ i $f(b)$ mają różne znaki, między $a$ a $b$ leży miejsce zerowe.
Przykład
Lokalizacja miejsca zerowego (metoda połowienia)
Jeśli $f$ jest ciągła i $f(a)\cdot f(b)\lt 0$, to z twierdzenia Darboux istnieje pierwiastek w $(a,b)$. Połowiąc przedział i wybierając tę połowę, na której końcach znaki są przeciwne, zacieśniamy przedział o połowę w każdym kroku — to algorytm bisekcji, stojący za funkcjami uniroot i brentq.
Kolejne połowienia przedziału lokalizujące miejsce zerowe
Metoda bisekcji: przeciwne znaki $f(a)$ i $f(b)$ gwarantują pierwiastek; połowimy przedział i zatrzymujemy tę połowę, na której znak się zmienia. Długość przedziału maleje jak $2^{-k}$, więc pierwiastek lokalizujemy z dowolną dokładnością.
Twierdzenie
Jednostajna ciągłość (Heine-Cantor)

Funkcja ciągła na przedziale domkniętym $[a,b]$ jest na nim jednostajnie ciągła: jedno $\delta$ działa dla wszystkich punktów naraz,

$$ \forall_{\varepsilon\gt 0}\;\exists_{\delta\gt 0}\;\forall_{x,x'}\;\big(|x-x'|\lt\delta\Rightarrow|f(x)-f(x')|\lt\varepsilon\big). $$
Dowód
Heine-Cantor (nie wprost, przez Bolzana-Weierstrassa)
  1. Zaprzeczenie. Gdyby $f$ nie była jednostajnie ciągła, istniałoby $\varepsilon_0\gt 0$ takie, że dla każdego $\delta=\tfrac1n$ znaleźlibyśmy parę $x_n,x_n'$ z $|x_n-x_n'|\lt\tfrac1n$, lecz $|f(x_n)-f(x_n')|\ge\varepsilon_0$.
  2. Wybór podciągu. Ciąg $(x_n)$ jest ograniczony, więc z Bolzana-Weierstrassa ma podciąg $x_{n_k}\to c\in[a,b]$. Ponieważ $|x_n-x_n'|\to 0$, także $x_{n_k}'\to c$.
  3. Sprzeczność z ciągłością. Z ciągłości w $c$: $f(x_{n_k})\to f(c)$ oraz $f(x_{n_k}')\to f(c)$, więc $|f(x_{n_k})-f(x_{n_k}')|\to 0$. To przeczy nierówności $\ge\varepsilon_0$.
  4. Wniosek. Założenie o braku jednostajnej ciągłości jest fałszywe. Zwartość przedziału jest tu kluczowa. $\;$
Jednakowe okna delta na całym przedziale kontra zageszczenie przy zerze
Jednostajna ciągłość: ta sama szerokość $\delta$ kontroluje wahania $f$ na całym przedziale (oba zaznaczone „okienka” $\delta\times\varepsilon$ są jednakowe). Funkcja $\tfrac1x$ na $(0,1]$ tego nie spełnia — przy $x\to 0$ wymaga coraz mniejszego $\delta$.

Odwzorowania wektorowe i ujęcie topologiczne

Twierdzenie
Ciągłość odwzorowań wektorowych
Odwzorowanie $\mathbf{f}\colon\mathbb{R}^n\to\mathbb{R}^m$, $\mathbf{f}=(f_1,\dots,f_m)$, jest ciągłe wtedy i tylko wtedy, gdy ciągła jest każda funkcja współrzędna $f_i$. Ponadto $\mathbf{f}$ jest ciągła w $x_0$ dokładnie wtedy, gdy przeciwobraz każdego zbioru otwartego jest otwarty.
Ciągła krzywa jako obraz odwzorowania wektorowego o dwóch współrzędnych
Ciągłość odwzorowania wektorowego $\mathbf{f}=(f_1,f_2)$ sprowadza się do ciągłości obu współrzędnych. Gdy argument przebiega gładko przedział, obraz kreśli ciągłą krzywą na płaszczyźnie — bez skoków na żadnej osi.
Przeciwobraz zbioru otwartego jako zbiór otwarty na osi argumentów
Topologiczne ujęcie ciągłości: przeciwobraz $f^{-1}(V)$ zbioru otwartego $V$ (pasa wartości) jest zbiorem otwartym argumentów. To definicja ciągłości niewymagająca odległości — uogólnia się na dowolne przestrzenie topologiczne.

Podsumowanie

Granicę funkcji ujęliśmy dwojako — przez epsilon-delta (Cauchy) i przez ciągi (Heine) — i udowodniliśmy ich równoważność, dzięki czemu całą teorię granic funkcji można sprowadzić do ciągów z rozdziału 3. Ciągłość to zgodność granicy z wartością; jej brak ma trzy oblicza (skok, nieciągłość usuwalna, nieciągłość drugiego rodzaju), a działania i złożenia ciągłość zachowują. Sercem rozdziału są trzy twierdzenia o funkcjach ciągłych na przedziale domkniętym: Weierstrass gwarantuje osiąganie kresów (fundament istnienia rozwiązań optymalnych), Darboux — przyjmowanie wartości pośrednich (a stąd bisekcję i numeryczne pierwiastki), a Heine-Cantor — jednostajną ciągłość (potrzebną m.in. w teorii całki). Wszystkie trzy opierają się na zwartości i twierdzeniu Bolzana-Weierstrassa. Mając ciągłość, w następnym rozdziale wprowadzimy pochodną — lokalną miarę tempa zmian funkcji jednej zmiennej.

Literatura uzupełniająca
  • G. M. Fichtenholz, Rachunek różniczkowy i całkowy, t. I
  • W. Rudin, Podstawy analizy matematycznej
  • K. Maurin, Analiza, cz. I
Oprogramowanie
  • Python: scipy.optimize.brentq(f, a, b) — miejsce zerowe (z tw. Darboux)
  • Python: numpy.isclose — numeryczne badanie granicy
  • R: uniroot(f, c(a, b)) — wartość pośrednia w praktyce