Matematyka dyskretna 1/Wykład 4: Sumy skończone i rachunek różnicowy

Z Studia Informatyczne
Wersja z dnia 13:42, 19 sie 2006 autorstwa Pitab (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Wstęp

Oto dwie konwencje zapisu skończonych sum wyrazów:


a1+a2++an=i=1nai.


Czasami stosowana jest ogólniejsza notacja iIai, gdzie I jest skończonym zbiorem indeksów. Jeśli I jest pusty to suma ma wartość 0.

Często, zamiast określać zbiór indeksów I podaje się pod sumą warunek ten zbiór definiujący. Na przykład:


Parser nie mógł rozpoznać (nieznana funkcja „\scriptsize”): {\displaystyle \sum_{\scriptsize\begin{array} {c}1\leq i\leq n\\ i \textrm{ nieparzysta}\end{array} }a_i }


Częstym zadaniem wobec którego stajemy to sprowadzenie sumy do postaci zwartej lub choćby znacząco prostszej. Ten wykład zawiera krótki przegląd metod i strategii obliczania skończonych sum. Znakomita część wykładu poświęcona jest prezentacji rachunku różnicowego - narzędzia pozwalającego liczyć skończone sumy w sposób systematyczny.

Kilka metod obliczania skończonych sum

Odgadnięcie rozwiązania i udowodnienie go przez indukcję

W wykładach o indukcji i rekurencji analizowaliśmy kilka przykładów tą metodą. Analogicznie rozwiązywaliśmy też równania rekursywne. Indukcja sprawdza się gdy intuicje odnośnie sumy, którą chcemy policzyć, pozwalają nam na wysuwanie hipotez co do jej wartości. Jest to też dobra metoda sprawdzenia wyników (w celu wychwycenia ewentualnych błędów) otrzymanych inną metodą. Niestety, najczęściej gdy chcemy wskazać wzór na sumę, nie jesteśmy w stanie go zgadnąć. Wtedy trzeba posłużyć się innymi metodami.

Przeindeksowanie sumy

Przykład [Uzupelnij]

Rozważmy sumę skończonego ciągu arytmetycznego o parametrach a,b:


0kn(a+kb)=a+(a+b)+(a+2b)+(a+3b)++(a+nb)=?


Zauważmy, że


0kn(a+kb)=0kn(a+(nk)b)=0kn(a+nbkb).


Dodając odpowiednie równości stronami otrzymujemy:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned2\sum_{0\leq k\leq n}(a+kb) &=&\sum_{0\leq k\leq n}((a+kb)+(a+nb-kb))\\ &=&\sum_{0\leq k\leq n}(2a+nb)\\ &=&(2a+nb)\sum_{0\leq k\leq n}1\\ &=&(2a+nb)(n+1). \endaligned}


Zatem 0kn(a+kb)=(a+12nb)(n+1), czyli obliczana suma jest średnią arytmetyczną pierwszego a i ostatniego a+bn składnika sumy pomnożoną przez liczbę składników sumy.

Rysunek: 3.1 Szkic na kartce

Takiej metody użył młody Gauss,

foto, notka

gdy zniecierpliwiony jego pytaniami nauczyciel polecił mu policzyć sumę tysiąca pierwszych liczb naturalnych.

Zmiana kolejności sumowania w sumach wielokrotnych

Przykład

Ciąg harmoniczny Hn=i=1n1i poznaliśmy w wykładzie o indukcji. Pokazaliśmy tam, że


lgn+12Hnlgn+1.


Tym razem jesteśmy zainteresowani sumami postaci


i=1nHi=i=1nj=1i1j,


których pierwsze wartości przedstawia tabela:


n123Hn13253i=0nHi152256


W tym przypadku zamienimy kolejność wyrazów w sumie po czym okaże się, że nowa postać jest prosta do przeliczenia. Wypiszmy więc wszystkie wyrazy w naszej podwójnej sumie, tak by kolejne wiersze były składnikami liczb harmonicznych:


111211213112131n


Zauważmy, że oryginalny zapis nakazuje najpierw sumować wiersze, a później wartości tych wierszy. Zmieńmy zatem kolejność sumowania aby najpierw sumować kolumny:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned\sum_{i=1}^nH_i=\sum_{i=1}^n\sum_{j=1}^i\frac{1}{j} &=&\sum_{i=1}^n\frac{1}{i}\cdot (n-i+1)\\ &=&n\sum_{i=1}^n\frac{1}{i}-\sum_{i=1}^n1+\sum_{i=1}^n\frac{1}{i}\\ &=&(n+1)H_n-n. \endaligned}


Zaburzanie

Gdy interesują nas skończone sumy odcinków początkowych ciągu {ai} i, czyli sumy postaci Sn=i=0nai. Metoda zaburzania polega na obliczeniu wartości Sn+1 za pomocą Sn na dwa różne sposoby: na ogół wydzielając pierwszy i ostatni składnik sumy tzn.:


Sn+an+1=a0+i=0nai+1.


Jeśli uda się nam ostatnią sumę wyrazić za pomocą Sn, to otrzymamy równanie, którego rozwiązanie jest poszukiwaną sumą. Niestety, metoda zaburzania dalece nie zawsze działa. Jednak w wielu sytuacjach bywa elegancka i skuteczna.

Przykład

Policzmy sumę i=0naxi skończonego ciągu geometrycznego dla a,x, x1. Zgodnie z ogólnym schematem zaburzania mamy:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned\sum_{i=0}^n ax^i+ax^{n+1}&=&ax^0+\sum_{i=0}^n ax^{i+1}\\ &=&a+x\sum_{i=0}^n ax^i. \endaligned}


Rozwiązując powyższe równanie dostajemy:


i=0naxi=aaxn+11x,dlax1.

Przykład

Tym razem jesteśmy zainteresowani sumą i=0ni2i,która przyjmuje wartości:


n01234n2n0282464i=0ni2i02103498


Licząc przez zaburzanie dostajemy:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned\sum_{i=0}^n i2^i+(n+1)2^{n+1} &=&0\cdot2^0+\sum_{i=0}^n (i+1)2^{i+1}\\ &=&2\sum_{i=0}^n i2^i+2\sum_{i=0}^n2^i\\ &=&2\sum_{i=0}^n i2^i+2\cdot(2^{n+1}-1), \endaligned}


gdzie suma skończonego ciągu geometrycznego i=0n2i została wyliczona w poprzednim przykładzie. Zatem ostatecznie


i=0ni2i=(n+1)2n+12(2n+11)=(n1)2n+1+2.


Przykład

Spróbujmy policzyć jeszcze raz sumę kwadratów i=0ni2, ale tym razem przez zaburzanie.


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned\sum_{i=0}^n i^2 + (n+1)^2&=&0^2+\sum_{i=0}^n(i+1)^2\\ &=&\sum_{i=0}^n i^2+2\sum_{i=0}^n i+\sum_{i=0}^n 1\\ &=&\sum_{i=0}^n i^2+2\sum_{i=0}^n i+n \endaligned}


Niestety okazuje się, że sumy kwadratów się skracają. Zaburzanie okazało się w tym przypadku nieskuteczne. Zauważmy jednak, iż z otrzymanej równości 2i=0ni=(n+1)2(n+1) dostajemy wzór na sumę kolejnych liczb naturalnych (a nie kwadratów jak chcieliśmy). Nasuwa się podejrzenie, że aby otrzymać wzór na sumę kwadratów trzeba zaburzyć sumę sześcianów. Spróbujmy:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned\sum_{i=0}^n i^3+(n+1)^3&=&0^3+\sum_{i=0}^n(i+1)^3\\ &=&\sum_{i=0}^n i^3+3\sum_{i=0}^n i^2+3\sum_{i=0}^n i+\sum_{i=0}^n 1\\ &=&\sum_{i=0}^n i^3+3\sum_{i=0}^n i^2+3\frac{n(n+1)}{2}+(n+1). \endaligned}


Rzeczywiście, sumy sześcianów się skracają i możemy wyprowadzić wzór na sumę kwadratów:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned 3\sum_{i=0}^n i^2&=&(n+1)^3-\frac{3}{2}n(n+1)-(n+1)= (n+1)((n+1)^2-\frac{3}{2}n -1),\\ \sum_{i=0}^n i^2&=&\frac{(n+1)(n^2+2n+1-\frac{3}{2}n-1)}{3}=\frac{n(n+\frac{1}{2})(n+1)}{3}. \endaligned}


Rachunek różnicowy