05 May 2012


The first post will probably be a bit boring but this is a step we need to go through in order to understand each other later.
Here, we just want to list all (or at least most) of the conventions we are going to use in our blog.

Greek letters

Greek letters are used as constants or angles. For example $\pi$ is the constant 3.14159....


Functions are identified by Latin letters like $f$ or $g$ and the variable is always seen in the definition. For example $f(x)$ is a function depending on $x$.
If we want to describe a recursive function we put an index below the function name.
$$g_i(x) = g_{i-1}(x) + 2x^2$$

Vectors and Matrix

Vectors are identified by bold Latin letters with a bar above them and Matrix are just bold capital letters
$${\bf A \bar{x}}= {\bf \bar{y}}$$
To indicate a component of a vector we put an index below the vector name and we do not put the bar above
$${\bf \bar{v}} = ({\bf v}_1, {\bf v}_2)$$


Sets are identified by big Latin letters $A$ or $B$. A definition of a set is done using $\{$ and $\}$ for example:
$$ A = \{a, e, o ,i , u\}, \, B = \{a, b, c ,d , e\}, \,  C = \{a, c, e\}, \, D = \{a, e\}, \, E =  \{a, b, c, d, e, o ,i , u\}$$
Element membership is expressed as  $a \in A$ and not membership $b \notin A$
The usual operation are defined between sets
  • Equal $\equiv$ and not equal $\not\equiv$

  •           $$A \equiv A, \, A \not\equiv B$$
  • Inclusion $\subset$ or $\supset$ and its negation $\not\subset$ or $\not\supset$.
          $$C \subset B, \, B \supset C, \, C \not\subset A, \, A \not\supset B$$

  • Intersection $\cap$ and union $\cup$
          $$A \cap B \equiv D, \, A \cup B \equiv E$$

    Binary Operators (Bit-wise operators)

    • LEFT SHIFT $\ll$
    • RIGHT SHIFT $\gg$
    • AND $\&$
    • OR  $|$
    • XOR $\otimes$
    • MOD $\%$

    Other Symbols

    $\sum{}$ is used to indicate a repeated sum over indexes. For example
    $$\sum_{i=0}^n g_i$$
    is the sum of all $g$ with index between $0$ and $n$.
    The same is for the symbol $\prod$ where  the product is used instead of the sum,
    $\lceil a \rceil$ is to indicate the upper value of a and $\lfloor a \rfloor$ the lower value.
    $\log$ is always the $\log_2$ of a number.
    $\approx$ means almost equals to.
    $\partial$ is a derivative and $\int$ is an integral

    Order of growth

    We indicate the order of growth with a big $O$ and the parameter in the brackets. For example
    is the sign of a linear growth.
    The order of growth is an indication of the efficiency of the algorithm. If an algorithm is $O(n)$ is called linear and it completes in a number of operation proportional to the size of the problem $n$. If we have an algorithm that is $O(n^2)$ it will complete in a number of operation proportional to the squared of the size of the problem.

    "Pseudo" code

    There won't be any "Pseudo code" we will use C/C++ code. We think that C/C++ can be clear enough for our purpose.