# Design considerations behind O (a.k.a. BigOh, a.k.a. Landau Order)

This works without any warnings: O[Log[x]].

This raises a warning: O[x^2].

I have a few questions around this:

1. Why is it a good idea for O[x^2] to raise a warning when O[Log[x]] does not?
2. Is O[Log[x]] meaningfully useful in Mathematica given the semantics of its O[]?
3. How does one represent $\mathcal{O}(\log(x-x_o))$ naturally in Mathematica? (Probably there is no way because it is useless...)
4. Why is O[x, x0]^2 the representation chosen by Mathematica authors instead of something like O[(x-x0)^2]?
-
The proper syntax is O[x]^2. As to why this is, that is likely something that only the authors can answer (it has been that way since version 1). For giggles, try O[x]^2 // InputForm. –  Guess who it is. Apr 16 '13 at 14:46