Příklad
Při počítání v SageMath musíme vytvořit symbolické proměnné využívané ve výpočtech.
var('k')
k
k + 1
k + 1
sqrt(k)
sqrt(k)
expr = sqrt(k^2 + 3*k) - sqrt(k^2 + 2*k + 3)
show(expr)
K výpočtu limity slouží příkaz limit
.
limit(expr, k=oo)
1/2
Je-li důležitá celočíselnost proměnné, tj. jde-li skutečně o limitu posloupnosti, musíme zavést předpoklad celočíselnosti.
limit(sin(2*pi*k), k=oo)
ind
assume(k, 'integer')
limit(sin(2*pi*k), k=oo)
0
forget()
Ilustrace k prvnímu příkladu
d = [ expr.subs({k: kk}) for kk in range(1, 100) ]
- člen (indexuje se od nuly).
d[59]
-sqrt(3723) + 6*sqrt(105)
show(d[59])
Poslední člen s přesností na deset cifer.
N(d[98], digits=10)
0.4788058465
Graf hodnot pomocí funkce list_plot
.
list_plot(d, figsize=4, axes_labels=['$n$', '$a_n$'],
gridlines=['automatic', [1/2]],
ymin=0, ymax=1
)
Dokumentace:
list_plot?
Zdrojový kód:
list_plot??
Ilustrace k větě o limitě sevřené posloupnosti
Uvažme následující příklad.
limit(sin(k)/k, k=oo)
0
Pro každé přirozené platí totiž následující nerovnost,
To lze snadno vizualizovat.
list_plot([ -1/k for k in range(1, 10)], color='blue') + \
list_plot([ sin(k)/k for k in range(1, 10)], color='red') + \
list_plot([ 1/k for k in range(1, 10)], color='green')
Algebraické úpravy
Vraťme se k prvnímu příkladu a prozkoumejme práci s příslušným výrazem a jeho úpravami.
show(expr)
expr2 = ( k - 3 ) / ( sqrt(k^2 + 3*k) + sqrt(k^2 + 2*k + 3) )
show(expr2)
expr3 = ( 1 - 3/k ) / ( sqrt(1 + 3/k) + sqrt(1 + 2/k + 3/k^2) )
show(expr3)
Kontrola správnosti provedených operací za uvedených předpokladů.
show(simplify(expr - expr2))
Musíme SageMath přitlačit trochu víc...
(expr - expr2).full_simplify()
0
A následující rozdíl ještě více.
(expr2 - expr3).canonicalize_radical()
0
Výrazy a dosazování
expr
sqrt(k^2 + 3*k) - sqrt(k^2 + 2*k + 3)
expr.subs({k: 10})
sqrt(130) - sqrt(123)
Případně můžeme vytvořit "funkci",
a(k) = 1/k
a(10)
1/10