linguistic:voice_change
Extensions to the Bachmann–Landau notations

Another notation sometimes used in computer science is Õ (read soft-O), which hides polylogarithmic factors. There are two definitions in use: some authors use f (n) = Õ (g (n)) as shorthand for f (n) = O (g (n) log n) for some k, while others use it as shorthand for f (n) = O (g (n) log g (n)). When g (n) is polynomial in n, there is no difference; however, the latter definition allows one to say, e.g. that n 2 n = O ~ (2 n) {\displaystyle n2^{n}={\tilde {O}}(2^{n})} while the former definition allows for log k n = O ~ (1) {\displaystyle \log ^{k}n={\tilde {O}}(1)} for any constant k. Some authors write O for the same purpose as the latter definition. Essentially, it is big O notation, ignoring logarithmic factors because the growth-rate effects of some other super-logarithmic function indicate a growth-rate explosion for large-sized input parameters that is more important to predicting bad run-time performance than the finer-point effects contributed by the logarithmic-growth factor(s). This notation is often used to obviate the "nitpicking" within growth-rates that are stated as too tightly bounded for the matters at hand (since log n is always o (n) for any constant k and any ε > 0).

Also, the L notation, defined as

is convenient for functions that are between polynomial and exponential in terms of ln n {\displaystyle \ln n}.