Látka v této kapitole je pravděpodobně pro čtenáře nová. Není však náročná, v podstatě jde o záležitost notace, s kterou je dobré se co nejdříve seznámit.
Velmi často narazíme na potřebu sčítat jistý konečný počet čísel \(a_1, a_2, \ldots, a_n\), případně na potřebu diskutovat vlastnosti tohoto součtu. Místo zdlouhavého a potenciálně nejednoznačného45 výrazu
Díky asociativnímu a komutativnímu zákonu (viz rovnici (3.8)) platí rovnost
Ukažme si tento koncept na konkrétním příkladě. Chceme mluvit o součtu všech přirozených čísel od \(3\) do \(10\). Zkrácený zápis je následující
for
cyklu k nalezení tohoto součtu v jazyce C.
int main()
{
int sum = 0;
for (int k = 3; k <= 10; k++) sum += k;
cout << Soucet je: << sum << endl;
return 0;
}
Někdy se změnou mezí sčítacího indexu součet změnit nemusí, jako například zde \begin{equation*} \sum_{k={\color{red}1}}^n k^2 = \sum_{k={\color{red}0}}^n k^2.\end{equation*} Přidali jsme totiž jen člen odpovídající \(k=0\) splňující \(0^2 = 0\).
Traduje se, že mladý Gauss dostal ve škole za úkol sečíst všechna čísla od \(1\) do \(100\). Jako jediný ve třídě dosáhl dobrého výsledku, neboť nesčítal čísla od nejmenšího k největšímu, ale všiml si, že pokud sečte první (tj. \(1\)) s posledním (tj. \(100\)), dostane součet \(101\), pokud sečte druhé (tj. \(2\)) a předposlední (tj. \(99\)), dostane opět \(101\). Takto může postupovat až k \(50 + 51 = 101\). Graficky je tento postup znázorněn na obrázku 3.7. Výsledek je tedy \begin{equation*} 50 \cdot 101 = 5050.\end{equation*} Obecně platí, že součet čísel od \(1\) do jistého přirozeného \(n\) je
Obrázek 3.7: Gaussův trik pro sečtení prvních sto přirozených čísel.
Důkaz Gaussovy součtové formulky :
Pomocí sumační notace je snadné Gaussovu myšlenku popsat následovně \begin{equation*} \sum_{k=1}^{100}k = \sum_{k=1}^{50} \big( k + (101 - k) \big) = \sum_{k=1}^{50} 101 = 50 \cdot 101 = 5050.\end{equation*} Všimněme si, že naprosto stejný trik lze použít v případě, že máme sečíst čísla od \(1\) do obecného \(n\): \begin{equation*} \begin{aligned} 2 \sum_{k=1}^n k &= \sum_{k=1}^n k + \sum_{k=1}^n (n+1-k) = \sum_{k=1}^n \big( k + (n + 1 - k) \big) = \\ &= \sum_{k=1}^n (n+1) = n(n+1) \end{aligned}\end{equation*} Dostáváme tak veleznámý vzoreček (3.18).
\(\square\)K dostatečnému ocenění tohoto výsledku je vhodné si uvědomit rozdíl mezi zadáním (sečíst čísla od \(1\) do \(100\)) a výsledkem. Na levé straně rovnosti \begin{equation*} \sum_{k=1}^{100} k = \frac{100\cdot(100+1)}{2}\end{equation*} musíme provést celkem \(99\) operací sčítání oproti jednomu sčítání, násobení a dělení na straně pravé. Proto byl Gauss jediný, kdo získal dobrý výsledek. Poznamenejme, že když budeme zvětšovat \(n\), bude počet operací na levé straně stále růst, kdežto počet operací nutných k vyhodnocení Gaussova vzorečku bude stále stejný. Implementace tohoto konkrétního součtu pomocí prosté sumy by proto byla značně neefektivní. Pomocí Landauovy symboliky lze toto pozorování vyjádřit konstatováním, že výpočetní složitost součtu samotného je \(\mathcal{O}(n)\) a Gaussova vzorce \(\mathcal{O}(1)\). O Landauově symbolice se dozvíte na přednáškách BI-ZMA a zejména BI-ZDM.
Další součet, který jsme schopni vyjádřit explicitně bez symbolu sumy, je obsahem následujícího příkladu.
Pro každé reálné \(q\) různé od \(1\) a přirozené \(n\) platí
Důkaz vzorce pro součet členů geometrické posloupnosti :
Označme si zkoumaný výraz jako \begin{equation*} S_n := \sum_{k=1}^n q^{k-1}, \quad n\in\N.\end{equation*} Všimněme si, jak se tento výraz chová vzhledem k vynásobení kvocientem \(q\). Konkrétně přímo z definice \(S_n\) plynou vztahy \begin{equation*} \begin{aligned} S_{n+1} &= 1 + q + q^2 + q^3 + \cdots + q^{n-1} + q^n = 1 + q\big( 1 + q + \cdots + q^{n-2} + q^{n-1} \big) = \\ &= 1 + q S_n, \\ S_{n+1} &= S_n + q^n, \end{aligned}\end{equation*} platné pro libovolné kladné přirozené \(n\). Porovnáním těchto dvou různých výrazů pro \(S_{n+1}\) dostáváme rovnost \begin{equation*} 1 + q S_n = S_n + q^n, \quad n\in\N,\end{equation*} odkud \begin{equation*} S_n (1-q) = 1 - q^n, \quad n\in\N.\end{equation*} Za uvedeného předpokladu \(q\neq 1\) pak ihned dostáváme dokazovaný vztah (3.19). Alternativně bychom se také mohli odvolat na poznámku 2.8.
\(\square\)Alternativní důkaz vzorce pro součet členů geometrické posloupnosti :
Každé tvrzení může mít více důkazů, neexistuje vždy jen jeden. Důkazy se od sebe ale mohou lišit svou komplexitou a půvabností. Vzorec pro součet prvních několika členů geometrické posloupnosti bychom alternativně mohli dokázat invokováním již dokázané věty 2.7. V ní položme \(a = q\) a \(b = 1\). Pak tvrzení uvedené věty po vynásobení obou stran číslem \(-1\) říká, že pro každé \(n\in\mathbb{N}_0\) platí rovnost \begin{equation*} 1 - q^n = (1 - q) \sum_{k=0}^{n-1} q^k.\end{equation*} Za předpokladu \(q \neq 1\) tedy dostáváme hledaný vztah \begin{equation*} \sum_{k=0}^{n-1} q^k = \frac{1-q^n}{1-q}.\end{equation*}
\(\square\)K procvičení základních operací se sumami vypočtěte \begin{equation*} \sum_{k=1}^5 1, \quad \sum_{k=1}^6 k - \sum_{k=1}^6 (k+1).\end{equation*}
Který z následujících výrazů lze bez dalšího komentáře jednoznačně interpretovat, tedy přiřadit mu jednoznačně číselnou hodnotu? \begin{equation*} \begin{aligned} &\text{a)} \ \sum_{k}^4 k+1, & &\text{b)} \ j\sum_{j=1}^{30} 30k, \\ &\text{c)} \ \sum_{j} 2j, & &\text{d)} \ \sum_{j=1}^{2j} \sin j. \end{aligned}\end{equation*}
Podobně jako součet lze zkráceně zapisovat i součin. K tomu se používá velké řecké písmeno \(\prod\) (čti pí, produkt). Například součin prvních deseti přirozených čísel lze zapsat \begin{equation*} {\color{red}1} \cdot 2 \cdot 3 \cdot 4 \cdot 5 \cdot 6 \cdot 7 \cdot 8 \cdot 9 \cdot {\color{blue}10} = \prod_{k= {\color{red}1}}^{{\color{blue}10}} k.\end{equation*} S produkty se manipuluje velmi podobně jako se sumami. Jediným rozdílem je, že místo sčítání používáme násobení, jinak je myšlenka stejná. Například platí \begin{equation*} \begin{aligned} \prod_{k=1}^n a_k \cdot b_k &= \Big( \prod_{k=1}^n a_k \Big) \cdot \Big( \prod_{k=1}^n b_k \Big), \\ \prod_{k=1}^n c \cdot a_k &= c^n \prod_{k=1}^n a_k. \end{aligned}\end{equation*}