Algorithms for solving recurrence relations?

In summary, the conversation discusses the methods for solving recurrence relations, specifically when the coefficients are functions of n. The algorithm based on the "characteristic equation" can be used when the coefficients are constants, but it becomes more difficult when they are functions of n. The conversation also touches upon using differential equations to formulate the recurrence relation and finding the explicit solution for a_n in terms of n.
  • #1
Stephen Tashi
Science Advisor
7,861
1,600
Is there good survey of known algorithms for solving recurrence relations ?

By "solving" a recurrence relation such as [itex] a_n = \sum_{i=1}^{k} { c_k a_{n-k}} [/itex], I mean to express [itex] a_n [/itex] as a function of [itex] n [/itex].

In the case that the [itex] c_i [/itex] are constants the algorithm based on the "characteristic equation" can be used, but what is know about cases where the [itex] c_i [/itex] are themselves functions of [itex] n [/itex] ?

For example, it seems that the "next simplest" case would be where the [itex] c_i [/itex] are known linear functions of [itex] n [/itex].
 
Mathematics news on Phys.org
  • #2
For polynomial [itex]c_k[/itex], the trick is to multiply both sides by [itex]x^n[/itex] and sum from [itex]n=0[/itex] to infinity, turning the recurrence relation into an equation of formal power series. Then you can turn that into a differential equation for [itex]f(x) = \sum a_nx^n[/itex] (valid where the power series converges) by using such identities as [tex]
n^kx^n = \left(x \frac{d}{dx}\right)^k x^n.[/tex]
 
  • Like
Likes mfb
  • #3
pasmith said:
Then you can turn that into a differential equation for [itex]f(x) = \sum a_nx^n[/itex] (valid where the power series converges) by using such identities as [tex]
n^kx^n = \left(x \frac{d}{dx}\right)^k x^n.[/tex]

By an amusing coincidence, my interest in solving recurrence relations is prompted by the problem of solving the recurrence relations that arise in finding power series solutions to differential equations ! Common examples of that type of problem show using the D.E. to formulate the recurrence relation and then solving the recurrence relation "by inspection". So my question concerns finding [itex] a_n [/itex] as an explicit function of [itex] n [/itex].
 
  • #4
The case [tex]
a_n = (pn + q)a_{n-1}[/tex] has the explicit solution [tex]
a_n = a_0\prod_{k=1}^n (pk + q).[/tex] This is of course just a special case of the solution of [itex]a_n = f(n)a_{n-1}[/itex] being [tex]
a_n = a_0\prod_{k=1}^n f(k).[/tex] So where it gets difficult is [tex]
a_n = (p_1n + q_1)a_{n-1} + (p_2n + q_2)a_{n-2}.[/tex] However such recurrence relations are unlikely to describe coefficients of power series solutions to differential equations as they may not have strictly positive radius of convergence.
 
  • Like
Likes Stephen Tashi

FAQ: Algorithms for solving recurrence relations?

What are recurrence relations?

Recurrence relations are mathematical equations that describe a sequence of numbers or values, where each term is defined in terms of previous terms. They are typically used to model and analyze recursive algorithms and processes.

Why are algorithms for solving recurrence relations important?

Algorithms for solving recurrence relations are important because they allow us to analyze and predict the behavior of recursive algorithms, which are commonly used in computer science and other fields. They also help us understand the time and space complexity of these algorithms, which is crucial for efficient problem-solving.

What are some common techniques for solving recurrence relations?

Some common techniques for solving recurrence relations include substitution, iteration, the master theorem, and generating functions. Each of these techniques has its own strengths and is suitable for different types of recurrence relations.

How do I know which technique to use for a particular recurrence relation?

The choice of technique for solving a recurrence relation depends on the form and properties of the relation. For example, if the relation is in the form of a geometric series, the master theorem can be applied. It is important to understand the characteristics of each technique and choose the most appropriate one for the given recurrence relation.

Can recurrence relations be solved using programming languages?

Yes, recurrence relations can be solved using programming languages. Many programming languages have built-in support for recursion, making it easy to implement recursive algorithms and solve recurrence relations. However, it is important to keep in mind the time and space complexity of the algorithm when using recursion in programming.

Similar threads

Back
Top