Vrsta je neskončna vsota $$a_0+a_1+a_2+\ldots = \sum_{n=0}^\infty a_n.$$ Vsoto vrste definiramo z zaporedjem delnih vsot $$S_n=a_0+a_1+\ldots a_n =\sum_{k=0}^n a_k$$ in $$\sum_{n=0}^\infty a_n=\lim_{n\to \infty}S_n.$$
In [12]:
from sympy import *
init_printing()
n = Symbol('n')
a = lambda n: 1/(n*(n+2))
Sum(a(n),(n,1,oo))
Out[12]:
Vsoto vrste in delne vsote lahko izračunamo s funkcijo sympy.Sum. Za zgornjo mejo neskončno $\infty$ uporabimo znak sympy.oo.
In [13]:
Sum(a(n),(n,1,oo)).doit() # vsota vrste
Out[13]:
In [48]:
k = Symbol('k')
Sum(a(k),(k,1,n)).doit() # Funkcija sympy.Sum izračuna tudi delne vsote
Out[48]:
In [37]:
ul = apart(a(n))
ul
Out[37]:
Metoda args() vrne n-terico(tuple) posameznih ulomkov. Če namesto $n$ vstavimo prvih nekaj števil, lahko vidimo, kateri členi se pokrajšajo.
In [49]:
args = ul.args
s = []
for i in range(5):
s=s + [arg.subs(n,i+1) for arg in args]
s = s + [arg.subs(n,n-1) for arg in args] + list(args)
s
Out[49]:
Vidimo, da se vmesni členi pokrajšajo, razen 1. in 3. ter zadnjega in predpredzadnjega. Delna vsota je torej enaka
In [45]:
Sn = s[0]+s[2]+s[-3]+s[-1]
Sn
Out[45]:
In [51]:
Sn.together().factor()
Out[51]:
In [54]:
limit(Sn,n,oo) #vsota vrste je limita delnih vsot
Out[54]:
In [55]:
import disqus
%reload_ext disqus
%disqus matpy
In [ ]: