The big O, big theta, and other notations form the family of Bachmann-Landau or asymptotic notations. These notations describe the limiting behavior of a function in mathematics or classify algorithms in computer science according to their complexity / processing time. In this post, I’m not so much interested in the definition of these notations, but rather in how to correctly typeset them in LaTeX.
Example of a big O notation
There are two possible ways to type the big O:
$O(n\log{}n)$ % regular O
$\mathcal{O}(n\log{}n)$ % Open at top left
The latter produces the following:
No additional package is required for either of these.
Complete list of Bachmann-Landau notations
The complete list of Bachmann-Landau or asymptotic notations is given below. To copy-paste any of these, use the source code.
\documentclass[11pt]{article}
\newcommand{\bslash}{\char`\\}
\begin{document}
\section*{Big O notations}
$\mathcal{O}(n\log{}n)$
\section*{Family of Bachmann-Landau notations}
\setlength{\tabcolsep}{12pt}
\renewcommand*{\arraystretch}{1.2}
\begin{tabular}{lcl}
\hline
Name&Notation&Command\\
\hline
{\bf Big O(micron)}&$\mathcal{O}$ or $O$&\texttt{\$\bslash mathcal\{O\}\$ or \$O\$}\\
{\bf Big Omega}&$\Omega$&\texttt{\$\bslash Omega\$}\\
{\bf Big Theta}&$\Theta$&\texttt{\$\bslash Theta\$}\\
{\bf Small O(micron)}&$o$&\texttt{\$o\$}\\
{\bf Small Omega}&$\omega$&\texttt{\$\bslash omega\$}\\
{\bf On the order of}&$\sim$&\texttt{\$\bslash sim\$}\\
\hline
\end{tabular}
\vspace{10pt}\hfill{\scriptsize Created by http://texblog.org}
\end{document}


Very nice!
Thank you for that small tip. Just thought about investing an hour how to write this down properly.
This may be usefull:
\renewcommand{\O}[1]{$\mathcal{O}(#1)$}Thanks, interesting suggestion! Here is a minimal working example for illustration:
\documentclass[11pt]{article} \renewcommand{\O}[1]{$\mathcal{O}(#1)$} \begin{document} \O{n} \end{document}It is very nice, but I would define a new command so that the original meaning of `
\O` (which gives us Ø) is not lost. So I would do like this\newcommand\bigO[1]{$\mathcal{O}(#1)$}A good point, thanks much. Best, Tom
thank you