3.1 Poznámka k matematické notaci

Každý programovací jazyk vyžaduje dodržování správného zápisu kódu neboli syntaxe. Pokud programátor zvyklosti daného jazyka nedodržuje, může být jeho kód pro překladač (případně interpretr) nesrozumitelný, a tedy nepoužitelný. Ačkoliv matematika nemá žádný pevně kodifikovaný způsob značení20, je dobré dodržovat některé zažité zvyklosti. V této podkapitole se proto pokusíme shrnout alespoň ty nejčastěji používané notační zvyklosti.

Poznámka 3.1

Často se u studentů setkávám s překvapením nad tímto stavem. Proč není matematická notace a terminologie jasně a globálně kodifikována? Ano, existuje mezinárodní standard  ISO 80000-2, který se snaží některé symboly a pojmy zafixovat, ale není příliš rozšířený. Jednotné značení a názvosloví se nepoužívá jednak z historických důvodů, ale zejména i kvůli rozdílným potřebám různých matematických odvětví. Matematika je kreativní a živá, svázat ji ISO standardem nedává smysl. I v malířství a umění existuje spousta stylů využívajících různé nástroje k dosažení podobných výsledků. Podobně, proč neexistuje pouze jeden programovací jazyk? A je to dobře.

Co ovšem platí globálně je právě logická struktura matematiky a způsob jakým se matematika buduje. Jinak řečeno, je poměrně jedno v jakých symbolech a v jakém jazyce mluvím, jde o to jakým způsobem a jakými pravidly se řídím. Je ovšem velmi vhodné v rámci daného textu/kurzu/knihy držet jednotnou notaci. To je konec konců smysl této kapitoly.

3.1.1 Rovnost a rovnice

Nejprve rozebereme význam veledůležitého symbolu rovnosti $=$. V programovacích jazycích i v matematickém zápisu hraje symbol $=$ zásadní roli. Bohužel v každé z těchto oblastí se používá trochu jiným způsobem, což může být velmi často matoucí.

V drtivé většině programovacích jazyků má symbol = význam tzv. přiřazení. Například řádek kódu

a = 2

často značí, že od této chvíle má jistá proměnná a hodnotu 2. Podobně kód

a = a + 1

počítači říká, že nová hodnota proměnné a má být stará hodnota proměnné a zvětšená o 1. Dále při programování často narazíme na symbol ==, který testuje skutečnou rovnost dvou objektů. Tedy například kód

a == b

je vyhodnocen jako pravdivý (true), pokud se objekty a a b rovnají21. V opačném případě je vyhodnocen jako nepravdivý (false).

V matematickém zápisu je situace o něco komplikovanější. V podstatě lze říci, že velmi závisí na kontextu, v jakém se symbol $=$ používá. Základní rolí symbolu $=$ je vyjádření rovnosti dvou známých objektů. Tímto způsobem je formulováno tvrzení, např.

\begin{equation}\label{eqRovnost}\tag{3.1} a = b, \end{equation}

kde $a$ a $b$ jsou jisté definované objekty, které je buď pravdivé, nebo ne. Pro přirozené číslo $4$ je rovnost $4=4$ pravdivá, ale pro čísla $4$ a $3$ je rovnost $4=3$ nepravdivá. V tomto významu má matematický symbol $=$ blízko k výše uvedenému programátorskému ==.

Symbol $=$ se dále používá k zápisu rovnice. Například v rovnici

\begin{equation}\label{eqRovnice}\tag{3.2} x^2 - 1 = 0 \end{equation}

označujeme pomocí $x$ neznámou, tedy objekt, který je třeba určit tak, aby po jeho dosazení do rovnice (3.2) platila rovnost mezi levou a pravou stranou této rovnice. O takovýchto instancích $x$ pak říkáme, že jsou řešením rovnice (3.2). V našem případě rovnice (3.2) jsou řešením čísla $1$ a $-1$, libovolná další reálná čísla řešením nejsou. A opravdu, po dosazení $1$ či $-1$ do rovnice (3.2) skutečně dostáváme rovnost $0=0$, která platí. Naproti tomu například po dosazení $2$ za $x$ získáme rovnost $3=0$, která je jistě nepravdivá22.

Symbol $=$ se dále používá k značení přiřazení ve smyslu programátorském. Tento autorův záměr většinou snadno odhalíme z kontextu. Podívejme se podrobně na následující textovou ukázku.

Uvažujme obdélník o stranách délky $a\,{\color{red}=}\,3$ a $b\,{\color{red}=}\,4$. Označme délku úhlopříčky tohoto obdélníku symbolem $c$. Podle Pythagorovy věty platí rovnost $c\,{\color{blue}=}\,\sqrt{a^2 + b^2}$, tedy v našem případě platí $c\,{\color{blue}=}\,5$.

První dvě použití symbolu $=$, označená červeně, jsou ve smyslu přiřazení. Od tohoto momentu mají symboly $a$ a $b$ příslušné hodnoty. V programátorské hantýrce bychom řekli, že proměnné $a$ a $b$ byly inicializovány. Druhá věta odstavce sice symbol $=$ neobsahuje, ale její význam je stejný, neboť přikládá jednoznačný význam symbolu $c$. Konečně v poslední větě se tvrdí, že modré rovnosti jsou pravdivé. Zde se už nejedná o přiřazení/definici/inicializaci, ale o platnost jistého vztahu mezi zavedenými objekty $a$, $b$ a $c$.

Někdy se ke značení přiřazení používá symbolu $:=$. Zejména po tomto symbolu saháme, chceme-li čtenáře upozornit na zavedení nového objektu. Symbol na levé straně od $:=$ je pak definován výrazem na pravé straně od $:=$. Na tomto místě čtenáře upozorňujeme, že v CAS23 Mathematica je význam probíraných symbolů ještě lehce odlišný. Podrobněji se této problematice věnujeme v kapitole č. 6.

3.1.2 Značení proměnných

Shrňme nyní několik dalších notačních zvyklostí, které se snažíme v tomto dokumentu i v dalších matematických předmětech dodržovat. Ačkoliv je volba označení používaných objektů zcela v režii autora, je dobré řídit se následujícími nepsanými pravidly.

  • Neznámé v rovnicích se označují písmeny z konce latinské abecedy, typicky například $x$, $y$, či $z$.

  • Známé – definované – objekty či parametry problému se označují písmeny ze začátku latinské abecedy, například $a$, $b$, $c$, atd. Pro číselné hodnoty se často používá řecké abecedy, tedy $\alpha, \beta, \gamma, \ldots$

  • Pro sčítací indexy (viz níže podkapitolu č. 3.6) a celočíselné veličiny se často používá písmen $i$, $j$, $k$, $\ell$, $m$ nebo $n$. Pří používání písmena $i$ je třeba dát pozor, aby nedošlo ke kolizi s imaginární jednotkou, z tohoto důvodu často označovanou též24 $\ii$.

  • Množiny se označují velkými písmeny $A, B, C,\ldots$ Body v rovině (prostoru) se také většinou označují velkými písmeny latinské abecedy.

  • K parametrizaci geometrických objektů (přímky, kružnice, plochy atp.) se používají písmena $r$, $s$, $t$.

  • Funkce většinou značíme písmeny $f$, $g$, či $h$.

Znovu zdůrazněme, že výše uvedené body nejsou absolutní. Vždy závisí na kontextu, když bez jakéhokoliv dalšího komentáře napíšeme symbol $f$, tak nevíme, jestli jde o funkci, číslo, nebo něco jiného.

3.1.3 Závorky

Dále připomeňme roli závorek v matematickém zápisu. Závorky používáme k označení argumentu funkcí (zobrazení), k upřesnění pořadí provádění operací či k značení intervalů a bodů. Bez použití závorek by řada algebraických výrazů nedávala smysl25. Ve zbytku této podkapitoly podrobněji probereme právě takové případy užití závorek.

Máme-li funkci $f$ a bod $a$ z definičního oboru funkce $f$, pak $f(a)$ označuje funkční hodnotu funkce $f$ v bodě $a$. Přesněji, $f(a)$ je číslo, naopak $f$ je abstraktní objekt typu funkce. Toto použití závorek tedy přesně odpovídá tomu, se kterým se setkáte v programovacích jazycích. Byly-li $f$ a $a$ předem definovány, význam výrazu $f(a)$ je: zavolej funkci $f$ s argumentem $a$ a vrať výsledek $f(a)$. Hodnotu $a$ lze chápat jako vstup a $f(a)$ jako výstup funkce $f$. Graficky si tuto situaci můžeme představovat jako na obrázku č. 3.1.

Obrázek 3.1: Funkce $f$ a její funkční hodnota. Na vstupu je $a$ a na výstupu $f(a)$. Funkce $f$ samotná je „černá skříňka“ zajišťující převod vstupu na výstup.

Někdy se však mluví přímo o $f(x)$ jako o funkci. Tento úhel pohledu často používáme v případě, že chceme zároveň čtenáři sdělit, jak budeme označovat nezávisle proměnnou (zde $x$). V některých případech se závorky u argumentů funkcí vynechávají, zejména z důvodů zlepšení čitelnosti a zjednodušení zápisu. Např. často píšeme $\sin \alpha$ místo $\sin(\alpha)$ nebo $\ln 2$ místo $\ln(2)$. Je však třeba opatrnosti, nebo může dojít k nedorozumění. Například výraz

\begin{equation}\label{eqLn2dot3}\tag{3.3} \ln 2\cdot 3 \end{equation}

by mohl být interpretován jako

\begin{equation*} \ln (2\cdot 3) \quad \text{nebo} \quad \ln(2) \cdot 3. \end{equation*}

Tato čísla samozřejmě nejsou stejná. Pomocí kapesního kalkulátoru26 se snadno přesvědčíme, že přibližně platí následující rovnosti

\begin{equation*} \begin{aligned} \ln ( 2\cdot 3) &= \ln(6) \approx 1.791\,759\,469\,23, \\ \ln(2) \cdot 3 &\approx 2.079\,441\,541\,68. \end{aligned} \end{equation*}

Zvláště při „ručním“ počítání27 mohou tyto nedůslednosti v zápisu a následné špatné interpretaci vést ke katastrofálním chybám. Proto je lepší multiplikativní faktory psát před funkcemi, výraz $3 \ln 2$ už má jednoznačný význam, na rozdíl od výrazu uvedeném v (3.3).

Upozorněme ještě čtenáře, že pro některé funkce se používá speciální notace nevyžadující závorky. Například druhá odmocnina se značí $\sqrt{x}$, třetí odmocnina $\sqrt[3]{x}$, nebo absolutní hodnota $|x|$. Čtenáři je také jistě známa dolní (resp. horní) celá část reálného čísla $x$ označovaná symbolem $\lfloor x \rfloor$ (resp. $\lceil x \rceil$).

Závorky se dále používají k upřesnění pořadí algebraických operací. Například výraz

\begin{equation*} \Big( a + ( c / 2 ) \Big) \cdot 3 \end{equation*}

je třeba číst následovně: nejprve vyděl $c$ dvěma a k výsledku přičti $a$, takto získané číslo vynásob třemi. Bez závorek,

\begin{equation*} a + c / 2 \cdot 3, \end{equation*}

by (bez zavedení konvencí28 přednosti operací) nebylo jasné, jak přesně tento výraz vyhodnotit. Tato situace v matematice se opět nijak neliší od situace mezi programovacími jazyky. Většina programovacích jazyků zavádí prioritu mezi svými operátory (viz např.  C Operator Precedence).

Poznámka 3.2

Může se zdát, že to co zde popisujeme je opravdu elementární a všemi studenty dobře chápané. Bohužel množství chyb které vzniknou v písemkách kvůli „nepřesnostem“ typu

\begin{equation*} \ln(1+x) = \ln 1 + x = \ln(1) + x = x \end{equation*}

ukazuje, že nejde o něco co by bylo možné v tomto textu zanedbat. Jak se těmto problémům vyvarovat? Vždy při psaní myslete na to, jakou myšlenku vyjadřujete.

3.1.4 Indexy

Na závěr této podkapitoly ještě zmiňme význam horních a dolních indexů. Horní index se většinou používá k označení mocnin, například

\begin{equation*} 3^5, \quad a^n, \quad e^2 \quad \text{atp.} \end{equation*}

Někdy se horní index používá i k označení složek vektorů nebo třeba operace komplexního sdružení čísla $a$. Často se lze setkat s $a^*$ místo $\overline{a}$. V BI-MA1 budeme používat horní index u objektů typu funkce k označení jejich derivací vyšších řádů.

Dolní index slouží k označení buď pořadí prvku v posloupnosti, složky vektoru, nebo obecněji závislosti dané veličiny na celočíselném parametru. Tento zápis má blízko k indexování prvků pole, programátorské a[2] má prakticky stejný význam jako naše $a_2$. Posloupnostmi se budeme podrobněji zabývat v BI-MA1.