Is 'every exponential grows faster than every polynomial?' always true?

My algorithm textbook has a theorem that says

'For every $r > 1$ and every $d > 0$, we have $n^d = O(r^n)$.'

However, it does not provide proof.

Of course I know exponential grows faster than polynomial in most cases, but is it true for all case?

What if the polynomial function is something like $n^{100^{100}}$ and exponential is $2^n$? Will the latter outgrow the former at some point?


Solution 1:

Yes, it is true for all cases. This can be seen by noting that

$$\lim_{n\to\infty} \frac{n^k}{e^n} = 0$$

for any $k$. This can be seen by an application of L'Hospital's rule a number of times, or by using induction as here.

Solution 2:

Let $n = k^2$.

Then $n^c = k^{2c}$ and $2^n = (2^k)^k$.

Clearly $2^k \ge k+1 > k$ so all we need is $k > 2c$.

In general if we want to find $n \in \mathbb{N}$ such that $r^n > n^c$ where $r > 1$, we can do essentially the same:

Let $n = ak^2$ where $a > \log_r(2)$.

Then $r^n > (2^k)^k$ and $n^c = a^c k^{2c}$.

It is then enough to choose $k$ such that $k > a$ and $k > 3c$, so that $n^c < k^{3c} < (2^k)^k < 2^n$.

Solution 3:

Hint: Yes. See Taylor expansion of exponential function.