Iterated logarithm


Image:Iterated logarithm.png|right|300px|thumb|Figure 1. Demonstrating log* 4 = 2 for the base-e iterated logarithm. The value of the iterated logarithm can be found by "zig-zagging" on the curve y = logb from the input n, to the interval . In this case, b = e. The zig-zagging entails starting from the point and iteratively moving to, to, to.
In computer science, the iterated logarithm of, written, is the number of times the logarithm function must be iteratively applied before the result is less than or equal to. The simplest formal definition is the result of this recurrence relation:
In computer science, is often used to indicate the binary iterated logarithm, which iterates the binary logarithm instead of the natural logarithm. Mathematically, the iterated logarithm is well defined for any base greater than, not only for base and base e. The "super-logarithm" function is "essentially equivalent" to the base iterated logarithm and forms an inverse to the operation of tetration.

Analysis of algorithms

The iterated logarithm is useful in analysis of algorithms and computational complexity, appearing in the time and space complexity bounds of some algorithms such as:
The iterated logarithm grows at an extremely slow rate, much slower than the logarithm itself, or repeats of it. This is because the tetration grows much faster than iterated exponential:
the inverse grows much slower:.
For all values of n relevant to counting the running times of algorithms implemented in practice, the iterated logarithm with base 2 has a value no more than 5.
x x
0
1
2
3
4
5

Higher bases give smaller iterated logarithms.

Other applications

The iterated logarithm is closely related to the generalized logarithm function used in symmetric level-index arithmetic. The additive persistence of a number, the number of times someone must replace the number by the sum of its digits before reaching its digital root, is.
In computational complexity theory, Santhanam shows that the computational resources DTIMEcomputation time for a deterministic Turing machine — and NTIMEcomputation time for a non-deterministic Turing machine — are distinct up to