Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
277 views
ubuntu2004
Kernel: SageMath 9.4

Topologie Euklidovského prostoru

Definice metriky

Příklad. Uvažujme funkci d:R2×R2(x,y)Rd:\mathbb R^2\times\mathbb R^2\ni (x,y)\mapsto \mathbb R danou předpisem: d(x,y)=x1y1+x2y2. d(x,y) = |x_1 - y_1| + |x_2 - y_2|. Ukažte, že se jedná o metriku.

#řešení x1, x2, y1, y2 = var('x1, x2, y1, y2') assume(x1, x2, y1, y2, 'real') x = (x1, x2); y = (y1, y2) d(x1,x2,y1,y2) = abs(x1 - y1) + abs(x2 - y2)
d.show()
(x1,x2,y1,y2)  x1y1+x2y2\renewcommand{\Bold}[1]{\mathbf{#1}}\left( x_{1}, x_{2}, y_{1}, y_{2} \right) \ {\mapsto} \ {\left| x_{1} - y_{1} \right|} + {\left| x_{2} - y_{2} \right|}
  • Pozitivita:

podminka = d(x1,x2,y1,y2) >= 0; show(podminka) bool(d(x1,x2,y1,y2) >= 0) # podmínka nezápornosti je zřejmě splněna
x1y1+x2y20\renewcommand{\Bold}[1]{\mathbf{#1}}{\left| x_{1} - y_{1} \right|} + {\left| x_{2} - y_{2} \right|} \geq 0
True

Tato podmínka je zřejmě splněna!

  • Symetrie:

# (Symetrie): rovnost = d(x1,x2,y1,y2) == d(y1,y2,x1,x2); show(rovnost) bool(d(x1,x2,y1,y2) == d(y1,y2,x1,x2))
x1y1+x2y2=x1+y1+x2+y2\renewcommand{\Bold}[1]{\mathbf{#1}}{\left| x_{1} - y_{1} \right|} + {\left| x_{2} - y_{2} \right|} = {\left| -x_{1} + y_{1} \right|} + {\left| -x_{2} + y_{2} \right|}
True

Symetrie platí!

Trojúhelníková nerovnost:

# Trojúhelníková nerovnost z1, z2 = var('z1, z2') ineq = d(x1,x2,z1,z2) <= d(x1,x2,y1,y2) + d(y1,y2,z1,z2) ineq.show()
x1z1+x2z2x1y1+x2y2+y1z1+y2z2\renewcommand{\Bold}[1]{\mathbf{#1}}{\left| x_{1} - z_{1} \right|} + {\left| x_{2} - z_{2} \right|} \leq {\left| x_{1} - y_{1} \right|} + {\left| x_{2} - y_{2} \right|} + {\left| y_{1} - z_{1} \right|} + {\left| y_{2} - z_{2} \right|}
#Dokažme nerovnost ineq: ineq1 = abs(x1 - z1) <= abs(x1 - y1) + abs(y1 - z1);show(ineq1) # trojúhelníková nerovnost č.1 print() ineq2 = abs(x2 - z2) <= abs(x2 - y2) + abs(y2 - z2); show(ineq2) # trojúhelníková nerovnost č.2 print("Sečtením obou nerovností dostáváme:") ineq3 = ineq1 + ineq2; ineq3.show() # sečtením nerovností 1 a 2 dostávíme dokazovanou nerovnost !
x1z1x1y1+y1z1\renewcommand{\Bold}[1]{\mathbf{#1}}{\left| x_{1} - z_{1} \right|} \leq {\left| x_{1} - y_{1} \right|} + {\left| y_{1} - z_{1} \right|}
x2z2x2y2+y2z2\renewcommand{\Bold}[1]{\mathbf{#1}}{\left| x_{2} - z_{2} \right|} \leq {\left| x_{2} - y_{2} \right|} + {\left| y_{2} - z_{2} \right|}
Sečtením obou nerovností dostáváme:
x1z1+x2z2x1y1+x2y2+y1z1+y2z2\renewcommand{\Bold}[1]{\mathbf{#1}}{\left| x_{1} - z_{1} \right|} + {\left| x_{2} - z_{2} \right|} \leq {\left| x_{1} - y_{1} \right|} + {\left| x_{2} - y_{2} \right|} + {\left| y_{1} - z_{1} \right|} + {\left| y_{2} - z_{2} \right|}
print(bool(ineq == ineq3), " = Znamená totožnost obou nerovností !"); print("Dokazovaná nerovnost je totožná s poslední nerovností !")
True = Znamená totožnost obou nerovností ! Dokazovaná nerovnost je totožná s poslední nerovností !

Příklad. Nakresleme jednotkovou kouli B(0;1)B(0; 1) v metrickém prostoru (R2,d),(\mathbb R^2, d), kde metrika dd je metrika z předchozího příkladu!

x, y = var('x, y') N(x, y) = abs(x) + abs(y) print("N :", N) implicit_plot(N(x, y) - 1, (x, -2, 2), (y, -2, 2),gridlines='minor', axes=True, fill=True, color="green")
N : (x, y) |--> abs(x) + abs(y)
Image in a Jupyter notebook
print("Jednotkové sféry:") contour_plot(N(x,y), (x, -2, 2), (y, -2, 2), axes=True, labels=True, fill=False)
Jednotkové sféry:
Image in a Jupyter notebook

Definice. Nechť (M,d)(M,d) je metrický prostor a nechť x0M, r>0.x_0\in M,\ r > 0. Potom množinu: Sr(x0)={xM: d(x,x0)=r} S_r(x_0) = \{x\in M:\ d(x,x_0) = r\} nazveme sférou o poloměru rr se středem v bodě x0.x_0.

Definice. Nechť N:RnRN: \mathbb R^n\to\mathbb R je funkce, která splňuje nasledujcí podmínky:

  • (Nezápornost): xRn:   N(x)0.\forall x\in\mathbb R^n:\ \ \ N(x) \ge 0.

  • (Symetrie): xRn:   N(x)=N(x).\forall x\in\mathbb R^n:\ \ \ N(x) = N(-x).

  • (Trojúhelníková nerovnost): x,yRn:   N(x+y)N(x)+N(y).\forall x,y\in\mathbb R^n:\ \ \ N(x+y) \le N(x) + N(y).

Funkci NN pak nazveme normou na prostoru Rn.\mathbb R^n.

Úloha. Dokažte následující tvrzení: je-li NN norma na prostoru Rn\mathbb R^n, potom je funkce d:Rn×RnRd:\mathbb R^n\times\mathbb R^n \to \mathbb R definovaná předpisem: d(u,v)=N(uv),  u,vRn(N) d(u, v) = N(u-v), \ \ \forall u,v\in\mathbb R^n \tag{N} metrikou na prostoru Rn.\mathbb R^n. Pak též říkáme, že metrika dd je indukovaná normou N.N.

Rovnice (N) má pro případ v předchozím příkladu tvar:

eq = N(x1 - y1, x2 - y2) == d(x1, x2, y1, y2) eq.show()
x1y1+x2y2=x1y1+x2y2\renewcommand{\Bold}[1]{\mathbf{#1}}{\left| x_{1} - y_{1} \right|} + {\left| x_{2} - y_{2} \right|} = {\left| x_{1} - y_{1} \right|} + {\left| x_{2} - y_{2} \right|}
# Euklidovská metrika odvozená od Euklidovské normy N_e(x,y) x, y = var('x,y') N_e(x,y) = sqrt(x**2 + y**2) print("N_e: ", N_e) print("Jednokovou sféru si můžeme znázornit:") implicit_plot(N_e(x, y) - 1, (x, -2, 2), (y, -2, 2),gridlines='minor', fill=True, axes=True)
N_e: (x, y) |--> sqrt(x^2 + y^2) Jednokovou sféru si můžeme znázornit:
Image in a Jupyter notebook

Definice součinové metriky

Definice. Uvažujme dva metrické prostory (M1,d1), (M2,d2).(M_1, d_1),\ (M_2, d_2). Definujme nyní funkci d:(M1×M2)×(M1×M2)Rd: (M_1\times M_2)\times(M_1\times M_2) \to \mathbb R předpisem: d((x1,y1),(x2,y2))=d1(x1,x2)2+d2(y1,y2)2,  (x1,y1)M1, (x2,y2)M2. d((x_1,y_1),(x_2,y_2)) = \sqrt{d_1(x_1, x_2)^2 + d_2(y_1, y_2)^2},\ \ \forall (x_1,y_1)\in M_1,\ (x_2,y_2)\in M_2. Funkci dd nazveme součinem metrik d1,d2d_1,d_2 a označíme symbolem d1×d2.d_1\times d_2. Dvojici (M1×M2,d1×d2)(M_1\times M_2,d_1\times d_2) potom nazveme součinem metrických prostorů (M1,d1)(M_1,d_1) a (M2,d2).(M_2,d_2).

Úloha. Ukažte, že dvojice (M1×M2,d1×d2)(M_1\times M_2,d_1\times d_2) skutečně tvoří metrický prostor!

Konvergence v Metrickém prostoru

Jednoznačnost limity

# Definujme tzv. pseudometriku d předpisem: d(x1, x2, y1, y2) = abs(x1 - y1); d.show()
(x1,x2,y1,y2)  x1y1\renewcommand{\Bold}[1]{\mathbf{#1}}\left( x_{1}, x_{2}, y_{1}, y_{2} \right) \ {\mapsto} \ {\left| x_{1} - y_{1} \right|}

Uvažujme posloupnost Xn=(1/n,0)R2.X_n = (1/n, 0)\in\mathbb R^2. Ukažme, že každý bod P=(0,y)R2P = (0, y)\in\mathbb R^2 je limitou posloupnosti XnX_n vzhledem k pseudometrice d.d.

n = var('n'); y = var('y') print("X(n) = ") X(n) = d(1/n, 0, 0, y); X.show()
X(n) =
n  1n\renewcommand{\Bold}[1]{\mathbf{#1}}n \ {\mapsto}\ \frac{1}{{\left| n \right|}}

odtud plyne: e(n) --> 0, tj. Xn>(0,y)X_n --> (0,y) pro každé yR.y\in\mathbb R.

Zamyslete se nad tím, proč v tomto případě není limita posloupnosti určena jednoznačně!

Výpočet limity v Rn\mathbb R^n

Níže budeme uvažovat na prostoru Rn\mathbb R^n vždy uvažovat Euklidovskou metriku.

Příklad. Uvažujme následující posloupnosti v prostoru Rn\mathbb R^n a vyšetřeme existenci limit následujících posloupností:

  1. Xn=(sin(n),0)R2,X_n = (sin(n), 0)\subset\mathbb R^2,

  2. Xn=(1/n,sin(n)/n)R2,X_n = (1/n, sin(n)/n)\subset\mathbb R^2,

  3. Xn=(1/n2,n2n2n+1,0)R3.X_n = (1/n^2, \frac{n^2}{-n^2 - n + 1}, 0)\subset\mathbb R^3.
    Pokud limita posloupnosti XnX_n, potom tuto limitu určeme.

#1 n = var('n'); assume(n, 'integer') limita = (limit(sin(n), n=infinity), 0); limita
(ind, 0)
print("Limita posloupnosti neexistuje!")
Limita posloupnosti neexistuje!
#2 n = var('n'); assume(n, 'integer') limita = (limit(1/n, n=infinity), limit(sin(n)/n, n=infinity)) limita
(0, 0)
print(f"Limita posloupnosti existuje a je rovna {limita}")
Limita posloupnosti existuje a je rovna (0, 0)
#3 n = var('n'); assume(n, 'integer') x(n) = n^2/(-n^2 - n + 1); x.show() limita = (limit(1/n^2, n=infinity), limit(n^2/(-n^2 - n + 1), n=infinity), 0); limita
n  n2n2+n1\renewcommand{\Bold}[1]{\mathbf{#1}}n \ {\mapsto}\ -\frac{n^{2}}{n^{2} + n - 1}
(0, -1, 0)
print(f"Limita posloupnosti {x} existuje a je rovna {limita}.")
Limita posloupnosti n |--> -n^2/(n^2 + n - 1) existuje a je rovna (0, -1, 0).

Konec 4.10.21

Limita a spojitost funkcí více proměnných

Příklad

# U následujících funkcí najděte a nakreslete definiční obor funkce # (a) x, y = var('x, y') f(x,y) = sqrt(x+y+1)/(x-1); show(f) podminka1 = x+y+1 >= 0; podminka1.show() podminka2 = x-1 != 0; podminka2.show() g = implicit_plot(-(x+y+1), (x, -10, 10), (y, -10, 10), gridlines='minor', axes=True, fill=True, fillcolor='green') g += implicit_plot(x-1, (x, -10, 10), (y, -10, 10), gridlines='minor', axes=True, linestyle='--') g.show()
(x,y)  x+y+1x1\renewcommand{\Bold}[1]{\mathbf{#1}}\left( x, y \right) \ {\mapsto} \ \frac{\sqrt{x + y + 1}}{x - 1}
x+y+10\renewcommand{\Bold}[1]{\mathbf{#1}}x + y + 1 \geq 0
x10\renewcommand{\Bold}[1]{\mathbf{#1}}x - 1 \neq 0
Image in a Jupyter notebook
#(b) f2(x,y) = x*log(y**2-x) print(f"f2: {f2}") f2.show() podminka = y**2-x > 0; podminka.show() implicit_plot(-(y**2 - x), (x, -10, 10), (y, -10, 10), gridlines='minor', axes=True, linestyle='--', fill=True, fillcolor='red')
f2: (x, y) |--> x*log(y^2 - x)
(x,y)  xlog(y2x)\renewcommand{\Bold}[1]{\mathbf{#1}}\left( x, y \right) \ {\mapsto} \ x \log\left(y^{2} - x\right)
y2x>0\renewcommand{\Bold}[1]{\mathbf{#1}}y^{2} - x > 0
Image in a Jupyter notebook

Příklad. Najděte definiční obor a obor hodnot funkce:

x, y = var('x, y') g(x,y) = sqrt(9-x**2 - y**2);print(f"g: {g}") g.show() print() print("Podmínka:") podminka = 9-x**2 - y**2 >= 0; podminka.show() print() print() print("Definiční obor:") implicit_plot(-(9-x**2 - y**2), (x, -4, 4), (y, -4, 4), gridlines='minor', axes=True, fill=True, fillcolor='green')
g: (x, y) |--> sqrt(-x^2 - y^2 + 9)
(x,y)  x2y2+9\renewcommand{\Bold}[1]{\mathbf{#1}}\left( x, y \right) \ {\mapsto} \ \sqrt{-x^{2} - y^{2} + 9}
Podmínka:
x2y2+90\renewcommand{\Bold}[1]{\mathbf{#1}}-x^{2} - y^{2} + 9 \geq 0
Definiční obor:
Image in a Jupyter notebook
# Určeme ještě obor hodnot funkce: minimize(-sqrt(9-x**2 - y**2), [.1,.1])
(6.09824798639266e-08, 6.09824798639266e-08)
#Maximum funkce realizuje v bodě x= 0, y = 0: maximum = g(0,0) print(f"Maximum funkce g je rovno číslu: {maximum}") print(f"Obor hodnot funkce g je tedy roven intervalu [0, 3]")
Maximum funkce g je rovno číslu: 3 Obor hodnot funkce g je tedy roven intervalu [0, 3]

Obor spojitosti je roven definičnímu oboru v případě, kdy je daná funkce vytvořena z elementárních funkcí pomocí operací sčítání, odčítání, násobení, dělení a skládání funkcí.

Grafické znázornění funkcí více prom.

Načrtněte graf funkce f(x,y)=63x2y.f(x,y) = 6 - 3x -2y.

#Řešení: x, y = var("x, y") gph = plot3d(6-3*x-2*y, (x, 0, 10), (y, 0, 10)) gph.show()

Je-li dána funkce z=f(x,y)z = f(x,y) a reálné číslo mRm\in\mathbb R, pak vrstevnicí funkce vr(f,c)vr(f, c) rozumíme křivku o rovnici: f(x,y)=m. f(x,y) = m.

# Nakresleme vrstevnice funkce: gph = contour_plot(6-3*x-2*y, (x, -2, 2), (y, -2, 2), axes=True, labels=True, fill=False) gph.show()
Image in a Jupyter notebook
# Znázorněme také řezy grafu rovinami o rovnici y = k*x print("Řez grafem rovinou o rovnici y = kx, k=1.") k = 1 gph_rez = plot(6-3*x-2*(k*x), (x, -5, 5)) gph_rez.show()
Řez grafem rovinou o rovnici y = kx, k=1.
Image in a Jupyter notebook

Načrtněme graf funkce z=9x2y2.z = \sqrt{9-x^2-y^2}.

gph1 = plot3d(sqrt(9-x**2-y**2),(x, -10, 10), (y, -10, 10)) #graf funkce... gph1.show()

Vrstevnice této funkce mají rovnice: 9x2y2=m. \sqrt{9-x^2-y^2} = m.

# Vrstevnice funkce... contour_plot(sqrt(9-x**2-y**2),(x, -5, 5), (y, -5, 5),axes=True,labels=True, fill=False)
Image in a Jupyter notebook
# Ještě řezy rovinami y=k*x g = Graphics() for k in range(-3,3): g += plot(sqrt(9-x**2-(k*x)**2),(x, -3, 3)) g.show(aspect_ratio=1)
verbose 0 (3839: plot.py, generate_plot_points) WARNING: When plotting, failed to evaluate function at 138 points. verbose 0 (3839: plot.py, generate_plot_points) Last error message: 'math domain error' verbose 0 (3839: plot.py, generate_plot_points) WARNING: When plotting, failed to evaluate function at 112 points. verbose 0 (3839: plot.py, generate_plot_points) Last error message: 'math domain error' verbose 0 (3839: plot.py, generate_plot_points) WARNING: When plotting, failed to evaluate function at 59 points. verbose 0 (3839: plot.py, generate_plot_points) Last error message: 'math domain error' verbose 0 (3839: plot.py, generate_plot_points) WARNING: When plotting, failed to evaluate function at 60 points. verbose 0 (3839: plot.py, generate_plot_points) Last error message: 'math domain error' verbose 0 (3839: plot.py, generate_plot_points) WARNING: When plotting, failed to evaluate function at 112 points. verbose 0 (3839: plot.py, generate_plot_points) Last error message: 'math domain error'
Image in a Jupyter notebook
#Cobb-Douglasova produkční funkce P(L,K) K, L = var('K, L') P(L,K) = 1.01*L**0.75*K**0.25 print(f"P: {P}.") graf = plot3d(P(L,K), (L, 0, 300), (K, 0, 300)) graf.show() vrstevnice = contour_plot(P(L,K), (L, 0, 300), (K, 0, 300), fill=False, labels=True); vrstevnice.show()
P: (L, K) |--> 1.01000000000000*K^0.250000000000000*L^0.750000000000000.
Image in a Jupyter notebook
x, y = var('x, y') f(x,y) = (x**2+3*y**2)*e**(-x**2-y**2); f.show() graf = plot3d(f(x,y), (x, -2, 2), (y, -2, 2)); graf.show() vrstevnice = contour_plot(f(x,y), (x, -2, 2), (y, -2, 2), labels=True); vrstevnice.show()
(x,y)  (x2+3y2)e(x2y2)\renewcommand{\Bold}[1]{\mathbf{#1}}\left( x, y \right) \ {\mapsto} \ {\left(x^{2} + 3 \, y^{2}\right)} e^{\left(-x^{2} - y^{2}\right)}
Image in a Jupyter notebook

Spojitost zobrazení

Ůloha. Uvažujme množinu R\mathbb R s polu s metrikou odvozenou od funkce N(x)=x.N(x) = |x|. Ukažme, že pak množina A=QA = \mathbb Q není ani uzavřenou ani otevřenou množinou.

Důkaz. a) Nejdříve ukažme, že množina AA není v R\mathbb R otveřenou množinou. Je-li rAr\in A a ε>0\varepsilon>0, pak B(r,ε)=(rε,r+ε)(RA).B(r,\varepsilon) = (r-\varepsilon, r+\varepsilon)\cap(\mathbb R\setminus A)\neq\emptyset.

b) Ukažme, že množina AA není uzavřená. Jinak řečeno, ukažme že doplněk množiny AA není otevřenou množinou. To se dokáže analogicky jako v případě a). \Box

Úloha. Úkažte, že v případě předchozí úlohy lze dokázat že platí: xR: x je hromadnyˊm bodem mnozˇiny A. \forall x\in\mathbb R:\ x\text{ je hromadným bodem množiny } A.