# Iterated function

In mathematics, an **iterated function** is a function *X → X* (that is, a function from some set X to itself) which is obtained by composing another function *f* : *X* → *X* with itself a certain number of times. The process of repeatedly applying the same function is called iteration. In this process, starting from some initial number, the result of applying a given function is fed again in the function as input, and this process is repeated.

Iterated functions are objects of study in computer science, fractals, dynamical systems, mathematics and renormalization group physics.

Defining *f* ^{n} as the *n*-th iterate of *f* (a notation introduced by Hans Heinrich Bürmann^{[citation needed]}^{[1]}^{[2]} and John Frederick William Herschel^{[3]}^{[1]}^{[4]}^{[2]}), where *n* is a non-negative integer, by:

where id_{X} is the identity function on *X* and *f*○*g* denotes function composition. That is,

Because the notation *f* ^{n} may refer to both iteration (composition) of the function *f* or exponentiation of the function *f* (the latter is commonly used in trigonometry), some mathematicians^{[citation needed]} choose to use ∘ to denote the compositional meaning, writing *f*^{∘n}(*x*) for the n-th iterate of the function *f*(*x*), as in, for example, *f*^{∘3}(*x*) meaning *f*(*f*(*f*(*x*))). For the same purpose, *f*^{[n]}(*x*) was used by Benjamin Peirce^{[5]}^{[2]} whereas Alfred Pringsheim and Jules Molk suggested ^{n}*f*(*x*) instead.^{[6]}^{[2]}^{[nb 1]}

In general, the following identity holds for all non-negative integers m and n,

This is structurally identical to the property of exponentiation that *a*^{m}*a*^{n} = *a*^{m + n}, i.e. the special case *f*(*x*) = *ax*.

In general, for arbitrary general (negative, non-integer, etc.) indices m and n, this relation is called the **translation functional equation**, cf. Schröder's equation and Abel equation. On a logarithmic scale, this reduces to the **nesting property** of Chebyshev polynomials, *T*_{m}(*T*_{n}(*x*)) = *T*_{m n}(*x*), since *T*_{n}(*x*) = cos(*n* arccos(*x*)).

The relation (*f*^{ m})^{n}(*x*) = (*f*^{ n})^{m}(*x*) = *f*^{ mn}(*x*) also holds, analogous to the property of exponentiation that (*a*^{m})^{n} = (*a*^{n})^{m} = *a*^{mn}.

The sequence of functions *f* ^{n} is called a **Picard sequence**,^{[7]}^{[8]} named after Charles Émile Picard.

For a given x in X, the sequence of values *f*^{n}(*x*) is called the **orbit** of x.

If *f* ^{n} (*x*) = *f* ^{n+m} (*x*) for some integer m, the orbit is called a **periodic orbit**. The smallest such value of m for a given x is called the **period of the orbit**. The point x itself is called a periodic point. The cycle detection problem in computer science is the algorithmic problem of finding the first periodic point in an orbit, and the period of the orbit.

If *f*(*x*) = *x* for some x in X (that is, the period of the orbit of x is 1), then x is called a **fixed point** of the iterated sequence. The set of fixed points is often denoted as **Fix**(*f*). There exist a number of fixed-point theorems that guarantee the existence of fixed points in various situations, including the Banach fixed point theorem and the Brouwer fixed point theorem.

There are several techniques for convergence acceleration of the sequences produced by fixed point iteration.^{[9]} For example, the Aitken method applied to an iterated fixed point is known as Steffensen's method, and produces quadratic convergence.

Upon iteration, one may find that there are sets that shrink and converge towards a single point. In such a case, the point that is converged to is known as an attractive fixed point. Conversely, iteration may give the appearance of points diverging away from a single point; this would be the case for an unstable fixed point.^{[10]} When the points of the orbit converge to one or more limits, the set of accumulation points of the orbit is known as the **limit set** or the **ω-limit set**.

The ideas of attraction and repulsion generalize similarly; one may categorize iterates into stable sets and unstable sets, according to the behaviour of small neighborhoods under iteration. (Also see Infinite compositions of analytic functions.)

Other limiting behaviours are possible; for example, wandering points are points that move away, and never come back even close to where they started.

If one considers the evolution of a density distribution, rather than that of individual point dynamics, then the limiting behavior is given by the invariant measure. It can be visualized as the behavior of a point-cloud or dust-cloud under repeated iteration. The invariant measure is an eigenstate of the Ruelle-Frobenius-Perron operator or transfer operator, corresponding to an eigenvalue of 1. Smaller eigenvalues correspond to unstable, decaying states.

In general, because repeated iteration corresponds to a shift, the transfer operator, and its adjoint, the Koopman operator can both be interpreted as shift operators action on a shift space. The theory of subshifts of finite type provides general insight into many iterated functions, especially those leading to chaos.

The notion *f*^{1/n} must be used with care when the equation *g*^{n}(*x*) = *f*(*x*) has multiple solutions, which is normally the case, as in Babbage's equation of the functional roots of the identity map. For example, for *n* = 2 and *f*(*x*) = 4*x* − 6, both *g*(*x*) = 6 − 2*x* and *g*(*x*) = 2*x* − 2 are solutions; so the expression *f*^{ 1/2}(*x*) doesn't denote a unique function, just as numbers have multiple algebraic roots. The issue is quite similar to the expression "0/0" in arithmetic. A trivial root of *f* can always be obtained if *f*'s domain can be extended sufficiently, cf. picture. The roots chosen are normally the ones belonging to the orbit under study.

Fractional iteration of a function can be defined: for instance, a half iterate of a function f is a function g such that *g*(*g*(*x*)) = *f*(*x*).^{[11]} This function *g*(*x*) can be written using the index notation as *f*^{ 1/2}(*x*) . Similarly, *f*^{ 1/3}(*x*) is the function defined such that *f*^{1/3}(*f*^{1/3}(*f*^{1/3}(*x*))) = *f*(*x*), while *f*^{2/3}(*x*) may be defined as equal to *f*^{ 1/3}(*f*^{1/3}(*x*)), and so forth, all based on the principle, mentioned earlier, that *f*^{ m} ○ *f*^{ n} = *f*^{ m + n}. This idea can be generalized so that the iteration count n becomes a **continuous parameter**, a sort of continuous "time" of a continuous orbit.^{[12]}^{[13]}

In such cases, one refers to the system as a flow. (cf. Section on conjugacy below.)

Negative iterates correspond to function inverses and their compositions. For example, *f*^{ −1}(*x*) is the normal inverse of f, while *f*^{ −2}(*x*) is the inverse composed with itself, i.e. *f*^{ −2}(*x*) = *f*^{ −1}(*f*^{ −1}(*x*)). Fractional negative iterates are defined analogously to fractional positive ones; for example, *f*^{ −1/2}(*x*) is defined such that *f*^{ −1/2}(*f*^{ −1/2}(*x*)) = *f*^{ −1}(*x*), or, equivalently, such that *f*^{ −1/2}(*f*^{ 1/2}(*x*)) = *f*^{ 0}(*x*) = *x*.

One of several methods of finding a series formula for fractional iteration, making use of a fixed point, is as follows.^{[14]}

This can be carried on indefinitely, although inefficiently, as the latter terms become increasingly complicated. A more systematic procedure is outlined in the following section on **Conjugacy**.

For example, setting *f*(*x*) = *Cx* + *D* gives the fixed point *a* = *D*/(1 − *C*), so the above formula terminates to just

So set *x* = 1 and *f* ^{n} (1) expanded around the fixed point value of 2 is then an infinite series,

With the function *f*(*x*) = *x*^{b}, expand around the fixed point 1 to get the series

If f and g are two iterated functions, and there exists a homeomorphism h such that *g* = *h*^{−1} ○ *f* ○ *h* , then f and g are said to be topologically conjugate.

Clearly, topological conjugacy is preserved under iteration, as *g*^{n} = *h*^{−1} ○ *f* ^{n} ○ *h*. Thus, if one can solve for one iterated function system, one also has solutions for all topologically conjugate systems. For example, the tent map is topologically conjugate to the logistic map. As a special case, taking *f*(*x*) = *x* + 1, one has the iteration of *g*(*x*) = *h*^{−1}(*h*(*x*) + 1) as

Even in the absence of a strict homeomorphism, near a fixed point, here taken to be at x = 0, f(0) = 0, one may often solve^{[15]} Schröder's equation for a function Ψ, which makes *f*(*x*) locally conjugate to a mere dilation, *g*(*x*) = *f* '(0) *x*, that is

Thus, its iteration orbit, or flow, under suitable provisions (e.g., *f* '(0) ≠ 1), amounts to the conjugate of the orbit of the monomial,

where n in this expression serves as a plain exponent: *functional iteration has been reduced to multiplication!* Here, however, the exponent n no longer needs be integer or positive, and is a continuous "time" of evolution for the full orbit:^{[16]} the monoid of the Picard sequence (cf. transformation semigroup) has generalized to a full continuous group.^{[17]}

This method (perturbative determination of the principal eigenfunction Ψ, cf. Carleman matrix) is equivalent to the algorithm of the preceding section, albeit, in practice, more powerful and systematic.

If the function is linear and can be described by a stochastic matrix, that is, a matrix whose rows or columns sum to one, then the iterated system is known as a Markov chain.

There are many chaotic maps. Well-known iterated functions include the Mandelbrot set and iterated function systems.

Ernst Schröder,^{[19]} in 1870, worked out special cases of the logistic map, such as the chaotic case *f*(*x*) = 4*x*(1 − *x*), so that Ψ(*x*) = arcsin^{2}(√*x*), hence *f* ^{n}(*x*) = sin^{2}(2^{n} arcsin(√*x*)).

A nonchaotic case Schröder also illustrated with his method, *f*(*x*) = 2*x*(1 − *x*), yielded Ψ(*x*) = −
1/2 ln(1 − 2*x*), and hence *f*^{n}(*x*) = −
1/2((1 − 2*x*)^{2n} − 1).

If *f* is the action of a group element on a set, then the iterated function corresponds to a free group.

Most functions do not have explicit general closed-form expressions for the *n*-th iterate. The table below lists some^{[19]} that do. Note that all these expressions are valid even for non-integer and negative *n*, as well as non-negative integer *n*.

Note: these two special cases of *ax*^{2} + *bx* + *c* are the only cases that have a closed-form solution. Choosing *b* = 2 = –*a* and *b* = 4 = –*a*, respectively, further reduces them to the nonchaotic and chaotic logistic cases discussed prior to the table.

Some of these examples are related among themselves by simple conjugacies. A few further examples, essentially amounting to simple conjugacies of Schröder's examples can be found in ref.^{[21]}

Iterated functions can be studied with the Artin–Mazur zeta function and with transfer operators.

In computer science, iterated functions occur as a special case of recursive functions, which in turn anchor the study of such broad topics as lambda calculus, or narrower ones, such as the denotational semantics of computer programs.

Two important functionals can be defined in terms of iterated functions. These are summation:

The functional derivative of an iterated function is given by the recursive formula:

Iterated functions crop up in the series expansion of combined functions, such as *g*(*f*(*x*)).

For example, for rigid advection, if *f*(*x*) = *x* + *t*, then *v*(*x*) = *t*. Consequently, *g*(*x* + *t*) = exp(*t* ∂/∂*x*) *g*(*x*), action by a plain shift operator.

Conversely, one may specify *f*(*x*) given an arbitrary *v*(*x*), through the generic Abel equation discussed above,

For continuous iteration index t, then, now written as a subscript, this amounts to Lie's celebrated exponential realization of a continuous group,

The initial flow velocity v suffices to determine the entire flow, given this exponential realization which automatically provides the general solution to the *translation functional equation*,^{[23]}