# Difference operator

In mathematics, a **difference operator** maps a function, *f*(*x*), to another function, *f*(*x + a*) − *f*(*x + b*).

The **forward difference operator**

occurs frequently in the calculus of finite differences, where it plays a role formally similar to that of the derivative, but used in discrete circumstances. Difference equations can often be solved with techniques very similar to those for solving differential equations. Analogously we can have the **backward difference operator**

When restricted to polynomial functions *f*, the forward difference operator is a delta operator, i.e., a shift-equivariant linear operator on polynomials that reduces degree by 1. For any polynomial function *f* we have

where

is the "falling factorial" or "lower factorial" and the empty product (*x*)_{0} defined to be 1.
(**Warning:** In the theory of special functions, the notation (*x*)_{k} is often used for rising factorials; the former notation, however, is universal among combinatorialists.) In analysis with p-adic numbers, the assumption that *f* is a polynomial function can be weakened all the way to the assumption that *f* is merely continuous. That is Mahler's theorem.

Note that only finitely many terms in the above sum are non-zero: Δ^{k} *f* = 0 if *k* is greater than the degree of *f*. Note also the formal similarity of this result and Taylor's theorem.