Skip to main content
\(\newcommand{\set}[1]{\{1,2,\dotsc,#1\,\}} \newcommand{\ints}{\mathbb{Z}} \newcommand{\posints}{\mathbb{N}} \newcommand{\rats}{\mathbb{Q}} \newcommand{\reals}{\mathbb{R}} \newcommand{\complexes}{\mathbb{C}} \newcommand{\twospace}{\mathbb{R}^2} \newcommand{\threepace}{\mathbb{R}^3} \newcommand{\dspace}{\mathbb{R}^d} \newcommand{\nni}{\mathbb{N}_0} \newcommand{\nonnegints}{\mathbb{N}_0} \newcommand{\dom}{\operatorname{dom}} \newcommand{\ran}{\operatorname{ran}} \newcommand{\prob}{\operatorname{prob}} \newcommand{\Prob}{\operatorname{Prob}} \newcommand{\height}{\operatorname{height}} \newcommand{\width}{\operatorname{width}} \newcommand{\length}{\operatorname{length}} \newcommand{\crit}{\operatorname{crit}} \newcommand{\inc}{\operatorname{inc}} \newcommand{\HP}{\mathbf{H_P}} \newcommand{\HCP}{\mathbf{H^c_P}} \newcommand{\GP}{\mathbf{G_P}} \newcommand{\GQ}{\mathbf{G_Q}} \newcommand{\AG}{\mathbf{A_G}} \newcommand{\GCP}{\mathbf{G^c_P}} \newcommand{\PXP}{\mathbf{P}=(X,P)} \newcommand{\QYQ}{\mathbf{Q}=(Y,Q)} \newcommand{\GVE}{\mathbf{G}=(V,E)} \newcommand{\HWF}{\mathbf{H}=(W,F)} \newcommand{\bfC}{\mathbf{C}} \newcommand{\bfG}{\mathbf{G}} \newcommand{\bfH}{\mathbf{H}} \newcommand{\bfF}{\mathbf{F}} \newcommand{\bfI}{\mathbf{I}} \newcommand{\bfK}{\mathbf{K}} \newcommand{\bfP}{\mathbf{P}} \newcommand{\bfQ}{\mathbf{Q}} \newcommand{\bfR}{\mathbf{R}} \newcommand{\bfS}{\mathbf{S}} \newcommand{\bfT}{\mathbf{T}} \newcommand{\bfNP}{\mathbf{NP}} \newcommand{\bftwo}{\mathbf{2}} \newcommand{\cgA}{\mathcal{A}} \newcommand{\cgB}{\mathcal{B}} \newcommand{\cgC}{\mathcal{C}} \newcommand{\cgD}{\mathcal{D}} \newcommand{\cgE}{\mathcal{E}} \newcommand{\cgF}{\mathcal{F}} \newcommand{\cgG}{\mathcal{G}} \newcommand{\cgM}{\mathcal{M}} \newcommand{\cgN}{\mathcal{N}} \newcommand{\cgP}{\mathcal{P}} \newcommand{\cgR}{\mathcal{R}} \newcommand{\cgS}{\mathcal{S}} \newcommand{\bfn}{\mathbf{n}} \newcommand{\bfm}{\mathbf{m}} \newcommand{\bfk}{\mathbf{k}} \newcommand{\bfs}{\mathbf{s}} \newcommand{\bijection}{\xrightarrow[\text{onto}]{\text{$1$--$1$}}} \newcommand{\injection}{\xrightarrow[]{\text{$1$--$1$}}} \newcommand{\surjection}{\xrightarrow[\text{onto}]{}} \newcommand{\nin}{\not\in} \newcommand{\prufer}{\mbox{prüfer}} \DeclareMathOperator{\fix}{fix} \DeclareMathOperator{\stab}{stab} \DeclareMathOperator{\var}{var} \newcommand{\inv}{^{-1}} \newcommand{\lt}{ < } \newcommand{\gt}{ > } \newcommand{\amp}{ & } \)

Section9.5Formalizing our approach to recurrence equations

So far, our approach to solving recurrence equations has been based on intuition, and we've not given a lot of explanation for why the solutions we've given have been the general solution. In this section, we endeavor to remedy this. Some familiarity with the language of linear algebra will be useful for the remainder of this section, but it is not essential.

Our techniques for solving recurrence equations have their roots in a fundamentally important concept in mathematics, the notion of a vector space. Recall that a vector space 1  consists of a set \(V\) of elements called vectors; in addition, there is a binary operation called addition with the sum of vectors \(x\) and \(y\) denoted by \(x+y\); furthermore, there is an operation called scalar multiplication which combines a scalar (real number) \(\alpha\) and a vector \(x\) to form a product denoted \(\alpha x\). These operations satisfy the following properties:

  1. \(x+y=y+x\) for every \(x,y,\in V\).

  2. \(x+(y+z) = (x+y)+z\), for every \(x,y,z\in V\).

  3. There is a vector called zero and denoted \(0\) so that \(x+0=x\) for every \(x\in V\). Note: We are again overloading an operator and using the symbol \(0\) for something other than a number.

  4. For every element \(x\in V\), there is an element \(y\in V\), called the additive inverse of \(x\) and denoted \(-x\) so that \(x+(-x)=0\). This property enables us to define subtraction, i.e., \(x-y= x+(-y)\).

  5. \(1x=x\) for every \(x\in X\).

  6. \(\alpha(\beta x) = (\alpha\beta)x\), for every \(\alpha,\beta\in\reals\) and every \(x\in V\).

  7. \(\alpha(x+y)=\alpha x + \alpha y\) for every \(\alpha\in\reals\) and every \(x,y\in V\).

  8. \((\alpha +\beta) x = \alpha x + \beta x\), for every \(\alpha,\beta\in\reals\) and every \(x\in V\).

When \(V\) is a vector space, a function \(\phi\colon V\rightarrow V\) is called an linear operator, or just operator for short, when \(\phi(x+y)=\phi(x)+\phi(y)\) and \(\phi(\alpha x)=\alpha\phi(x)\). When \(\phi\colon V\rightarrow V\) is an operator, it is customary to write \(\phi x\) rather than \(\phi(x)\), saving a set of parentheses. The set of all operators over a vector space \(V\) is itself a vector space with addition defined by \((\phi+\rho)x = \phi x +\rho x\) and scalar multiplication by \((\alpha\phi)x=\alpha(\phi x)\).

In this chapter, we focus on the real vector space \(V\) consisting of all functions of the form \(f\colon\ints\rightarrow\reals\). Addition is defined by \((f+g)(n)= f(n)+g(n)\) and scalar multiplication is defined by \((\alpha f)(n)=\alpha(f(n))\).

Subsection9.5.1The Principal Theorem

Here is the basic theorem about solving recurrence equations (stated in terms of advancement operator equations)—and while we won't prove the full result, we will provide enough of an outline where it shouldn't be too difficult to fill in the missing details.

The conclusion that the set \(W\) of all solutions is a subspace of \(V\) is immediate, since \begin{equation*} p(A)(f+g)=p(A)f+p(A)g\quad\text{ and } \quad p(a)(\alpha f)=\alpha p(A)(f). \end{equation*} What takes a bit of work is to show that \(W\) is a \(k\)-dimensional subspace. But once this is done, then to solve the advancement operator equation given in the form of Theorem 9.18, it suffices to find a basis for the vector space \(W\). Every solution is just a linear combination of basis vectors. In the next several subsections, we outline how this goal can be achieved.

Subsection9.5.2The Starting Case

The development proceeds by induction (surprise!) with the case \(k=1\) being the base case. In this case, we study a simple equation of the form \((c_0A+c_1)f=0\). Dividing by \(c_0\) and rewriting using subtraction rather than addition, it is clear that we are just talking about an equation of the form \((A-r)f=0\) where \(r\neq0\).

Using the preceding two results, we can now provide an outline of the inductive step in the proof of Theorem 9.18, at least in the case where the polynomial in the advancement operator has distinct roots.


Subsection9.5.3Repeated Roots

It is straightforward to modify the proof given in the preceding section to obtain the following result. We leave the details as an exercise.

Subsection9.5.4The General Case

Combining the results in the preceding sections, we can quickly write the general solution of any homogeneous equation of the form \(p(A)f=0\) provided we can factor the polynomial \(p(A)\). Note that in general, this solution takes us into the field of complex numbers, since the roots of a polynomial with real coefficients are sometimes complex numbers—with non-zero imaginary parts.

We close this section with one more example to illustrate how quickly we can read off the general solution of a homogeneous advancement operator equation \(p(A)f=0\), provided that \(p(A)\) is factored.


Consider the advancement operator equation \begin{equation*} (A-1)^5(A+1)^3(A-3)^2(A+8)(A-9)^4f=0. \end{equation*} Then every solution has the following form \begin{align*} f(n)=\amp c_1+c_2n+c_3n^2+c_4n^3+c_5n^4\\ \amp +c_6(-1)^n+c_7n(-1)^n+c_8n^2(-1)^n\\ \amp +c_93^n+c_{10}n3^n\\ \amp +c_{11}(-8)^n\\ \amp +c_{12}9^n +c_{13}n 9^n+c_{14}n^2 9^n +c_{15}n^39^n. \end{align*}