Recurrence relation
In mathematics, a recurrence relation is an equation that recursively defines a sequence or multidimensional array of values, once one or more initial terms are given: each further term of the sequence or array is defined as a function of the preceding terms.
The term difference equation sometimes (and for the purposes of this article) refers to a specific type of recurrence relation. However, "difference equation" is frequently used to refer to any recurrence relation.
Contents
1 Examples
1.1 Logistic map
1.2 Fibonacci numbers
1.3 Binomial coefficients
2 Relationship to difference equations narrowly defined
2.1 From sequences to grids
3 Solving
3.1 Solving homogeneous linear recurrence relations with constant coefficients
3.1.1 Roots of the characteristic polynomial
3.1.2 Solving via linear algebra
3.1.3 Solving with z-transforms
3.2 Solving non-homogeneous linear recurrence relations with constant coefficients
3.3 Solving first-order non-homogeneous recurrence relations with variable coefficients
3.4 Solving general homogeneous linear recurrence relations
3.5 Solving first-order rational difference equations
4 Stability
4.1 Stability of linear higher-order recurrences
4.2 Stability of linear first-order matrix recurrences
4.3 Stability of nonlinear first-order recurrences
5 Relationship to differential equations
6 Applications
6.1 Biology
6.2 Computer science
6.3 Digital signal processing
6.4 Economics
7 See also
8 Notes
9 References
10 External links
Examples
Logistic map
An example of a recurrence relation is the logistic map:
- xn+1=rxn(1−xn),{displaystyle x_{n+1}=rx_{n}(1-x_{n}),}
with a given constant r; given the initial term x0 each subsequent term is determined by this relation.
Some simply defined recurrence relations can have very complex (chaotic) behaviours, and they are a part of the field of mathematics known as nonlinear analysis.
Solving a recurrence relation means obtaining a closed-form solution: a non-recursive function of n.
Fibonacci numbers
The recurrence satisfied by the Fibonacci numbers is the archetype of a homogeneous linear recurrence relation with constant coefficients (see below). The Fibonacci sequence is defined using the recurrence
- Fn=Fn−1+Fn−2{displaystyle F_{n}=F_{n-1}+F_{n-2}}
with initial conditions (seed values)
- F0=0{displaystyle F_{0}=0}
- F1=1.{displaystyle F_{1}=1.}
Explicitly, the recurrence yields the equations
- F2=F1+F0{displaystyle F_{2}=F_{1}+F_{0}}
- F3=F2+F1{displaystyle F_{3}=F_{2}+F_{1}}
- F4=F3+F2{displaystyle F_{4}=F_{3}+F_{2}}
etc.
We obtain the sequence of Fibonacci numbers, which begins
- 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
The recurrence can be solved by methods described below yielding Binet's formula, which involves powers of the two roots of the characteristic polynomial t2 = t + 1; the generating function of the sequence is the rational function
- t1−t−t2.{displaystyle {frac {t}{1-t-t^{2}}}.}
Binomial coefficients
A simple example of a multidimensional recurrence relation is given by the binomial coefficients (nk){displaystyle {tbinom {n}{k}}}, which count the number of ways of selecting k elements out of a set of n elements.
They can be computed by the recurrence relation
- (nk)=(n−1k−1)+(n−1k),{displaystyle {binom {n}{k}}={binom {n-1}{k-1}}+{binom {n-1}{k}},}
with the base cases (n0)=(nn)=1{displaystyle {tbinom {n}{0}}={tbinom {n}{n}}=1}. Using this formula to compute the values of all binomial coefficients generates an infinite array called Pascal's triangle. The same values can also be computed directly by a different formula that is not a recurrence, but that requires multiplication and not just addition to compute:
(nk)=n!k!(n−k)!.{displaystyle {binom {n}{k}}={frac {n!}{k!(n-k)!}}.}
Relationship to difference equations narrowly defined
Given an ordered sequence {an}n=1∞{displaystyle left{a_{n}right}_{n=1}^{infty }} of real numbers: the first difference Δ(an){displaystyle Delta (a_{n})} is defined as
- Δ(an)=an+1−an.{displaystyle Delta (a_{n})=a_{n+1}-a_{n}.}
The second difference Δ2(an){displaystyle Delta ^{2}(a_{n})} is defined as
- Δ2(an)=Δ(an+1)−Δ(an),{displaystyle Delta ^{2}(a_{n})=Delta (a_{n+1})-Delta (a_{n}),}
which can be simplified to
- Δ2(an)=an+2−2an+1+an.{displaystyle Delta ^{2}(a_{n})=a_{n+2}-2a_{n+1}+a_{n}.}
More generally: the k-th difference of the sequence an written as Δk(an){displaystyle Delta ^{k}(a_{n})} is defined recursively as
- Δk(an)=Δk−1(an+1)−Δk−1(an)=∑t=0k(kt)(−1)tan+k−t.{displaystyle Delta ^{k}(a_{n})=Delta ^{k-1}(a_{n+1})-Delta ^{k-1}(a_{n})=sum _{t=0}^{k}{binom {k}{t}}(-1)^{t}a_{n+k-t}.}
(The sequence and its differences are related by a binomial transform.) The more restrictive definition of difference equation is an equation composed of an and its kth differences. (A widely used broader definition treats "difference equation" as synonymous with "recurrence relation". See for example rational difference equation and matrix difference equation.)
Actually, it is easily seen that,
- an+k=(k0)an+(k1)Δ(an)+⋯+(kk)Δk(an).{displaystyle a_{n+k}={k choose 0}a_{n}+{k choose 1}Delta (a_{n})+cdots +{k choose k}Delta ^{k}(a_{n}).}
Thus, a difference equation can be defined as an equation that involves
an, an-1, an-2 etc. (or equivalently
an, an+1, an+2 etc.)
Since difference equations are a very common form of recurrence, some authors use the two terms interchangeably. For example, the difference equation
- 3Δ2(an)+2Δ(an)+7an=0{displaystyle 3Delta ^{2}(a_{n})+2Delta (a_{n})+7a_{n}=0}
is equivalent to the recurrence relation
- 3an+2=4an+1−8an.{displaystyle 3a_{n+2}=4a_{n+1}-8a_{n}.}
Thus one can solve many recurrence relations by rephrasing them as difference equations, and then solving the difference equation, analogously to how one solves ordinary differential equations. However, the Ackermann numbers are an example of a recurrence relation that do not map to a difference equation, much less points on the solution to a differential equation.
See time scale calculus for a unification of the theory of difference equations with that of differential equations.
Summation equations relate to difference equations as integral equations relate to differential equations.
From sequences to grids
Single-variable or one-dimensional recurrence relations are about sequences (i.e. functions defined on one-dimensional grids). Multi-variable or n-dimensional recurrence relations are about n-dimensional grids. Functions defined on n-grids can also be studied with partial difference equations.[1]
Solving
Solving homogeneous linear recurrence relations with constant coefficients
Roots of the characteristic polynomial
An order-d homogeneous linear recurrence with constant coefficients is an equation of the form
- an=c1an−1+c2an−2+⋯+cdan−d,{displaystyle a_{n}=c_{1}a_{n-1}+c_{2}a_{n-2}+cdots +c_{d}a_{n-d},}
where the d coefficients ci (for all i) are constants, and cd≠0{displaystyle c_{d}neq 0}.
A constant-recursive sequence is a sequence satisfying a recurrence of this form. There are d degrees of freedom for solutions to this recurrence, i.e., the initial values a0,…,ad−1{displaystyle a_{0},dots ,a_{d-1}} can be taken to be any values but then the recurrence determines the sequence uniquely.
The same coefficients yield the characteristic polynomial (also "auxiliary polynomial")
- p(t)=td−c1td−1−c2td−2−⋯−cd{displaystyle p(t)=t^{d}-c_{1}t^{d-1}-c_{2}t^{d-2}-cdots -c_{d}}
whose d roots play a crucial role in finding and understanding the sequences satisfying the recurrence. If the roots r1, r2, ... are all distinct, then each solution to the recurrence takes the form
- an=k1r1n+k2r2n+⋯+kdrdn,{displaystyle a_{n}=k_{1}r_{1}^{n}+k_{2}r_{2}^{n}+cdots +k_{d}r_{d}^{n},}
where the coefficients ki are determined in order to fit the initial conditions of the recurrence. When the same roots occur multiple times, the terms in this formula corresponding to the second and later occurrences of the same root are multiplied by increasing powers of n. For instance, if the characteristic polynomial can be factored as (x−r)3, with the same root r occurring three times, then the solution would take the form
an=k1rn+k2nrn+k3n2rn.{displaystyle a_{n}=k_{1}r^{n}+k_{2}nr^{n}+k_{3}n^{2}r^{n}.}[2]
As well as the Fibonacci numbers, other constant-recursive sequences include the Lucas numbers and Lucas sequences, the Jacobsthal numbers, the Pell numbers and more generally the solutions to Pell's equation.
For order 1, the recurrence
- an=ran−1{displaystyle a_{n}=ra_{n-1}}
has the solution an = rn with a0 = 1 and the most general solution is an = krn with a0 = k. The characteristic polynomial equated to zero (the characteristic equation) is simply t − r = 0.
Solutions to such recurrence relations of higher order are found by systematic means, often using the fact that an = rn is a solution for the recurrence exactly when t = r is a root of the characteristic polynomial. This can be approached directly or using generating functions (formal power series) or matrices.
Consider, for example, a recurrence relation of the form
- an=Aan−1+Ban−2.{displaystyle a_{n}=Aa_{n-1}+Ba_{n-2}.}
When does it have a solution of the same general form as an = rn? Substituting this guess (ansatz) in the recurrence relation, we find that
- rn=Arn−1+Brn−2{displaystyle r^{n}=Ar^{n-1}+Br^{n-2}}
must be true for all n > 1.
Dividing through by rn−2, we get that all these equations reduce to the same thing:
- r2=Ar+B,{displaystyle r^{2}=Ar+B,}
- r2−Ar−B=0,{displaystyle r^{2}-Ar-B=0,}
which is the characteristic equation of the recurrence relation. Solve for r to obtain the two roots λ1, λ2: these roots are known as the characteristic roots or eigenvalues of the characteristic equation. Different solutions are obtained depending on the nature of the roots: If these roots are distinct, we have the general solution
- an=Cλ1n+Dλ2n{displaystyle a_{n}=Clambda _{1}^{n}+Dlambda _{2}^{n}}
while if they are identical (when A2 + 4B = 0), we have
- an=Cλn+Dnλn{displaystyle a_{n}=Clambda ^{n}+Dnlambda ^{n}}
This is the most general solution; the two constants C and D can be chosen based on two given initial conditions a0 and a1 to produce a specific solution.
In the case of complex eigenvalues (which also gives rise to complex values for the solution parameters C and D), the use of complex numbers can be eliminated by rewriting the solution in trigonometric form. In this case we can write the eigenvalues as λ1,λ2=α±βi.{displaystyle lambda _{1},lambda _{2}=alpha pm beta i.} Then it can be shown that
- an=Cλ1n+Dλ2n{displaystyle a_{n}=Clambda _{1}^{n}+Dlambda _{2}^{n}}
can be rewritten as[3]:576–585
- an=2Mn(Ecos(θn)+Fsin(θn))=2GMncos(θn−δ),{displaystyle a_{n}=2M^{n}left(Ecos(theta n)+Fsin(theta n)right)=2GM^{n}cos(theta n-delta ),}
where
- M=α2+β2cos(θ)=αMsin(θ)=βMC,D=E∓FiG=E2+F2cos(δ)=EGsin(δ)=FG{displaystyle {begin{array}{lcl}M={sqrt {alpha ^{2}+beta ^{2}}}&cos(theta )={tfrac {alpha }{M}}&sin(theta )={tfrac {beta }{M}}\C,D=Emp Fi&&\G={sqrt {E^{2}+F^{2}}}&cos(delta )={tfrac {E}{G}}&sin(delta )={tfrac {F}{G}}end{array}}}
Here E and F (or equivalently, G and δ) are real constants which depend on the initial conditions. Using
- λ1+λ2=2α=A,{displaystyle lambda _{1}+lambda _{2}=2alpha =A,}
- λ1⋅λ2=α2+β2=−B,{displaystyle lambda _{1}cdot lambda _{2}=alpha ^{2}+beta ^{2}=-B,}
one may simplify the solution given above as
- an=(−B)n2(Ecos(θn)+Fsin(θn)),{displaystyle a_{n}=(-B)^{frac {n}{2}}left(Ecos(theta n)+Fsin(theta n)right),}
where a1 and a2 are the initial conditions and
- E=−Aa1+a2BF=−iA2a1−Aa2+2a1BBA2+4Bθ=arccos(A2−B){displaystyle {begin{aligned}E&={frac {-Aa_{1}+a_{2}}{B}}\F&=-i{frac {A^{2}a_{1}-Aa_{2}+2a_{1}B}{B{sqrt {A^{2}+4B}}}}\theta &=arccos left({frac {A}{2{sqrt {-B}}}}right)end{aligned}}}
In this way there is no need to solve for λ1 and λ2.
In all cases—real distinct eigenvalues, real duplicated eigenvalues, and complex conjugate eigenvalues—the equation is stable (that is, the variable a converges to a fixed value [specifically, zero]) if and only if both eigenvalues are smaller than one in absolute value. In this second-order case, this condition on the eigenvalues can be shown[4] to be equivalent to |A| < 1 − B < 2, which is equivalent to |B| < 1 and |A| < 1 − B.
The equation in the above example was homogeneous, in that there was no constant term. If one starts with the non-homogeneous recurrence
- bn=Abn−1+Bbn−2+K{displaystyle b_{n}=Ab_{n-1}+Bb_{n-2}+K}
with constant term K, this can be converted into homogeneous form as follows: The steady state is found by setting bn = bn−1 = bn−2 = b* to obtain
- b∗=K1−A−B.{displaystyle b^{*}={frac {K}{1-A-B}}.}
Then the non-homogeneous recurrence can be rewritten in homogeneous form as
- [bn−b∗]=A[bn−1−b∗]+B[bn−2−b∗],{displaystyle [b_{n}-b^{*}]=A[b_{n-1}-b^{*}]+B[b_{n-2}-b^{*}],}
which can be solved as above.
The stability condition stated above in terms of eigenvalues for the second-order case remains valid for the general nth-order case: the equation is stable if and only if all eigenvalues of the characteristic equation are less than one in absolute value.
Given a homogeneous linear recurrence relation with constant coefficients of order d, let p(t) be the characteristic polynomial (also "auxiliary polynomial")
- td−c1td−1−c2td−2−⋯−cd=0{displaystyle t^{d}-c_{1}t^{d-1}-c_{2}t^{d-2}-cdots -c_{d}=0}
such that each ci corresponds to each ci in the original recurrence relation (see the general form above). Suppose λ is a root of p(t) having multiplicity r. This is to say that (t−λ)r divides p(t). The following two properties hold:
- Each of the r sequences λn,nλn,n2λn,…,nr−1λn{displaystyle lambda ^{n},nlambda ^{n},n^{2}lambda ^{n},dots ,n^{r-1}lambda ^{n}} satisfies the recurrence relation.
- Any sequence satisfying the recurrence relation can be written uniquely as a linear combination of solutions constructed in part 1 as λ varies over all distinct roots of p(t).
As a result of this theorem a homogeneous linear recurrence relation with constant coefficients can be solved in the following manner:
- Find the characteristic polynomial p(t).
- Find the roots of p(t) counting multiplicity.
- Write an as a linear combination of all the roots (counting multiplicity as shown in the theorem above) with unknown coefficients bi.
- an=(b1λ1n+b2nλ1n+b3n2λ1n+⋯+brnr−1λ1n)+⋯+(bd−q+1λ∗n+⋯+bdnq−1λ∗n){displaystyle a_{n}=left(b_{1}lambda _{1}^{n}+b_{2}nlambda _{1}^{n}+b_{3}n^{2}lambda _{1}^{n}+cdots +b_{r}n^{r-1}lambda _{1}^{n}right)+cdots +left(b_{d-q+1}lambda _{*}^{n}+cdots +b_{d}n^{q-1}lambda _{*}^{n}right)}
- This is the general solution to the original recurrence relation. (q is the multiplicity of λ*)
- 4. Equate each a0,a1,…,ad{displaystyle a_{0},a_{1},dots ,a_{d}} from part 3 (plugging in n = 0, ..., d into the general solution of the recurrence relation) with the known values a0,a1,…,ad{displaystyle a_{0},a_{1},dots ,a_{d}} from the original recurrence relation. However, the values an from the original recurrence relation used do not usually have to be contiguous: excluding exceptional cases, just d of them are needed (i.e., for an original homogeneous linear recurrence relation of order 3 one could use the values a0, a1, a4). This process will produce a linear system of d equations with d unknowns. Solving these equations for the unknown coefficients b1,b2,…,bd{displaystyle b_{1},b_{2},dots ,b_{d}} of the general solution and plugging these values back into the general solution will produce the particular solution to the original recurrence relation that fits the original recurrence relation's initial conditions (as well as all subsequent values a0,a1,a2,…{displaystyle a_{0},a_{1},a_{2},dots } of the original recurrence relation).
The method for solving linear differential equations is similar to the method above—the "intelligent guess" (ansatz) for linear differential equations with constant coefficients is eλx where λ is a complex number that is determined by substituting the guess into the differential equation.
This is not a coincidence. Considering the Taylor series of the solution to a linear differential equation:
- ∑n=0∞f(n)(a)n!(x−a)n{displaystyle sum _{n=0}^{infty }{frac {f^{(n)}(a)}{n!}}(x-a)^{n}}
it can be seen that the coefficients of the series are given by the nth derivative of f(x) evaluated at the point a. The differential equation provides a linear difference equation relating these coefficients.
This equivalence can be used to quickly solve for the recurrence relationship for the coefficients in the power series solution of a linear differential equation.
The rule of thumb (for equations in which the polynomial multiplying the first term is non-zero at zero) is that:
- y[k]→f[n+k]{displaystyle y^{[k]}to f[n+k]}
and more generally
- xm∗y[k]→n(n−1)...(n−m+1)f[n+k−m]{displaystyle x^{m}*y^{[k]}to n(n-1)...(n-m+1)f[n+k-m]}
Example: The recurrence relationship for the Taylor series coefficients of the equation:
- (x2+3x−4)y[3]−(3x+1)y[2]+2y=0{displaystyle (x^{2}+3x-4)y^{[3]}-(3x+1)y^{[2]}+2y=0}
is given by
- n(n−1)f[n+1]+3nf[n+2]−4f[n+3]−3nf[n+1]−f[n+2]+2f[n]=0{displaystyle n(n-1)f[n+1]+3nf[n+2]-4f[n+3]-3nf[n+1]-f[n+2]+2f[n]=0}
or
- −4f[n+3]+2nf[n+2]+n(n−4)f[n+1]+2f[n]=0.{displaystyle -4f[n+3]+2nf[n+2]+n(n-4)f[n+1]+2f[n]=0.}
This example shows how problems generally solved using the power series solution method taught in normal differential equation classes can be solved in a much easier way.
Example: The differential equation
- ay″+by′+cy=0{displaystyle ay''+by'+cy=0}
has solution
- y=eax.{displaystyle y=e^{ax}.}
The conversion of the differential equation to a difference equation of the Taylor coefficients is
- af[n+2]+bf[n+1]+cf[n]=0.{displaystyle af[n+2]+bf[n+1]+cf[n]=0.}
It is easy to see that the nth derivative of eax evaluated at 0 is an
Solving via linear algebra
A linearly recursive sequence y of order n
- yn+k−cn−1yn−1+k−cn−2yn−2+k+⋯−c0yk=0{displaystyle y_{n+k}-c_{n-1}y_{n-1+k}-c_{n-2}y_{n-2+k}+cdots -c_{0}y_{k}=0}
is identical to
- yn=cn−1yn−1+cn−2yn−2+⋯+c0y0.{displaystyle y_{n}=c_{n-1}y_{n-1}+c_{n-2}y_{n-2}+cdots +c_{0}y_{0}.}
Expanded with n-1 identities of kind yn−k=yn−k,{displaystyle y_{n-k}=y_{n-k},} this n-th order equation is translated into a matrix difference equation system of n first-order linear equations,
- y→n=[ynyn−1⋮⋮y1]=[cn−1cn−2⋯⋯c010⋯⋯00⋱⋱⋮⋮⋱⋱⋱⋮0⋯010][yn−1yn−2⋮⋮y0]=C y→n−1=Cny→0.{displaystyle {vec {y}}_{n}={begin{bmatrix}y_{n}\y_{n-1}\vdots \vdots \y_{1}end{bmatrix}}={begin{bmatrix}c_{n-1}&c_{n-2}&cdots &cdots &c_{0}\1&0&cdots &cdots &0\0&ddots &ddots &&vdots \vdots &ddots &ddots &ddots &vdots \0&cdots &0&1&0end{bmatrix}}{begin{bmatrix}y_{n-1}\y_{n-2}\vdots \vdots \y_{0}end{bmatrix}}=C {vec {y}}_{n-1}=C^{n}{vec {y}}_{0}.}
Observe that the vector y→n{displaystyle {vec {y}}_{n}} can be computed by n applications of the companion matrix, C, to the initial state vector, y0{displaystyle y_{0}}. Thereby, n-th entry of the sought sequence y, is the top component of y→n,yn=y→n[n]{displaystyle {vec {y}}_{n},y_{n}={vec {y}}_{n}[n]}.
Eigendecomposition, y→n=Cny→0=c1λ1ne→1+c2λ2ne→2+⋯+cnλnne→n{displaystyle {vec {y}}_{n}=C^{n},{vec {y}}_{0}=c_{1},lambda _{1}^{n},{vec {e}}_{1}+c_{2},lambda _{2}^{n},{vec {e}}_{2}+cdots +c_{n},lambda _{n}^{n},{vec {e}}_{n}} into eigenvalues, λ1,λ2,…,λn{displaystyle lambda _{1},lambda _{2},ldots ,lambda _{n}}, and eigenvectors, e→1,e→2,…,e→n{displaystyle {vec {e}}_{1},{vec {e}}_{2},ldots ,{vec {e}}_{n}}, is used to compute y→n.{displaystyle {vec {y}}_{n}.} Thanks to the crucial fact that system C time-shifts every eigenvector, e, by simply scaling its components λ times,
- Ce→i=λie→i=C[ei,nei,n−1⋮ei,1]=[λiei,nλiei,n−1⋮λiei,1]{displaystyle C,{vec {e}}_{i}=lambda _{i}{vec {e}}_{i}=C{begin{bmatrix}e_{i,n}\e_{i,n-1}\vdots \e_{i,1}end{bmatrix}}={begin{bmatrix}lambda _{i},e_{i,n}\lambda _{i},e_{i,n-1}\vdots \lambda _{i},e_{i,1}end{bmatrix}}}
that is, time-shifted version of eigenvector,e, has components λ times larger, the eigenvector components are powers of λ, e→i=[λin−1⋯λi2λi1]T,{displaystyle {vec {e}}_{i}={begin{bmatrix}lambda _{i}^{n-1}&cdots &lambda _{i}^{2}&lambda _{i}&1end{bmatrix}}^{T},} and, thus, recurrent homogeneous linear equation solution is a combination of exponential functions, y→n=∑1nciλine→i{displaystyle {vec {y}}_{n}=sum _{1}^{n}{c_{i},lambda _{i}^{n},{vec {e}}_{i}}}. The components ci{displaystyle c_{i}} can be determined out of initial conditions:
- y→0=[y0y−1⋮y−n+1]=∑i=1nciλi0e→i=[e→1e→2⋯e→n][c1c2⋯cn]=E[c1c2⋯cn]{displaystyle {vec {y}}_{0}={begin{bmatrix}y_{0}\y_{-1}\vdots \y_{-n+1}end{bmatrix}}=sum _{i=1}^{n}{c_{i},lambda _{i}^{0},{vec {e}}_{i}}={begin{bmatrix}{vec {e}}_{1}&{vec {e}}_{2}&cdots &{vec {e}}_{n}end{bmatrix}},{begin{bmatrix}c_{1}\c_{2}\cdots \c_{n}end{bmatrix}}=E,{begin{bmatrix}c_{1}\c_{2}\cdots \c_{n}end{bmatrix}}}
Solving for coefficients,
- [c1c2⋯cn]=E−1y→0=[λ1n−1λ2n−1⋯λnn−1⋮⋮⋱⋮λ1λ2⋯λn11⋯1]−1[y0y−1⋮y−n+1].{displaystyle {begin{bmatrix}c_{1}\c_{2}\cdots \c_{n}end{bmatrix}}=E^{-1}{vec {y}}_{0}={begin{bmatrix}lambda _{1}^{n-1}&lambda _{2}^{n-1}&cdots &lambda _{n}^{n-1}\vdots &vdots &ddots &vdots \lambda _{1}&lambda _{2}&cdots &lambda _{n}\1&1&cdots &1end{bmatrix}}^{-1},{begin{bmatrix}y_{0}\y_{-1}\vdots \y_{-n+1}end{bmatrix}}.}
This also works with arbitrary boundary conditions ya,yb,…⏟n{displaystyle underbrace {y_{a},y_{b},ldots } _{text{n}}}, not necessary the initial ones,
- [yayb⋮]=[y→a[n]y→b[n]⋮]=[∑i=1nciλiae→i[n]∑i=1nciλibe→i[n]⋮]=[∑i=1nciλiaλin−1∑i=1nciλibλin−1⋮]={displaystyle {begin{bmatrix}y_{a}\y_{b}\vdots end{bmatrix}}={begin{bmatrix}{vec {y}}_{a}[n]\{vec {y}}_{b}[n]\vdots end{bmatrix}}={begin{bmatrix}sum _{i=1}^{n}{c_{i},lambda _{i}^{a},{vec {e}}_{i}[n]}\sum _{i=1}^{n}{c_{i},lambda _{i}^{b},{vec {e}}_{i}[n]}\vdots end{bmatrix}}={begin{bmatrix}sum _{i=1}^{n}{c_{i},lambda _{i}^{a},lambda _{i}^{n-1}}\sum _{i=1}^{n}{c_{i},lambda _{i}^{b},lambda _{i}^{n-1}}\vdots end{bmatrix}}=}
- =[∑ciλia+n−1∑ciλib+n−1⋮]=[λ1a+n−1λ2a+n−1⋯λna+n−1λ1b+n−1λ2b+n−1⋯λnb+n−1⋮⋮⋱⋮][c1c2⋮cn].{displaystyle ={begin{bmatrix}sum {c_{i},lambda _{i}^{a+n-1}}\sum {c_{i},lambda _{i}^{b+n-1}}\vdots end{bmatrix}}={begin{bmatrix}lambda _{1}^{a+n-1}&lambda _{2}^{a+n-1}&cdots &lambda _{n}^{a+n-1}\lambda _{1}^{b+n-1}&lambda _{2}^{b+n-1}&cdots &lambda _{n}^{b+n-1}\vdots &vdots &ddots &vdots end{bmatrix}},{begin{bmatrix}c_{1}\c_{2}\vdots \c_{n}end{bmatrix}}.}
This description is really no different from general method above, however it is more succinct. It also works nicely for situations like
- {an=an−1−bn−1bn=2an−1+bn−1.{displaystyle {begin{cases}a_{n}=a_{n-1}-b_{n-1}\b_{n}=2a_{n-1}+b_{n-1}.end{cases}}}
where there are several linked recurrences.[5]
Solving with z-transforms
Certain difference equations - in particular, linear constant coefficient difference equations - can be solved using z-transforms. The z-transforms are a class of integral transforms that lead to more convenient algebraic manipulations and more straightforward solutions. There are cases in which obtaining a direct solution would be all but impossible, yet solving the problem via a thoughtfully chosen integral transform is straightforward.
Solving non-homogeneous linear recurrence relations with constant coefficients
If the recurrence is non-homogeneous, a particular solution can be found by the method of undetermined coefficients and the solution is the sum of the solution of the homogeneous and the particular solutions. Another method to solve a non-homogeneous recurrence is the method of symbolic differentiation. For example, consider the following recurrence:
- an+1=an+1{displaystyle a_{n+1}=a_{n}+1}
This is a non-homogeneous recurrence. If we substitute n ↦ n+1, we obtain the recurrence
- an+2=an+1+1{displaystyle a_{n+2}=a_{n+1}+1}
Subtracting the original recurrence from this equation yields
- an+2−an+1=an+1−an{displaystyle a_{n+2}-a_{n+1}=a_{n+1}-a_{n}}
or equivalently
- an+2=2an+1−an{displaystyle a_{n+2}=2a_{n+1}-a_{n}}
This is a homogeneous recurrence, which can be solved by the methods explained above. In general, if a linear recurrence has the form
- an+k=λk−1an+k−1+λk−2an+k−2+⋯+λ1an+1+λ0an+p(n){displaystyle a_{n+k}=lambda _{k-1}a_{n+k-1}+lambda _{k-2}a_{n+k-2}+cdots +lambda _{1}a_{n+1}+lambda _{0}a_{n}+p(n)}
where λ0,λ1,…,λk−1{displaystyle lambda _{0},lambda _{1},dots ,lambda _{k-1}} are constant coefficients and p(n) is the inhomogeneity, then if p(n) is a polynomial with degree r, then this non-homogeneous recurrence can be reduced to a homogeneous recurrence by applying the method of symbolic differencing r times.
If
- P(x)=∑n=0∞pnxn{displaystyle P(x)=sum _{n=0}^{infty }p_{n}x^{n}}
is the generating function of the inhomogeneity, the generating function
- A(x)=∑n=0∞a(n)xn{displaystyle A(x)=sum _{n=0}^{infty }a(n)x^{n}}
of the non-homogeneous recurrence
- an=∑i=1scian−i+pn,n≥nr,{displaystyle a_{n}=sum _{i=1}^{s}c_{i}a_{n-i}+p_{n},quad ngeq n_{r},}
with constant coefficients ci is derived from
- (1−∑i=1scixi)A(x)=P(x)+∑n=0nr−1[an−pn]xn−∑i=1scixi∑n=0nr−i−1anxn.{displaystyle left(1-sum _{i=1}^{s}c_{i}x^{i}right)A(x)=P(x)+sum _{n=0}^{n_{r}-1}[a_{n}-p_{n}]x^{n}-sum _{i=1}^{s}c_{i}x^{i}sum _{n=0}^{n_{r}-i-1}a_{n}x^{n}.}
If P(x) is a rational generating function, A(x) is also one. The case discussed above, where pn = K is a constant, emerges as one example of this formula, with P(x) = K/(1−x). Another example, the recurrence an=10an−1+n{displaystyle a_{n}=10a_{n-1}+n} with linear inhomogeneity, arises in the definition of the schizophrenic numbers. The solution of homogeneous recurrences is incorporated as p = P = 0.
Solving first-order non-homogeneous recurrence relations with variable coefficients
Moreover, for the general first-order non-homogeneous linear recurrence relation with variable coefficients:
- an+1=fnan+gn,fn≠0,{displaystyle a_{n+1}=f_{n}a_{n}+g_{n},qquad f_{n}neq 0,}
there is also a nice method to solve it:[6]
- an+1−fnan=gn{displaystyle a_{n+1}-f_{n}a_{n}=g_{n}}
- an+1∏k=0nfk−fnan∏k=0nfk=gn∏k=0nfk{displaystyle {frac {a_{n+1}}{prod _{k=0}^{n}f_{k}}}-{frac {f_{n}a_{n}}{prod _{k=0}^{n}f_{k}}}={frac {g_{n}}{prod _{k=0}^{n}f_{k}}}}
- an+1∏k=0nfk−an∏k=0n−1fk=gn∏k=0nfk{displaystyle {frac {a_{n+1}}{prod _{k=0}^{n}f_{k}}}-{frac {a_{n}}{prod _{k=0}^{n-1}f_{k}}}={frac {g_{n}}{prod _{k=0}^{n}f_{k}}}}
Let
- An=an∏k=0n−1fk,{displaystyle A_{n}={frac {a_{n}}{prod _{k=0}^{n-1}f_{k}}},}
Then
- An+1−An=gn∏k=0nfk{displaystyle A_{n+1}-A_{n}={frac {g_{n}}{prod _{k=0}^{n}f_{k}}}}
- ∑m=0n−1(Am+1−Am)=An−A0=∑m=0n−1gm∏k=0mfk{displaystyle sum _{m=0}^{n-1}(A_{m+1}-A_{m})=A_{n}-A_{0}=sum _{m=0}^{n-1}{frac {g_{m}}{prod _{k=0}^{m}f_{k}}}}
- an∏k=0n−1fk=A0+∑m=0n−1gm∏k=0mfk{displaystyle {frac {a_{n}}{prod _{k=0}^{n-1}f_{k}}}=A_{0}+sum _{m=0}^{n-1}{frac {g_{m}}{prod _{k=0}^{m}f_{k}}}}
- an=(∏k=0n−1fk)(A0+∑m=0n−1gm∏k=0mfk){displaystyle a_{n}=left(prod _{k=0}^{n-1}f_{k}right)left(A_{0}+sum _{m=0}^{n-1}{frac {g_{m}}{prod _{k=0}^{m}f_{k}}}right)}
If we apply the formula to an+1=(1+hfnh)an+hgnh{displaystyle a_{n+1}=(1+hf_{nh})a_{n}+hg_{nh}} and take the limit h→0, we get the formula for first order linear differential equations with variable coefficients; the sum becomes an integral, and the product becomes the exponential function of an integral.
Solving general homogeneous linear recurrence relations
Many homogeneous linear recurrence relations may be solved by means of the generalized hypergeometric series. Special cases of these lead to recurrence relations for the orthogonal polynomials, and many special functions. For example, the solution to
- Jn+1=2nzJn−Jn−1{displaystyle J_{n+1}={frac {2n}{z}}J_{n}-J_{n-1}}
is given by
- Jn=Jn(z),{displaystyle J_{n}=J_{n}(z),}
the Bessel function, while
- (b−n)Mn−1+(2n−b−z)Mn−nMn+1=0{displaystyle (b-n)M_{n-1}+(2n-b-z)M_{n}-nM_{n+1}=0}
is solved by
- Mn=M(n,b;z){displaystyle M_{n}=M(n,b;z)}
the confluent hypergeometric series. Sequences which are the solutions of linear difference equations with polynomial coefficients are called P-recursive. For these specific recurrence equations algorithms are known which find polynomial, rational or hypergeometric solutions.
Solving first-order rational difference equations
A first order rational difference equation has the form wt+1=awt+bcwt+d{displaystyle w_{t+1}={tfrac {aw_{t}+b}{cw_{t}+d}}}. Such an equation can be solved by writing wt{displaystyle w_{t}} as a nonlinear transformation of another variable xt{displaystyle x_{t}} which itself evolves linearly. Then standard methods can be used to solve the linear difference equation in xt{displaystyle x_{t}}.
Stability
Stability of linear higher-order recurrences
The linear recurrence of order d,
- an=c1an−1+c2an−2+⋯+cdan−d,{displaystyle a_{n}=c_{1}a_{n-1}+c_{2}a_{n-2}+cdots +c_{d}a_{n-d},}
has the characteristic equation
- λd−c1λd−1−c2λd−2−⋯−cdλ0=0.{displaystyle lambda ^{d}-c_{1}lambda ^{d-1}-c_{2}lambda ^{d-2}-cdots -c_{d}lambda ^{0}=0.}
The recurrence is stable, meaning that the iterates converge asymptotically to a fixed value, if and only if the eigenvalues (i.e., the roots of the characteristic equation), whether real or complex, are all less than unity in absolute value.
Stability of linear first-order matrix recurrences
In the first-order matrix difference equation
- [xt−x∗]=A[xt−1−x∗]{displaystyle [x_{t}-x^{*}]=A[x_{t-1}-x^{*}]}
with state vector x and transition matrix A, x converges asymptotically to the steady state vector x* if and only if all eigenvalues of the transition matrix A (whether real or complex) have an absolute value which is less than 1.
Stability of nonlinear first-order recurrences
Consider the nonlinear first-order recurrence
- xn=f(xn−1).{displaystyle x_{n}=f(x_{n-1}).}
This recurrence is locally stable, meaning that it converges to a fixed point x* from points sufficiently close to x*, if the slope of f in the neighborhood of x* is smaller than unity in absolute value: that is,
- |f′(x∗)|<1.{displaystyle |f'(x^{*})|<1.}
A nonlinear recurrence could have multiple fixed points, in which case some fixed points may be locally stable and others locally unstable; for continuous f two adjacent fixed points cannot both be locally stable.
A nonlinear recurrence relation could also have a cycle of period k for k > 1. Such a cycle is stable, meaning that it attracts a set of initial conditions of positive measure, if the composite function
- g(x):=f∘f∘⋯∘f(x){displaystyle g(x):=fcirc fcirc cdots circ f(x)}
with f appearing k times is locally stable according to the same criterion:
- |g′(x∗)|<1,{displaystyle |g'(x^{*})|<1,}
where x* is any point on the cycle.
In a chaotic recurrence relation, the variable x stays in a bounded region but never converges to a fixed point or an attracting cycle; any fixed points or cycles of the equation are unstable. See also logistic map, dyadic transformation, and tent map.
Relationship to differential equations
When solving an ordinary differential equation numerically, one typically encounters a recurrence relation. For example, when solving the initial value problem
- y′(t)=f(t,y(t)), y(t0)=y0,{displaystyle y'(t)=f(t,y(t)), y(t_{0})=y_{0},}
with Euler's method and a step size h, one calculates the values
- y0=y(t0), y1=y(t0+h), y2=y(t0+2h), …{displaystyle y_{0}=y(t_{0}), y_{1}=y(t_{0}+h), y_{2}=y(t_{0}+2h), dots }
by the recurrence
- yn+1=yn+hf(tn,yn).{displaystyle ,y_{n+1}=y_{n}+hf(t_{n},y_{n}).}
Systems of linear first order differential equations can be discretized exactly analytically using the methods shown in the discretization article.
Applications
Biology
Some of the best-known difference equations have their origins in the attempt to model population dynamics. For example, the Fibonacci numbers were once used as a model for the growth of a rabbit population.
The logistic map is used either directly to model population growth, or as a starting point for more detailed models of population dynamics. In this context, coupled difference equations are often used to model the interaction of two or more populations. For example, the Nicholson-Bailey model for a host-parasite interaction is given by
- Nt+1=λNte−aPt{displaystyle N_{t+1}=lambda N_{t}e^{-aP_{t}}}
- Pt+1=Nt(1−e−aPt),{displaystyle P_{t+1}=N_{t}(1-e^{-aP_{t}}),}
with Nt representing the hosts, and Pt the parasites, at time t.
Integrodifference equations are a form of recurrence relation important to spatial ecology. These and other difference equations are particularly suited to modeling univoltine populations.
Computer science
Recurrence relations are also of fundamental importance in analysis of algorithms.[7][8] If an algorithm is designed so that it will break a problem into smaller subproblems (divide and conquer), its running time is described by a recurrence relation.
A simple example is the time an algorithm takes to find an element in an ordered vector with n{displaystyle n} elements, in the worst case.
A naive algorithm will search from left to right, one element at a time. The worst possible scenario is when the required element is the last, so the number of comparisons is n{displaystyle n}.
A better algorithm is called binary search. However, it requires a sorted vector. It will first check if the element is at the middle of the vector. If not, then it will check if the middle element is greater or lesser than the sought element. At this point, half of the vector can be discarded, and the algorithm can be run again on the other half. The number of comparisons will be given by
- c1=1{displaystyle c_{1}=1}
- cn=1+cn/2{displaystyle c_{n}=1+c_{n/2}}
the time complexity of which will be O(log2(n)){displaystyle O(log _{2}(n))}.
Digital signal processing
In digital signal processing, recurrence relations can model feedback in a system, where outputs at one time become inputs for future time. They thus arise in infinite impulse response (IIR) digital filters.
For example, the equation for a "feedforward" IIR comb filter of delay T is:
- yt=(1−α)xt+αyt−T{displaystyle y_{t}=(1-alpha )x_{t}+alpha y_{t-T}}
Where xt{displaystyle x_{t}} is the input at time t, yt{displaystyle y_{t}} is the output at time t, and α controls how much of the delayed signal is fed back into the output. From this we can see that
- yt=(1−α)xt+α((1−α)xt−T+αyt−2T){displaystyle y_{t}=(1-alpha )x_{t}+alpha ((1-alpha )x_{t-T}+alpha y_{t-2T})}
- yt=(1−α)xt+(α−α2)xt−T+α2yt−2T){displaystyle y_{t}=(1-alpha )x_{t}+(alpha -alpha ^{2})x_{t-T}+alpha ^{2}y_{t-2T})}
etc.
Economics
Recurrence relations, especially linear recurrence relations, are used extensively in both theoretical and empirical economics.[9][10] In particular, in macroeconomics one might develop a model of various broad sectors of the economy (the financial sector, the goods sector, the labor market, etc.) in which some agents' actions depend on lagged variables. The model would then be solved for current values of key variables (interest rate, real GDP, etc.) in terms of exogenous variables and lagged endogenous variables. See also time series analysis.
See also
- Holonomic sequences
- Iterated function
- Orthogonal polynomials
- Recursion
- Recursion (computer science)
- Lagged Fibonacci generator
- Master theorem (analysis of algorithms)
- Circle points segments proof
- Continued fraction
- Time scale calculus
- Integrodifference equation
- Combinatorial principles
- Infinite impulse response
- Multiplicative calculus
Notes
^ Partial difference equations, Sui Sun Cheng, CRC Press, 2003, .mw-parser-output cite.citation{font-style:inherit}.mw-parser-output .citation q{quotes:"""""""'""'"}.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/12px-Wikisource-logo.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:inherit;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-maint{display:none;color:#33aa33;margin-left:0.3em}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}
ISBN 978-0-415-29884-1
^ Greene, Daniel H.; Knuth, Donald E. (1982), "2.1.1 Constant coefficients – A) Homogeneous equations", Mathematics for the Analysis of Algorithms (2nd ed.), Birkhäuser, p. 17.
^ Chiang, Alpha C., Fundamental Methods of Mathematical Economics, third edition, McGraw-Hill, 1984.
^ Papanicolaou, Vassilis, "On the asymptotic stability of a class of linear difference equations," Mathematics Magazine 69(1), February 1996, 34–43.
^ Maurer, Stephen B.; Ralston, Anthony (1998), Discrete Algorithmic Mathematics (2nd ed.), A K Peters, p. 609, ISBN 9781568810911.
^ "Archived copy" (PDF). Archived (PDF) from the original on 2010-07-05. Retrieved 2010-10-19.CS1 maint: Archived copy as title (link)
^ Cormen, T. et al, Introduction to Algorithms, MIT Press, 2009
^ R. Sedgewick, F. Flajolet, An Introduction to the Analysis of Algorithms, Addison-Wesley, 2013
^ Stokey, Nancy L.; Lucas, Robert E., Jr.; Prescott, Edward C. (1989). Recursive Methods in Economic Dynamics. Cambridge: Harvard University Press. ISBN 0-674-75096-9.
^ Ljungqvist, Lars; Sargent, Thomas J. (2004). Recursive Macroeconomic Theory (Second ed.). Cambridge: MIT Press. ISBN 0-262-12274-X.
References
Batchelder, Paul M. (1967). An introduction to linear difference equations. Dover Publications.
Miller, Kenneth S. (1968). Linear difference equations. W. A. Benjamin.
Fillmore, Jay P.; Marx, Morris L. (1968). "Linear recursive sequences". SIAM Rev. 10 (3). pp. 324–353. JSTOR 2027658.
Brousseau, Alfred (1971). Linear Recursion and Fibonacci Sequences. Fibonacci Association.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 1990.
ISBN 0-262-03293-7. Chapter 4: Recurrences, pp. 62–90.
Graham, Ronald L.; Knuth, Donald E.; Patashnik, Oren (1994). Concrete Mathematics: A Foundation for Computer Science (2 ed.). Addison-Welsey. ISBN 0-201-55802-5.
Enders, Walter (2010). Applied Econometric Times Series (3 ed.). Archived from the original on 2014-11-10.
Cull, Paul; Flahive, Mary; Robson, Robbie (2005). Difference Equations: From Rabbits to Chaos. Springer. ISBN 0-387-23234-6. chapter 7.
Jacques, Ian (2006). Mathematics for Economics and Business (Fifth ed.). Prentice Hall. pp. 551–568. ISBN 0-273-70195-9. Chapter 9.1: Difference Equations.
Minh, Tang; Van To, Tan (2006). "Using generating functions to solve linear inhomogeneous recurrence equations" (PDF). Proc. Int. Conf. Simulation, Modelling and Optimization, SMO'06. pp. 399–404.
Polyanin, Andrei D. "Difference and Functional Equations: Exact Solutions". at EqWorld - The World of Mathematical Equations.
Polyanin, Andrei D. "Difference and Functional Equations: Methods". at EqWorld - The World of Mathematical Equations.
Wang, Xiang-Sheng; Wong, Roderick (2012). "Asymptotics of orthogonal polynomials via recurrence relations". Anal. Appl. 10 (2): 215–235. arXiv:1101.4371. doi:10.1142/S0219530512500108.
External links
Hazewinkel, Michiel, ed. (2001) [1994], "Recurrence relation", Encyclopedia of Mathematics, Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4
- Weisstein, Eric W. "Recurrence Equation". MathWorld.
"OEIS Index Rec".
OEIS index to a few thousand examples of linear recurrences, sorted by order (number of terms) and signature (vector of values of the constant coefficients)