1 Introduction
2 Mathematics is not only about computing
3 Basic concepts
3.1 Note on mathematical notation
3.2 Sets and set operations
3.3 Number sets
3.4 Significant subsets of real numbers
3.5 Propositions and logical connectives
3.6 Abbreviated writing of sums and products
3.7 Factorial and binomial coefficient
3.8 Important constants
4 Elementary functions
5 Analytical geometry
6 Warning
7 List of the used symbols
Index
Bibliography

Every programming language requires that code be written using correct **syntax**. If a programmer does not comply with the syntax of a language
their code may be incomprehensible and hence inapplicable, for the compiler or interpreter of the language.
Although there is no firmly codified notation in mathematics
it is good to follow established notation. In this subchapter we will sum up
the most commonly used notation.

Remark 3.1

Students are often surprised that mathematical notation and terminology is not clearly and globally codified.
There is the ISO 80000-2 standard which aims to fix some symbols and names but it is not very widespread.
Uniform nomenclature is not used for historical reasons but also because of the different needs of different areas of mathematics.
Matematics is live and creative and it does not make sense to bind it with any ISO standard.
Even in painting and art there are many styles using different tools to achieve similar results.
Similarly, why is there not only one programming language?
And it is good.But what is globally true is the logical structure of mathematics and the way mathematics is built.
In other words, it does not matter what symbols we use or which language we speak, what matters is *how* and *what rules we follow*.

First we will analyze the meaning of the most important of symbols,
the **equals sign** $=$. In programming languages as well as in mathematical notation the
symbol $=$ plays a crucial role. Unfortunately, in each of these areas it is used slightly
differently, which can often be very confusing.In the vast majority of programming languages the meaning of the symbol `=`

is **assignment**.
For instance, this line of code

```
a = 2
```

often means that from this moment onwards the value of the variable `a`

is `2`

.
So does the line of code

```
a = a + 1
```

say to the computer that the new value of the variable `a`

is the old value of `a`

increased by `1`

. Furthermore, in programming we often encounter the symbol `==`

which tests actual equality of two objects. For example, the line of code

```
a == b
```

is evaluated as `true`

, if the objects `a`

and `b`

are equal^{11}.
Otherwise, it is evaluated as `false`

.

The situation with matematical notation is a bit more complicated. Basically, we can say
that the *context* in which the symbol $=$ is used plays a most important role.
The basic function of the symbol $=$ is to denote **equality** of two known objects.
In this way we can formulate a claim, e.g.

\begin{equation}\label{eq-rovnost}\tag{3.1}
a = b,
\end{equation}

where $a$ and $b$ are certain defined objects, which is either true or not. For natural number $4$ the equality $4=4$ is true,
for for numbers $4$ and $3$ the equality $4=3$ is false. In this sense
the matematical symbol $=$ is close to the programming symbol `==`

discussed above.

The symbol $=$ is also used to write down an **equation**. For instance, in the equation

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

$x$ stands for an **unknown**, an object to be determined with the property that
after we substitute it in the equation (3.2) we get equality between the left-hand side and
the right-hand side of this equation. Such instances of $x$ are then called **solutions** of the equation (3.2). In this case the equation (3.2) has two solutions, the numbers $1$ and $-1$, and no other real number
is a solution. Indeed, after substituting $1$ or $-1$ into the equation (3.2) we get an equality $0=0$, which is true. On the other hand if we substitute for instance $2$ for $x$ then we get an equality $3=0$, which is false^{12}.

The symbol $=$ is furthermore used to denote assignment in the programming sense. It can usually be easily seen from the context if it is the author's intention. Let's take a closer look at the following text sample.

The first two uses of the symbol $=$ marked with red mean assignment. From that moment on the symbols $a$ and $b$ have specific values. In programming slang we would say that variables $a$ and $b$ were inicialized. The second sentence of the paragraph does not contain the symbol $=$ but its meaning is the same because it unequivocally defines the symbol $c$. Finally, the last sentenceAssume we have a rectangle with sides of length $a\,{\color{red}=}\,3$ and $b\,{\color{red}=}\,4$. We will denote the length of the rectangle diagonal with $c$. By the Pythagoras' theorem we have that $c\,{\color{blue}=}\,\sqrt{a^2 + b^2}$, i.e. in our case $c\,{\color{blue}=}\,5$.

Sometimes we use the symbol $:=$ to denote assignment. We usually choose this symbol
when we want to emphasize that a new object has been introduced. The symbol on the left-hand side
of $:=$ is then *defined* by the expression on the right-hand side of $:=$.
Here we would like to warn the reader that CAS^{13} Mathematica uses the discussed symbols in a slightly different way. We will discuss
this topic in more detail in chapter 6.

Let us now summarize some common conventions for naming that we will use in this document as well as in the BIE-ZMA course. Although the choice of names used for objects is entirely up to the author, it is good to follow these unwritten rules.

We use letters from the end of the Latin alphabet to name unknowns in equations, for example $x$, $y$ or $z$.

We use letters from the beginning of the Latin alphabet to name known – previously defined – objects or parameters of a problem, for example $a$, $b$, $c$, etc. We often use the Greek alphabet for numerical values, i.e. $\alpha, \beta, \gamma, \ldots$

For

**summation indices**(see Section 3.6 below) and integer quantities we often use letters $i$, $j$, $k$, $\ell$, $m$ or $n$. When using the letter $i$ we must be careful not to confuse it with the imaginary unit denoted also by^{14}$\ii$.We use capital letters $A, B, C,\ldots$ to name sets. We also usually use capital letters of the latin alphabet to denote points in a plane (space).

We use letters $r$, $s$, $t$ to parametrize geometrical objects (lines, circles, areas, etc.).

Next, let's mention the role of brackets in mathematical notation. We use brackets to indicate
function (mapping) argument, to specify the order of execution of operations or to mark
intervals and points. Without parentheses, many algebraic expressions would not
make sense^{15}.
In the rest of this subchapter, we will discuss in more detail just such cases of using brackets.

If we have a function $f$ and an element $a$ from the domain of $f$, then $f(a)$ denotes the function value of $f$ in $a$. To be more precise, $f(a)$ is a number, on the other hand $f$ is an abstract object of the function type. Therefore, this use of parentheses exactly matches the usage you will find in programming languages. If $f$ and $a$ have already been defined then the meaning of $f(a)$ is: call the function $f$ with argument $a$ and return $f(a)$. The value of $a$ can be seen as input and $f(a)$ as output of the function $f$. Graphically, we can imagine this situation as in Figure 3.1.

However, sometimes we call the whole expression $f(x)$ a function. We often use this point of view if we also want to tell the reader what the variable will be called (here $x$). In some cases, brackets around function arguments are omitted, in particular when we want to improve readability and simplify notation. E.g. we often write $\sin \alpha$ instead of $\sin(\alpha)$ or $\ln 2$ instead of $\ln(2)$. We must however take care to avoid any misunderstanding. For example, the expression

\begin{equation}\label{eq-ln2dot3}\tag{3.3}
\ln 2\cdot 3
\end{equation}

could be interpreted as

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

Of course, these numbers *are not* the same. Using a calculator^{16} we can easily verify that the two expressions are approximately equal to

\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*}

Especially with „manual“ calculation^{17} these inaccuracies
may lead to catastrophic errors. Therefore it is better to write multiplicative
factors in front of functions. Here, the expression $3 \ln 2$ is defined unambiguously, as opposed to
the expression in (3.3).

Let's remind the reader that for some functions we use special notation which does not require brackets. For instance, square root is denoted by $\sqrt{x}$, cube root by $\sqrt[3]{x}$ and the absolute value by $|x|$. The reader is also familiar with the floor (resp. ceiling) of a real number $x$ denoted by the symbol $\lfloor x \rfloor$ (resp. $\lceil x \rceil$).

Parentheses are furthermore used to specify the order of algebraic operations. For example, the expression

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

should be understood as follows: first divide $c$ by two and add $a$, then multiply this number by three. Without brackets,

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

it would (without the order of operations *convention* ^{18})
not be clear how to evaluate this expression. In this respect
mathematics does not differ from programming languages. The majority of programming languages employs
operator precedence (see e.g. C Operator Precedence).

Remark 3.2

It may seem that what we describe here is really elementary and well understood by all students. Unfortunately, the number of errors that arise in tests because of such inaccuracies as

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

shows that it is not something that should be neglected in this text.

At the end of this section we will mention the importance of upper and lower indices. **Upper indices** (or **superscripts**)
are usually used to denote exponents, for instance

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

Sometimes we use upper indices to denote vector components or the complex conjugate of a complex number $a$. Often we can see $a^*$ instead of $\overline{a}$. In BIE-ZMA we will use upper indices to denote higher-order derivatives of functions.

**Lower indices** (or **subscripts**) are used to indicate either the order of an element in a sequence, or
more generally, dependence of a given quantity on an integer parameter. This notation is similar
to indexing array elements. In programming, `a[2]`

means practically the same thing
as our $a_2$. We will study sequences in more details in BIE-ZMA.