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

Z Studia Informatyczne
Wersja z dnia 22:21, 15 wrz 2023 autorstwa Luki (dyskusja | edycje) (Rachunek różnicowy)
(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:


1ini nieparzystaai


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

MD1-3.1.swf

Przykład

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)


Carl Friedrich Gauss (1777-1855)
Zobacz biografię

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


20kn(a+kb)=0kn((a+kb)+(a+nbkb))=0kn(2a+nb)=(2a+nb)0kn1=(2a+nb)(n+1).


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.

Takiej metody użył młody Gauss, 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:


i=1nHi=i=1nj=1i1j=i=1n1i(ni+1)=ni=1n1ii=1n1+i=1n1i=(n+1)Hnn.


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:


i=0naxi+axn+1=ax0+i=0naxi+1=a+xi=0naxi


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


i=0naxi=aaxn+11x dla x1.

Przykład

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


n01234n2n0282464i=0ni2i02103498


Licząc przez zaburzanie dostajemy:


i=0ni2i+(n+1)2n+1=020+i=0n(i+1)2i+1=2i=0ni2i+2i=0n2i=2i=0ni2i+2(2n+11)


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.


i=0ni2+(n+1)2=02+i=0n(i+1)2  =i=0ni2+2i=0ni+i=0n1  =i=0ni2+2i=0ni+n


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:


i=0ni3+(n+1)3=03+i=0n(i+1)3  =i=0ni3+3i=0ni2+3i=0ni+i=0n1  =i=0ni3+3i=0ni2+3n(n+1)2+(n+1)


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


3i=0ni2=(n+1)332n(n+1)(n+1)=(n+1)((n+1)232n1) i=0ni2=(n+1)(n2+2n+132n1)3=n(n+12)(n+1)3


Rachunek różnicowy

Żadna z przedstawionych metod obliczania skończonych sum nie jest niezawodnym kompletnym algorytmem. Są to raczej wskazówki bądź zestaw sztuczek, które czasem działają. Zaprezentujemy teraz podstawy rachunku różnicowego - dobrego narzędzia do obliczania skończonych sum.

Rachunek różnicowy powstał przez analogię do rachunku różniczkowego - działu matematyki zajmującego się badaniem funkcji rzeczywistych i zespolonych, przy użyciu ich pochodnych i całek. Podstawą rachunku różniczkowego jest operator pochodnej D, zdefiniowany jako


(Df)(x)=limh0f(x+h)f(x)h


Przyporządkowuje on funkcję Df funkcji rzeczywistej f. Odpowiednikiem operatora pochodnej w rachunku różnicowym jest operator różnicowy Δ, zdefiniowany jako


(Δf)(x)=f(x+1)f(x)


Przyporządkowuje on funkcję Δf funkcji rzeczywistej f. Będziemy go jednak rozważać tylko dla funkcji określonych na zbiorze liczb naturalnych (czyli dla ciągów). Operator Δ to "skończony odpowiednik" operatora D. Rozważając funkcję liczb całkowitych f nie mamy możliwości badać granicy występującej w definicji D. W zamian za to rozważamy stosowny iloraz f(x+1)f(x)1 przy najmniejszej możliwej wartości h.

MD1-3.2.swf

Przykład

Dla funkcji f(x)=x24x+10 mamy

(Δf)(x)=f(x+1)f(x)=(x+1)24(x+1)+10(x24x+10)=2x3

n012345f(n)107671015(Δf)(n)31135

Operator Δn nazywamy n-tą iteracją operatora Δ, gdzie


Δ0f=f,Δk+1f=Δ(Δkf)


Przykład

Dla funkcji f(x)=i=0xi2 mamy:

  • (Δf)(x)=f(x+1)f(x)=i=0x+1i2i=0xi2=(x+1)2,
  • (Δ2f)(x)=(Δf)(x+1)(Δf)(x)=(x+1)2x2=2x+1,
  • (Δ3f)(x)=(Δ2f)(x+1)(Δ2f)(x)=2(x+1)+1(2x+1)=2,
  • (Δ4f)(x)=(Δ3f)(x+1)(Δ3f)(x)=22=0.


x012345HLINE TBDf(x)015143055(Δf)(x)1491625(Δ2f)(x)3579(Δ3f)(x)222(Δ4f)(x)00


Bardzo łatwo jest sprawdzić własności opisane w następnej obserwacji.

Obserwacja 4.1

Operator różnicowy Δ jest operatorem liniowym, tzn.:


Δ(cf)=cΔf,Δ(f+g)=Δf+Δg


Różniczkowanie jednomianów, czyli wielomianów typu xk, jest bardzo proste: Dxk=kxk1 dla dowolnego k1. Własność ta nie przenosi się jednak na operator Δ.

Przykład

 Dx2=2x,Δx2=(x+1)2x2=2x+1,Dx3=3x2,Δx3=(x+1)3x3=3x2+3x+1


Na szczęście dla operatora różnicowego Δ istnieją odpowiedniki jednomianów, czyli wielomianów o dowolnie dużych potęgach, które łatwo zróżnicować.

m-ta dolna silnia x to wielomian zmiennej x, zdefiniowany jako


xm_=x(x1)(xm+1), dla m1


m-ta górna silnia x to wielomian zmiennej x, zdefiniowany jako


xm=x(x+1)(x+m1), dla m1.


Dodatkowo przyjmujemy, że x0_=x0=1.

Zauważmy, że w odróżnieniu od zwykłego potęgowania mamy tu


xm+n_=xm_(xm)n_=(xn)m_xn_


Obserwacja 4.2

Dla m1 zachodzi Δxm_=mxm1_.

Dowód


Δxm_=(x+1)m_xm_=(x+1)x(x1)(xm+2)x(x1)(xm+1)=mx(x1)(xm+2)=mxm1_


Twierdzenie 4.3

Dowolny wielomian k-tego stopnia p(x) można jednoznacznie przedstawić w postaci i=0kaixk_, gdzie a0=p(0), a1=(Δp)(0), a2=(Δ2p)(0)/2 i ogólnie


p(x)=i=0k(Δip)(0)i!xi_


Twierdzenie to jest analogią Twierdzenia Taylora dla wielomianów. Dowód pomijamy w tym wykładzie. Korzysta on z faktu, iż ciąg dolnych silni jest bazą przestrzeni liniowej wielomianów.

Wykorzystując Twierdzenie 4.3 możemy szybko różnicować dowolny wielomian p(x) licząc jedynie kolejne różnice (Δip)(0). To z kolei dla wielomianu stopnia k sprowadza się do policzenia k+2 wartości początkowych p(0),,p(k+1).

Przykład

Aby policzyć Δ(x35x+13) najpierw wyrażamy nasz wielomian jako kombinacje dolnych silni. Do tego potrzebujemy współczynników z Twierdzenia 4.3.


n01234HLINE TBDn35n+13139162557Δ(n35n+13)45922Δ2(n35n+13)9411Δ3(n35n+13)5


Potem różnicujemy wykorzystując podstawowe własności Δ.


n35n+13=56n3_+92n2_+41n1_+131n0_=56n3_+92n2_4n1_+13,


by dostać


Δ(n35n+13)=Δ(56n3_+92n2_4n1_+13)=563n2_+922n1_41=52n2_+9n1_4.


W rachunku różniczkowym operator pochodnej D ma operator odwrotny - jest nim operator całki . Te dwa operatory powiązane są własnością:


g=Df wtedy i tylko wtedy, gdy g(x)dx=f(x)+C


Zauważmy, że wychodząc od funkcji g: i definiując f: poprzez f(n)=i=0n1g(i) mamy Δf=g. Moglibyśmy więc zdefiniować sumę nieoznaczoną jako g(x)δx=i=0n1g(i). Ponieważ Δf=Δ(f+C) dla dowolnej stałej C, to - podobnie jak w przypadku całki nieoznaczonej - suma nieoznaczona zdefiniowana jest tylko z dokładnością do stałej addytywnej:


g=Δf wtedy i tylko wtedy, gdy g(x)δx=f(x)+C


Tak więc g(x)δx (podobnie jak g(x)dx) jest klasą funkcji, których różnica (pochodna) równa jest g(x). Wyrażenie g(x)δx to suma nieoznaczona funkcji g(x). Następujące własności sumy nieoznaczonej wynikają wprost z własności Δ:

Obserwacja 4.4

Dla funkcji f,g: oraz c zachodzi:

  • cg(x)δx=cg(x)δx,
  • (f(x)+g(x))δx=f(x)δx+g(x)δx,
  • xm_δx=1m+1xm+1_, dla m0.

Suma oznaczona funkcji g(x) o parametrach a,b to


abg(x)δx=f(b)f(a),


dla funkcji f z klasy g(x)δx, tzn. takiej, że g=Δf, czyli g(x)=f(x+1)f(x). Zauważmy, ze definicja ta jest poprawna, tzn. nie zależy od wyboru funkcji f, jako stała, o którą dwie takie funkcje się różnią zniesie się przy przy odejmowaniu. Nie będzie to bardzo zaskakujące po udowodnieniu poniższych własności sumy oznaczonej, które są analogiami własności całki oznaczonej.

Obserwacja 4.5

Dla dowolnych całkowitych a,b,c zachodzi:

  • aag(x)δx=0,
  • aa+1g(x)δx=g(a),
  • abg(x)δx=bag(x)δx,
  • abg(x)δx+bcg(x)δx=acg(x)δx,
  • abg(x)δx=ai<bg(i), o ile tylko ab.

Dowód

Pierwsze cztery własności wynikają natychmiast z definicji sumy oznaczonej. Dowód piątej poprowadzimy indukcyjnie z uwagi na ba. Dla b=a jest to pierwszy punkt naszej obserwacji. Nadto ab+1g(x)δx=abg(x)δx+bb+1g(x)δ=ai<bg(i)+g(b)=ai<b+1g(i), gdzie pierwsza równość jest konsekwencją punktu czwartego, a druga punktu drugiego.

Rachunek różnicowy w liczeniu sum skończonych

Wracamy teraz do rozważań o sumach skończonych. Zobaczymy, jak rachunek różnicowy może być pomocny w ich obliczaniu. Widzieliśmy już, że suma ai<bg(i)to dokładnie f(b)f(a), gdzie f jest sumą nieoznaczoną funkcji g, tzn. g(x)=f(x+1)f(x). Wystarczy więc wyliczyć sumę nieoznaczoną. A proces ten jest bardzo podobny jak liczenie całek nieoznaczonych. W kolejnych przykładach zobaczymy, jak to można zrobić w praktyce.

Przykład

Dla policzenia sumy dolnych silni i=0ni2_ odnotujmy najpierw, że skoro Δx3_=3x2_, to x2_δx=x3_3+C. Teraz już oczywiście i=0ni2_=0n+1x2_δx=(n+1)3_303_3=(n+1)3_3.
Podobnie przy liczeniu i=0nik_, gdzie k0, wykorzystujemy fakt, iż Δxk+1_=(k+1)xk_ i dostajemy i=0nik_=0n+1xk_δx=(n+1)k+1_k+1.

Przykład

Dla policzenia sumy sześcianów i=0ni3 potrzebujemy najpierw znaleźć sumę nieoznaczoną x3δx. W tym celu wykorzystujemy najpierw Twierdzenie 4.3 do przedstawienia wielomianu x3 jako kombinacji liniowej dolnych silni, dla których znamy już sumy nieoznaczone. Liczymy więc współczynniki typu (Δix3)(0)i!:


x01234HLINE TBDx30182764Δx3171937Δ2x361218Δ3x366


skąd


x3=63!x3_+62!x2_+11!x1_+0=x3_+3x2_+x1_,


a zatem


x3=(x3_+3x2_+x1_)δx=x4_4+x3_+x2_2+C,


i wreszcie


i=0ni3=0n+1x3δx=0n+1(x3_+3x2_+x1_)δx=(n+1)4_4+(n+1)3_+(n+1)2_2


Uwalniając się teraz od dolnych silni dostajemy, że to ostatnie wyrażenie wynosi


(n+1)n(n1)(n2)+4(n+1)n(n1)+2(n+1)n4=(n+1)2n24


Rozszerzymy teraz pojęcie dolnej silni na ujemne wykładniki kładąc :


xm_=1(x+1)(x+2)(x+m), dla m>0


Prawa dla dolnej silni, które odnotowaliśmy dla wykładników naturalnych są zachowane. W szczególności mamy:

Obserwacja 4.6

Dla dowolnych m,n zachodzi:

  • xm+n_=xm_(xm)n_,
  • Δxm_=mxm1_,
  • xm_δx=xm+1m+1+C, dla m1.

Dowód tej obserwacji zostawiamy jako ćwiczenie. Zajmiemy się natomiast jedynym przypadkiem, którego nie potrafimy jeszcze sumować, tzn. wyrażeniem x1_δx. Oczywiście x1_ to 1x+1. Widzieliśmy również, że suma postaci i=0n1i+1 to (n+1)-sza liczba harmoniczna Hn+1 oraz zachowuję się podobnie do logarytmu:


lgn+12Hnlgn+1


Z rachunku całkowego wiemy natomiast, że x1dx=lnx+C. Następna obserwacja pokazuje, że podobieństwo to nie jest przypadkowe:

Obserwacja 4.7

ΔHx=x1_ oraz x1_δx=Hx+C.

Dowód

Mamy


ΔHx=Δ(1+12++1x)=(1++1x+1x+1)(1++1x)=1x+1=x1_,


skąd natychmiast x1_δx=Hx+C.

Z kolei dyskretnym odpowiednikiem funkcji wykładniczej ex, która nie zmienia się przy różniczkowaniu, jest funkcja 2x:

Obserwacja 4.8

Dla liczby rzeczywistej c1 mamy Δcx=(c1)cx oraz cxδx=cxc1+C. W szczególności Δ2x=2x oraz 2xδx=2x+C.

Dowód

Istotnie, Δcx=cx+1cx=(c1)cx, skąd (jeśli tylko c1) dostajemy natychmiast cxδx=cxc1+C.

Przykład

Używając rachunku różnicowego policzymy teraz sumę skończonego ciągu geometrycznego i=0nabqi z ilorazem q1. Obserwacje 4.4 i 4.8 dają:


aqxδx=aqxδx=aqxq1+C


A zatem:


i=0naqi=aqnq1aq0q1=aqn1q1


Sumowanie przez części

Poprzez analogię do rachunku różnicowego zastosujmy operator różnicowy do iloczynu funkcji


Δ(f(x)g(x))=f(x+1)g(x+1)f(x)g(x)=f(x+1)g(x+1)f(x)g(x+1)+f(x)g(x+1)f(x)g(x)=g(x+1)Δf+f(x)Δg(x).


Dostajemy stąd natychmiast następującą regułę sumowania przez części

Obserwacja 4.9

f(x)Δg(x)δx=f(x)g(x)(Δf)(x)g(x+1)δx.

Przykład

Dla policzenia sumy i=0ni2i, wyznaczamy najpierw (przez części) sumę nieoznaczoną (x2x)δx. Jest to łatwe, jako że 2x=Δ2x, więc


(x2x)δx=x2x((Δx)2x+1)δx=x2x(12x+1)δx=x2x2x+1+C=(x2)2x+C.


Teraz mamy już


i=0ni2i=0n+1x2xδx=(n+12)2n+1(02)20=(n1)2n+12