A quick survey of asymptotic notation#
Throughout this module, we are interested in leading order complexities of quantities. Consider a polynomial
If we are only interested in the asymptotic behaviour for large \(n\) then only the cubic term of \(p\) is relevant. Moreover, if we only want to express that the polynomial is growing cubically, the \(3\) in front of \(n^3\) is irrelevant. A convenient notation to express this is the \(\mathcal{O}\)-notation.
Definition of \(\mathcal{O}\)-notation#
Let \(g(n)\) and \(f(n)\) be two given functions for \(n\in\mathbb{N}\). If there exists \(n_0 \in \mathbb{N}\) and a constant \(C> 0\) such that
for all \(n\geq n_0\) we say that \(g(n) = \mathcal{O}(f(n))\).
This definition naturally extends to real variables \(x\in\mathbb{R}\) instead of integer variables \(n\).
Correspondingly, we can also use the \(\mathcal{O}\)-notation to describe how a function behaves as \(x\rightarrow 0\).
We say that \(g(x) = \mathcal{O(f(x))}\) as \(x\rightarrow 0\) if \(|g(x)| \leq Cf(x)\) for sufficiently small \(x\).
Examples#
For the above polynomial, we have that
At the same time, we have that \(p(n) = \mathcal{O}(5n^3)\). However, we usually do not express constants inside the \(\mathcal{O}\)-notation unless we want to emphasise their importance, since the definition of the \(\mathcal{O}\)-notation is independent of constant factors.
For small \(x\) a typical example of the \(\mathcal{O}\)-notation is in Taylor’s theorem. For example, we have that
as \(x\rightarrow 0\) as the remainder term decreases quadratically.