Cannabis Ruderalis

Content deleted Content added
rv uncited
Tag: Undo
inline math
Tag: 2017 wikitext editor
 
(27 intermediate revisions by 2 users not shown)
Line 4: Line 4:
[[File:Constant-recursive-sequences.svg|thumb|350px|right|[[Hasse diagram]] of some subclasses of constant-recursive sequences, ordered by inclusion]]
[[File:Constant-recursive-sequences.svg|thumb|350px|right|[[Hasse diagram]] of some subclasses of constant-recursive sequences, ordered by inclusion]]


In [[mathematics]], an [[sequence|infinite sequence]] of [[number]]s <math>s_0, s_1, s_2, s_3, \ldots</math> is called '''constant-recursive''' if it satisfies an equation of the form
In [[mathematics]] and [[theoretical computer science]], a '''constant-recursive sequence''' is an [[sequence|infinite sequence]] of [[number]]s where each number in the sequence is equal to a fixed [[linear combination]] of one or more of its immediate predecessors. A constant-recursive sequence is also known as a '''linear recurrence sequence''', '''linear-recursive sequence''', '''linear-recurrent sequence''', a '''C-finite sequence''',{{sfn|Kauers|Paule|2010|p=63}} or a solution to a [[linear recurrence with constant coefficients]].

The most famous example of a constant-recursive sequence is the [[Fibonacci number|Fibonacci sequence]] <math>0, 1, 1, 2, 3, 5, 8, 13, \ldots</math>, in which each number is the sum of the previous two.{{sfn|Kauers|Paule|2010|p=70}} The [[power of two]] sequence <math>1, 2, 4, 8, 16, \ldots</math> is also constant-recursive because each number is the sum of twice the previous number. The [[square number]] sequence <math>0, 1, 4, 9, 16, 25, \ldots</math> is also constant-recursive. However, not all sequences are constant-recursive; for example, the [[factorial]] sequence <math>1, 1, 2, 6, 24, 120, \ldots</math> is not constant-recursive. All [[arithmetic progression]]s, all [[geometric progression]]s, and all [[polynomial]]s are constant-recursive.

Formally, a sequence of numbers <math>s_0, s_1, s_2, s_3, \ldots</math> is constant-recursive if it satisfies a [[recurrence relation]]
:<math display=block>s_n = c_1 s_{n-1} + c_2 s_{n-2} + \dots + c_d s_{n-d},</math>
:<math display=block>s_n = c_1 s_{n-1} + c_2 s_{n-2} + \dots + c_d s_{n-d},</math>
where <math>c_i</math> are [[constant (mathematics)|constant]]s. For example, the Fibonacci sequence satisfies the recurrence relation <math>F_n = F_{n-1} + F_{n-2},</math> where <math>F_n</math> is the <math>n</math>th Fibonacci number.
for all <math>n \ge d</math>, where <math>c_i</math> are [[constant (mathematics)|constant]]s. The equation is called a [[linear recurrence with constant coefficients|linear recurrence relation]].
The concept is also known as a '''linear recurrence sequence''', '''linear-recursive sequence''', '''linear-recurrent sequence''', or a '''C-finite sequence'''.{{sfn|Kauers|Paule|2010|p=63}}


For example, the [[Fibonacci sequence]]
Constant-recursive sequences are studied in [[combinatorics]] and the theory of [[finite difference]]s. They also arise in [[algebraic number theory]], due to the relation of the sequence to the [[root of a polynomial|roots]] of a polynomial; in the [[analysis of algorithms]] as the running time of simple [[Recursion (computer science)|recursive function]]s; and in [[formal language theory]], where they count strings up to a given length in a [[regular language]]. Constant-recursive sequences are [[closure (mathematics)|closed]] under important mathematical operations such as [[pointwise|term-wise]] [[addition]], term-wise [[multiplication]], and [[Cauchy product]].
:<math>0, 1, 1, 2, 3, 5, 8, 13, \ldots</math>,
is constant-recursive because it satisfies the linear recurrence <math>F_n = F_{n-1} + F_{n-2}</math>: each number in the sequence is the sum of the previous two.{{sfn|Kauers|Paule|2010|p=70}}
Other examples include the [[power of two]] sequence <math>1, 2, 4, 8, 16, \ldots</math>, where each number is the sum of twice the previous number, and the [[square number]] sequence <math>0, 1, 4, 9, 16, 25, \ldots</math>. All [[arithmetic progression]]s, all [[geometric progression]]s, and all [[polynomial]]s are constant-recursive. However, not all sequences are constant-recursive; for example, the [[factorial]] sequence <math>1, 1, 2, 6, 24, 120, \ldots</math> is not constant-recursive.


Constant-recursive sequences are studied in [[combinatorics]] and the theory of [[finite difference]]s. They also arise in [[algebraic number theory]], due to the relation of the sequence to [[polynomial root]]s; in the [[analysis of algorithms]], as the running time of simple [[Recursion (computer science)|recursive function]]s; and in the theory of [[formal language]]s, where they count strings up to a given length in a [[regular language]]. Constant-recursive sequences are [[closure (mathematics)|closed]] under important mathematical operations such as [[pointwise|term-wise]] [[addition]], term-wise [[multiplication]], and [[Cauchy product]].
The [[Skolem–Mahler–Lech theorem]] states that the [[Zero of a function|zeros]] of a constant-recursive sequence have a regularly repeating (eventually periodic) form. On the other hand, the [[Skolem problem]], which asks for an [[algorithm]] to determine whether a linear recurrence has at least one zero, is a famous [[List of unsolved problems in mathematics|unsolved problem in mathematics]].


The [[Skolem–Mahler–Lech theorem]] states that the [[Zero of a function|zeros]] of a constant-recursive sequence have a regularly repeating (eventually periodic) form. The [[Skolem problem]], which asks for an [[algorithm]] to determine whether a linear recurrence has at least one zero, is an [[List of unsolved problems in mathematics|unsolved problem in mathematics]].
{{clear|right}}


==Definition==
==Definition==
Line 22: Line 22:
A '''constant-recursive sequence''' is any sequence of [[integer]]s, [[rational number]]s, [[algebraic number]]s, [[real number]]s, or [[complex number]]s <math>s_0, s_1, s_2, s_3, \ldots</math> (written as <math>(s_n)_{n=0}^\infty</math> as a shorthand) satisfying a formula of the form
A '''constant-recursive sequence''' is any sequence of [[integer]]s, [[rational number]]s, [[algebraic number]]s, [[real number]]s, or [[complex number]]s <math>s_0, s_1, s_2, s_3, \ldots</math> (written as <math>(s_n)_{n=0}^\infty</math> as a shorthand) satisfying a formula of the form


:<math display=block>s_n = c_1 s_{n-1} + c_2 s_{n-2} + \dots + c_d s_{n-d},</math>
<math display=block>s_n = c_1 s_{n-1} + c_2 s_{n-2} + \dots + c_d s_{n-d},</math>

for all <math>n \ge d,</math> where <math>c_i</math> are constants.
(This equation is called a [[linear recurrence with constant coefficients]] of order ''d''.)
The '''order''' of the constant-recursive sequence is the smallest <math>d \ge 1</math> such that the sequence satisfies a formula of the above form, or <math>d = 0</math> for the everywhere-zero sequence.


The ''d'' [[coefficient]]s <math>c_1, c_2, \dots, c_d</math> must be coefficients ranging over the same domain as the sequence (integers, rational numbers, algebraic numbers, real numbers, or complex numbers). For example for a rational constant-recursive sequence, <math>s_i</math> and <math>c_i</math> must be rational numbers.
for all <math>n \ge d,</math> for some fixed [[coefficient]]s <math>c_1, c_2, \dots, c_d</math> ranging over the same domain as the sequence (integers, rational numbers, algebraic numbers, real numbers, or complex numbers).
The equation is called a [[linear recurrence with constant coefficients]] of order ''d''.
The ''order'' of the sequence is the smallest positive integer <math>d</math> such that the sequence satisfies a recurrence of order ''d'', or <math>d = 0</math> for the everywhere-zero sequence.
{{cn|date=April 2024}}


The definition above allows eventually-[[periodic sequence|periodic]] sequences such as <math>1, 0, 0, 0, \ldots</math> and <math>0, 1, 0, 0, \ldots</math>. Some authors require that <math>c_d \ne 0</math>, which excludes such sequences.<ref name=Border>{{Citation|last1=Halava|first1=Vesa|title=Skolem's Problem – On the Border between Decidability and Undecidability|date=2005|last2=Harju|first2=Tero|last3=Hirvensalo|first3=Mika|last4=Karhumäki|first4=Juhani|citeseerx=10.1.1.155.2606|page=1}}</ref>{{sfn|Kauers|Paule|2010|p=66}}
The definition above allows eventually-[[periodic sequence|periodic]] sequences such as <math>1, 0, 0, 0, \ldots</math> and <math>0, 1, 0, 0, \ldots</math>. Some authors require that <math>c_d \ne 0</math>, which excludes such sequences.{{sfn|Stanley|2011|p=464}}{{sfn|Kauers|Paule|2010|p=66}}<ref name=Border>{{Citation|last1=Halava|first1=Vesa|title=Skolem's Problem – On the Border between Decidability and Undecidability|date=2005|last2=Harju|first2=Tero|last3=Hirvensalo|first3=Mika|last4=Karhumäki|first4=Juhani|citeseerx=10.1.1.155.2606|page=1}}</ref>


==Examples==
==Examples==


{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|+ Selected examples of integer constant-recursive sequences
|+ Selected examples of integer constant-recursive sequences<ref>{{Cite web |title=Index to OEIS: Section Rec - OeisWiki |url=https://oeis.org/wiki/Index_to_OEIS:_Section_Rec |access-date=2024-04-18 |website=oeis.org}}</ref>
! Name !! Order (<math>d</math>&hairsp;&hairsp;) !! First few values !! Recurrence (for <math>n \ge d</math>&hairsp;) !! [[Generating function]] !! [[OEIS]]
! Name !! Order (<math>d</math>&hairsp;&hairsp;) !! First few values !! Recurrence (for <math>n \ge d</math>&hairsp;) !! [[Generating function]] !! [[OEIS]]
|-
|-
Line 76: Line 75:
===Arithmetic progressions===
===Arithmetic progressions===
For any <math>a</math> and any <math>r \ne 0</math>, the [[arithmetic progression]] <math>a, a+r, a+2r, \ldots</math> is constant-recursive of order 2, because it satisfies <math>s_n = 2s_{n-1} - s_{n-2}</math>. Generalizing this, see [[Constant-recursive sequence#Polynomial sequences|polynomial sequences]] below.
For any <math>a</math> and any <math>r \ne 0</math>, the [[arithmetic progression]] <math>a, a+r, a+2r, \ldots</math> is constant-recursive of order 2, because it satisfies <math>s_n = 2s_{n-1} - s_{n-2}</math>. Generalizing this, see [[Constant-recursive sequence#Polynomial sequences|polynomial sequences]] below.
{{cn|date=April 2024}}


===Geometric progressions===
===Geometric progressions===
For any <math>a \ne 0</math> and <math>r</math>, the [[geometric progression]] <math>a, a r, a r^2, \ldots</math> is constant-recursive of order 1, because it satisfies <math>s_n = r s_{n-1}</math>. This includes, for example, the sequence 1, 2, 4, 8, 16, ... as well as the rational number sequence <math>1, \frac12, \frac14, \frac18, \frac{1}{16}, ...</math>.
For any <math>a \ne 0</math> and <math>r</math>, the [[geometric progression]] <math>a, a r, a r^2, \ldots</math> is constant-recursive of order 1, because it satisfies <math>s_n = r s_{n-1}</math>. This includes, for example, the sequence 1, 2, 4, 8, 16, ... as well as the rational number sequence <math display=inline>1, \frac12, \frac14, \frac18, \frac{1}{16}, ...</math>.
{{cn|date=April 2024}}


===Eventually periodic sequences===
===Eventually periodic sequences===
A sequence that is eventually periodic with period length <math>\ell</math> is constant-recursive, since it satisfies <math>s_n = s_{n-\ell}</math> for all <math>n \geq d</math>, where the order <math>d</math> is the length of the initial segment including the first repeating block. Examples of such sequences are 1, 0, 0, 0, ... (order 1) and 1, 6, 6, 6, ... (order 2).
A sequence that is eventually periodic with period length <math>\ell</math> is constant-recursive, since it satisfies <math>s_n = s_{n-\ell}</math> for all <math>n \geq d</math>, where the order <math>d</math> is the length of the initial segment including the first repeating block. Examples of such sequences are 1, 0, 0, 0, ... (order 1) and 1, 6, 6, 6, ... (order 2).
{{cn|date=April 2024}}


===Polynomial sequences===
===Polynomial sequences===
Line 97: Line 99:


Let <math>L</math> be a [[regular language]], and let <math>s_n</math> be the number of words of length <math>n</math> in <math>L</math>. Then <math>(s_n)_{n=0}^\infty</math> is constant-recursive.{{sfn|Kauers|Paule|2010|p=81}} For example, <math>s_n = 2^n</math> for the language of all binary strings, <math>s_n = 1</math> for the language of all unary strings, and <math>s_n = F_{n+2}</math> for the language of all binary strings that do not have two consecutive ones. More generally, any function accepted by a [[weighted automaton]] over the unary alphabet <math>\Sigma = \{a\}</math> over the [[semiring]] <math>(\mathbb{R}, +, \times)</math> (which is in fact a [[ring (mathematics)|ring]], and even a [[field (mathematics)|field]]) is constant-recursive.
Let <math>L</math> be a [[regular language]], and let <math>s_n</math> be the number of words of length <math>n</math> in <math>L</math>. Then <math>(s_n)_{n=0}^\infty</math> is constant-recursive.{{sfn|Kauers|Paule|2010|p=81}} For example, <math>s_n = 2^n</math> for the language of all binary strings, <math>s_n = 1</math> for the language of all unary strings, and <math>s_n = F_{n+2}</math> for the language of all binary strings that do not have two consecutive ones. More generally, any function accepted by a [[weighted automaton]] over the unary alphabet <math>\Sigma = \{a\}</math> over the [[semiring]] <math>(\mathbb{R}, +, \times)</math> (which is in fact a [[ring (mathematics)|ring]], and even a [[field (mathematics)|field]]) is constant-recursive.
{{cn|date=April 2024}}


===Other examples===
===Other examples===
Line 113: Line 116:


{{main|Companion matrix}}
{{main|Companion matrix}}
{{float_begin|side=right|width=225px}}
{{float begin|width=195px|side=right}}
|-align=center
|-style="text-align:center;"
|<math>F_n = \begin{bmatrix}0 & 1\end{bmatrix}
| <math>F_n = \begin{bmatrix}0 & 1\end{bmatrix}
\begin{bmatrix}1 & 1 \\ 1 & 0\end{bmatrix}^n
\begin{bmatrix}1 & 1 \\ 1 & 0\end{bmatrix}^n
\begin{bmatrix}1 \\ 0\end{bmatrix}.</math>
\begin{bmatrix}1 \\ 0\end{bmatrix}.</math>
{{float_end|Definition of the Fibonacci sequence using matrices.}}
{{float end|Definition of the Fibonacci sequence using matrices.}}


A sequence <math>(s_n)_{n=0}^\infty</math> is constant-recursive of order <math>\le d</math> if and only if it can be written as
A sequence <math>(s_n)_{n=0}^\infty</math> is constant-recursive of order less than or equal to <math>d</math> if and only if it can be written as
:<math>s_n = u A^n v</math>
:<math>s_n = u A^n v</math>
where <math>u</math> is a <math>1 \times d</math> vector, <math>A</math> is a <math>d \times d</math> [[matrix (mathematics)|matrix]], and <math>v</math> is a <math>d \times 1</math> vector, where the elements come from the same domain (integers, rational numbers, algebraic numbers, real numbers, or complex numbers) as the original sequence. Specifically, <math>v</math> can be taken to be the first <math>d</math> values of the sequence, <math>A</math> the [[linear transformation]] that computes <math>s_{n+1}, s_{n+2}, \ldots, s_{n+d}</math> from <math>s_n, s_{n+1}, \ldots, s_{n+d-1}</math>, and <math>u</math> the vector <math>[0, 0, \ldots, 0, 1]</math>.<ref name="ow"/>
where <math>u</math> is a <math>1 \times d</math> vector, <math>A</math> is a <math>d \times d</math> [[matrix (mathematics)|matrix]], and <math>v</math> is a <math>d \times 1</math> vector, where the elements come from the same domain (integers, rational numbers, algebraic numbers, real numbers, or complex numbers) as the original sequence. Specifically, <math>v</math> can be taken to be the first <math>d</math> values of the sequence, <math>A</math> the [[linear transformation]] that computes <math>s_{n+1}, s_{n+2}, \ldots, s_{n+d}</math> from <math>s_n, s_{n+1}, \ldots, s_{n+d-1}</math>, and <math>u</math> the vector <math>[0, 0, \ldots, 0, 1]</math>.<ref name="ow"/>
Line 127: Line 130:


{{main|Linear recurrence with constant coefficients#Conversion to homogeneous form}}
{{main|Linear recurrence with constant coefficients#Conversion to homogeneous form}}
{{float_begin|width=350px}}
{{float begin|width=250px|side=right}}
|- class="wikitable"
|- class="wikitable"
! Non-homogeneous !! Homogeneous
! Non-homogeneous !! Homogeneous
Line 136: Line 139:
| <math>s_0 = 0</math>
| <math>s_0 = 0</math>
| <math>s_0 = 0; s_1 = 1</math>
| <math>s_0 = 0; s_1 = 1</math>
{{float_end|Definition of the sequence of [[natural number]]s <math>s_n = n</math>, using a non-homogeneous recurrence and the equivalent homogeneous version.}}
{{float end|Definition of the sequence of [[natural number]]s <math>s_n = n</math>, using a non-homogeneous recurrence and the equivalent homogeneous version.}}


A '''non-homogeneous linear recurrence''' is an equation of the form
A '''non-homogeneous linear recurrence''' is an equation of the form
:<math>s_n = c_1 s_{n-1} + c_2 s_{n-2} + \dots + c_d s_{n-d} + c</math>
:<math>s_n = c_1 s_{n-1} + c_2 s_{n-2} + \dots + c_d s_{n-d} + c</math>
where <math>c</math> is an additional constant. Any sequence satisfying a non-homogeneous linear recurrence is constant-recursive. This is because subtracting the equation for <math>s_{n-1}</math> from the equation for <math>s_n</math> yields a homogeneous recurrence for <math>s_n - s_{n-1}</math>, from which we can solve for <math>s_n</math> to obtain
where <math>c</math> is an additional constant. Any sequence satisfying a non-homogeneous linear recurrence is constant-recursive. This is because subtracting the equation for <math>s_{n-1}</math> from the equation for <math>s_n</math> yields a homogeneous recurrence for <math>s_n - s_{n-1}</math>, from which we can solve for <math>s_n</math> to obtain{{cn|date=April 2024}}
:<math>\begin{align}s_n = &(c_1 + 1) s_{n-1} \\ &+ (c_2 - c_1) s_{n-2} + \dots + (c_d - c_{d-1}) s_{n-d} \\&- c_d s_{n-d-1}.\end{align}</math>
:<math>\begin{align}s_n = &(c_1 + 1) s_{n-1} \\ &+ (c_2 - c_1) s_{n-2} + \dots + (c_d - c_{d-1}) s_{n-d} \\&- c_d s_{n-d-1}.\end{align}</math>


=== In terms of generating functions ===
=== In terms of generating functions ===


{{float_begin|side=right|width=200px}}
{{float begin|width=180px|side=right}}
|-align=center
|-style="text-align:center;"
|<math>\sum_{n = 0}^\infty F_n x^n = \frac{x}{1-x-x^2}.</math>
|<math>\sum_{n = 0}^\infty F_n x^n = \frac{x}{1-x-x^2}.</math>
{{float_end|Definition of the Fibonacci sequence using a generating function.}}
{{float end|caption=Definition of the Fibonacci sequence using a generating function.}}


A sequence is constant-recursive precisely when its [[generating function]]
A sequence is constant-recursive precisely when its [[generating function]]
:<math>\sum_{n = 0}^\infty s_n x^n = s_0 + s_1 x^1 + s_2 x^2 + s_3 x^3 + \cdots</math>
:<math>\sum_{n = 0}^\infty s_n x^n = s_0 + s_1 x^1 + s_2 x^2 + s_3 x^3 + \cdots</math>
is a rational function <math>p(x) \,/\, q(x)</math>, where <math>p</math> and <math>q</math> are polynomials and <math>q(0) = 1</math>.{{sfn|Stanley|2011|p=464}}
is a rational function <math>\frac{p(x)}{q(x)}</math>, where <math>p</math> and <math>q</math> are polynomials and <math>q(0) \ne 0</math>. The denominator is the polynomial obtained from the auxiliary polynomial by [[reciprocal polynomial|reversing the order of the coefficients]], and the numerator is determined by the initial values of the sequence.<ref>{{Cite journal|title = On the variety of linear recurrences and numerical semigroups|journal = [[Semigroup Forum]]|date = 2013-11-14|issn = 0037-1912|pages = 569–574|volume = 88|issue = 3|doi = 10.1007/s00233-013-9551-2|language = en|first1 = Ivan|last1 = Martino|first2 = Luca|last2 = Martino|arxiv = 1207.0111|s2cid = 119625519}}</ref>
Moreover, the order of the sequence is the minimum <math>d</math> such that it has such a form with <math>\text{deg } q(x) \le d</math> and <math>\text{deg } p(x) < d</math>.{{sfn|Stanley|2011|pp=464-465}}
{{sfn|Kauers|Paule|2010|p=74}}


The denominator is the polynomial obtained from the auxiliary polynomial by [[reciprocal polynomial|reversing the order of the coefficients]], and the numerator is determined by the initial values of the sequence:<ref>{{Cite journal|title = On the variety of linear recurrences and numerical semigroups|journal = [[Semigroup Forum]]|date = 2013-11-14|issn = 0037-1912|pages = 569–574|volume = 88|issue = 3|doi = 10.1007/s00233-013-9551-2|language = en|first1 = Ivan|last1 = Martino|first2 = Luca|last2 = Martino|arxiv = 1207.0111|s2cid = 119625519}}</ref>{{sfn|Kauers|Paule|2010|p=74}}
The explicit derivation of the generating function in terms of the linear recurrence is
:<math>\sum_{n = 0}^\infty s_n x^n = \frac{b_0 + b_1 x^1 + b_2 x^2 + \dots + b_{d-1} x^{d-1}}{1 - c_1 x^1 - c_2 x^2 - \dots - c_d x^d},
:<math>\sum_{n = 0}^\infty s_n x^n = \frac{b_0 + b_1 x^1 + b_2 x^2 + \dots + b_{d-1} x^{d-1}}{1 - c_1 x^1 - c_2 x^2 - \dots - c_d x^d},</math>
</math>
where
where
:<math>b_n = s_n - c_1 s_{n-1} - c_2 s_{n-2} - \dots - c_d s_{n-d}.</math>
:<math>b_n = s_n - c_1 s_{n-1} - c_2 s_{n-2} - \dots - c_d s_{n-d}.</math>{{sfn|Stanley|2011|pp=468-469}}
It follows from the above that the denominator here must be a polynomial not divisible by <math>x</math> (and in particular nonzero).
It follows from the above that the denominator <math>q(x)</math> must be a polynomial not divisible by <math>x</math> (and in particular nonzero).


===In terms of sequence spaces===
===In terms of sequence spaces===


{{float_begin|side=right|width=200px}}
{{float begin|width=175px|side=right}}
|-align=center
|-align=center
|<math>\{(a n + b)_{n=0}^\infty : a, b \in \mathbb{R}\}</math>
|<math>\{(a n + b)_{n=0}^\infty : a, b \in \mathbb{R}\}</math>
{{float_end|2-dimensional [[sequence space|vector space of sequences]] generated by the sequence <math>s_n = n</math>.}}
{{float end|2-dimensional [[sequence space|vector space of sequences]] generated by the sequence <math>s_n = n</math>.}}


A sequence <math>(s_n)_{n=0}^\infty</math> is constant-recursive if and only if the set of sequences
A sequence <math>(s_n)_{n=0}^\infty</math> is constant-recursive if and only if the set of sequences
:<math>\left\{(s_{n+r})_{n=0}^\infty : r \geq 0\right\}</math>
:<math>\left\{(s_{n+r})_{n=0}^\infty : r \geq 0\right\}</math>
is contained in a [[sequence space]] ([[vector space]] of sequences) whose [[Dimension (vector space)|dimension]] is finite. That is, <math>(s_n)_{n=0}^\infty</math> is contained in a finite-dimensional [[Linear subspace|subspace]] of <math>\mathbb{C}^\mathbb{N}</math> [[Closure (mathematics)|closed]] under the [[Shift operator#Sequences|left-shift operator]].{{sfn|Kauers|Paule|2010|p=67}}
is contained in a [[sequence space]] ([[vector space]] of sequences) whose [[Dimension (vector space)|dimension]] is finite. That is, <math>(s_n)_{n=0}^\infty</math> is contained in a finite-dimensional [[Linear subspace|subspace]] of <math>\mathbb{C}^\mathbb{N}</math> [[Closure (mathematics)|closed]] under the [[Shift operator#Sequences|left-shift operator]].{{sfn|Kauers|Paule|2010|p=67}}{{sfn|Stanley|2011|p=465}}


This characterization is because the order-<math>d</math> linear recurrence relation can be understood as a [[Linear independence#Definition|proof of linear dependence]] between the sequences <math>(s_{n+r})_{n=0}^\infty</math> for <math>r=0, \ldots, d</math>. An extension of this argument shows that the order of the sequence is equal to the dimension of the sequence space generated by <math>(s_{n+r})_{n=0}^\infty</math> for all <math>r</math>.{{sfn|Kauers|Paule|2010|p=69}}
This characterization is because the order-<math>d</math> linear recurrence relation can be understood as a [[Linear independence#Definition|proof of linear dependence]] between the sequences <math>(s_{n+r})_{n=0}^\infty</math> for <math>r=0, \ldots, d</math>. An extension of this argument shows that the order of the sequence is equal to the dimension of the sequence space generated by <math>(s_{n+r})_{n=0}^\infty</math> for all <math>r</math>.{{sfn|Kauers|Paule|2010|p=69}}{{sfn|Stanley|2011|p=465}}


== Closed-form characterization ==
== Closed-form characterization ==
Line 186: Line 188:
Constant-recursive sequences admit the following unique [[Closed-form expression|closed form]] characterization using [[exponential polynomial]]s: every constant-recursive sequence can be written in the form
Constant-recursive sequences admit the following unique [[Closed-form expression|closed form]] characterization using [[exponential polynomial]]s: every constant-recursive sequence can be written in the form
:<math>s_n = z_n + k_1(n) r_1^n + k_2(n) r_2^n + \cdots + k_e(n) r_e^n,</math>
:<math>s_n = z_n + k_1(n) r_1^n + k_2(n) r_2^n + \cdots + k_e(n) r_e^n,</math>
for all <math>n \ge 0</math>, where
where
* <math>z_n</math> is a sequence which is zero for all <math>n \ge d</math> (the order of the sequence);
* The term <math>z_n</math> is a sequence which is zero for all <math>n \ge d</math> (where <math>d</math> is the order of the sequence);
* <math>k_1(n), k_2(n), \ldots, k_e(n)</math> are complex polynomials; and
* The terms <math>k_1(n), k_2(n), \ldots, k_e(n)</math> are complex polynomials; and
* <math>r_1, r_2, \ldots, r_k</math> are distinct complex constants.
* The terms <math>r_1, r_2, \ldots, r_k</math> are distinct complex constants.{{sfn|Brousseau|1971|pp=28-34|loc=Lesson 5}}{{sfn|Stanley|2011|p=464}}


This characterization is exact: every sequence of complex numbers that can be written in the above form is constant-recursive.{{sfn|Kauers|Paule|2010|pp=68-70}}
This characterization is exact: every sequence of complex numbers that can be written in the above form is constant-recursive.{{sfn|Kauers|Paule|2010|pp=68-70}}


For example, the Fibonacci number <math>F_n</math> is written in this form using [[Fibonacci number#Binet's formula|Binet's formula]]:
For example, the Fibonacci number <math>F_n</math> is written in this form using [[Fibonacci number#Binet's formula|Binet's formula]]:{{sfn|Brousseau|1971|p=16|loc=Lesson 3}}
:<math>F_n = \frac{1}{\sqrt{5}}\varphi^n - \frac{1}{\sqrt{5}}\psi^n,</math>
:<math>F_n = \frac{1}{\sqrt{5}}\varphi^n - \frac{1}{\sqrt{5}}\psi^n,</math>
where <math>\varphi = \frac{1 + \sqrt{5}}{2} \approx 1.61803\ldots</math> is the [[golden ratio]] and <math>\psi = \frac{-1}{\varphi}</math>, both roots of the equation <math>x^2 - x - 1 = 0</math>. In this case, <math>e=2</math>, <math>z_n = 0</math> for all <math>n</math>, <math>k_1(n) = k_2(n) = \frac{1}{\sqrt{5}}</math> (constant polynomials), <math>r_1 = \varphi</math>, and <math>r_2 = \psi</math>. Notice that though the original sequence was over the integers, the closed form solution involves real or complex roots. In general, for sequences of integers or rationals, the closed formula will use [[algebraic number]]s.
where <math>\varphi = (1 + \sqrt{5}) \,/\, 2 \approx 1.61803\ldots</math> is the [[golden ratio]] and <math>\psi = -1 \,/\, \varphi</math>. These are the roots of the equation <math>x^2 - x - 1 = 0</math>. In this case, <math>e=2</math>, <math>z_n = 0</math> for all <math>n</math>, <math>k_1(n) = k_2(n) = 1 \,/\, \sqrt{5}</math> are both constant polynomials, <math>r_1 = \varphi</math>, and <math>r_2 = \psi</math>.

The term <math>z_n</math> is only needed when <math>c_d\ne 0</math>; if <math>c_d = 0</math> then it corrects for the fact that some initial values may be exceptions to the general recurrence. In particular, <math>z_n = 0</math> for all <math>n \ge d</math>.{{cn|date=April 2024}}


The complex numbers <math>r_1, \ldots, r_n</math> are the roots of the [[characteristic equation (calculus)|characteristic polynomial]] (or "auxiliary polynomial") of the recurrence:
The complex numbers <math>r_1, \ldots, r_n</math> are the roots of the [[characteristic equation (calculus)|characteristic polynomial]] of the recurrence:
:<math>x^d - c_1 x^{d-1} - \dots - c_{d-1} x - c_d</math>
:<math>x^d - c_1 x^{d-1} - \dots - c_{d-1} x - c_d</math>
whose coefficients are the same as those of the recurrence.
whose coefficients are the same as those of the recurrence.{{sfn|Brousseau|1971|p=28|loc=Lesson 5}}
If the sequence consists of integers or rational numbers, the roots will be [[algebraic number]]s.
If the <math>d</math> roots <math>r_1, r_2, \dots, r_d</math> are all distinct, then the polynomials <math>k_i(n)</math> are all constants, which can be determined from the initial values of the sequence.
If the <math>d</math> roots <math>r_1, r_2, \dots, r_d</math> are all distinct, then the polynomials <math>k_i(n)</math> are all constants, which can be determined from the initial values of the sequence.
If the roots of the characteristic polynomial are not distinct, and <math>r_i</math> is a root of [[Multiplicity (mathematics)|multiplicity]] <math>m</math>, then <math>k_i(n)</math> in the formula has degree <math>m - 1</math>. For instance, if the characteristic polynomial factors as <math>(x-r)^3</math>, with the same root ''r'' occurring three times, then the <math>n</math>th term is of the form <math>s_n = (a + b n + c n^2) r^n.</math><ref>{{citation|contribution=2.1.1 Constant coefficients – A) Homogeneous equations|title=Mathematics for the Analysis of Algorithms|first1=Daniel H.|last1=Greene|first2=Donald E.|last2=Knuth|author2-link=Donald Knuth| edition=2nd| publisher=Birkhäuser |page=17 | year=1982}}.</ref>
If the roots of the characteristic polynomial are not distinct, and <math>r_i</math> is a root of [[Multiplicity (mathematics)|multiplicity]] <math>m</math>, then <math>k_i(n)</math> in the formula has degree <math>m - 1</math>. For instance, if the characteristic polynomial factors as <math>(x-r)^3</math>, with the same root ''r'' occurring three times, then the <math>n</math>th term is of the form <math>s_n = (a + b n + c n^2) r^n.</math><ref>{{citation|contribution=2.1.1 Constant coefficients – A) Homogeneous equations|title=Mathematics for the Analysis of Algorithms|first1=Daniel H.|last1=Greene|first2=Donald E.|last2=Knuth|author2-link=Donald Knuth| edition=2nd| publisher=Birkhäuser |page=17 | year=1982}}.</ref>{{sfn|Brousseau|1971|pp=29-31|loc=Lesson 5}}

The term <math>z_n</math> is only needed when <math>c_d\ne 0</math>; if <math>c_d = 0</math> then it corrects for the fact that some initial values may be exceptions to the general recurrence. In particular, <math>z_n = 0</math> for all <math>n \ge d</math>, the order of the sequence.


==Closure properties==
==Closure properties==
Line 209: Line 212:
===Examples===
===Examples===


The sum of two constant-recursive sequences is also constant-recursive.{{sfn|Kauers|Paule|2010|p=71}} For example, the sum of <math>s_n = 2^n</math> and <math>t_n = n</math> is <math>u_n = 2^n + n</math> (<math>1, 3, 6, 11, 20, \ldots</math>), which satisfies the recurrence <math>u_n = 4u_{n-1} - 5u_{n-2} + 2u_{n-3}</math>. The new recurrence can be found by adding the generating functions for each sequence.
The sum of two constant-recursive sequences is also constant-recursive.{{sfn|Kauers|Paule|2010|p=71}}{{sfn|Brousseau|1971|p=37|loc=Lesson 6}} For example, the sum of <math>s_n = 2^n</math> and <math>t_n = n</math> is <math>u_n = 2^n + n</math> (<math>1, 3, 6, 11, 20, \ldots</math>), which satisfies the recurrence <math>u_n = 4u_{n-1} - 5u_{n-2} + 2u_{n-3}</math>. The new recurrence can be found by adding the generating functions for each sequence.


Similarly, the product of two constant-recursive sequences is constant-recursive.{{sfn|Kauers|Paule|2010|p=71}} For example, the product of <math>s_n = 2^n</math> and <math>t_n = n</math> is <math>u_n = n \cdot 2^n</math> (<math>0, 2, 8, 24, 64, \ldots</math>), which satisfies the recurrence <math>u_n = 4 u_{n-1} - 4 u_{n-2}</math>.
Similarly, the product of two constant-recursive sequences is constant-recursive.{{sfn|Kauers|Paule|2010|p=71}} For example, the product of <math>s_n = 2^n</math> and <math>t_n = n</math> is <math>u_n = n \cdot 2^n</math> (<math>0, 2, 8, 24, 64, \ldots</math>), which satisfies the recurrence <math>u_n = 4 u_{n-1} - 4 u_{n-2}</math>.
Line 217: Line 220:
===List of operations===
===List of operations===


In general, constant-recursive sequences are [[Closure (mathematics)|closed]] under the following operations, where <math>s = (s_n)_{n \in \mathbb{N}}, t = (t_n)_{n \in \mathbb{N}}</math> denote constant-recursive sequences, <math>f(x), g(x)</math> are their generating functions, and <math>d, e</math> are their orders, respectively.
In general, constant-recursive sequences are [[Closure (mathematics)|closed]] under the following operations, where <math>s = (s_n)_{n \in \mathbb{N}}, t = (t_n)_{n \in \mathbb{N}}</math> denote constant-recursive sequences, <math>f(x), g(x)</math> are their generating functions, and <math>d, e</math> are their orders, respectively.{{sfn|Stanley|2011|pp=471}}


{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
Line 225: Line 228:
| Term-wise sum <math>s + t</math> || <math>(s + t)_n = s_n + t_n</math> || — || <math>f(x) + g(x)</math> || <math>\le d + e</math>{{sfn|Kauers|Paule|2010|p=71}}
| Term-wise sum <math>s + t</math> || <math>(s + t)_n = s_n + t_n</math> || — || <math>f(x) + g(x)</math> || <math>\le d + e</math>{{sfn|Kauers|Paule|2010|p=71}}
|-
|-
| Term-wise product <math>s \cdot t</math> || <math>(s \cdot t)_n = s_n \cdot t_n</math> || — || || <math> \le d \cdot e </math><ref name="ow"/>{{sfn|Kauers|Paule|2010|p=71}}
| Term-wise product <math>s \cdot t</math> || <math>(s \cdot t)_n = s_n \cdot t_n</math> || — || <math>\frac{1}{2 \pi i} \int_\gamma \frac{f(\zeta)}{\zeta} g\left(\frac{x}{\zeta}\right) \; \mathrm{d}\zeta</math><ref>{{Cite journal |last=Pohlen |first=Timo |date=2009 |title=The Hadamard product and universal power series |url=https://ubt.opus.hbz-nrw.de/opus45-ubtr/frontdoor/deliver/index/docId/327/file/Dissertation.pdf |pp=36-37 |journal=University of Trier (Doctoral Dissertation)}}</ref><ref>See [[Hadamard product (series)]] and [[Parseval's theorem]].</ref> || <math> \le d \cdot e </math><ref name="ow"/>{{sfn|Kauers|Paule|2010|p=71}}
|-
|-
| [[Cauchy product]] <math>s * t</math> || <math>(s * t)_n = \sum_{i=0}^n s_i t_{n-i}</math> || — || <math>f(x) g(x)</math> || <math>\le d + e</math>
| [[Cauchy product]] <math>s * t</math> || <math>(s * t)_n = \sum_{i=0}^n s_i t_{n-i}</math> || — || <math>f(x) g(x)</math> || <math>\le d + e</math>{{sfn|Stanley|2011|pp=471}}
|-
|-
| Left shift <math>Ls</math> || <math>(Ls)_n = s_{n+1}</math> || — || <math>\frac{f(x) - s_0}{x}</math> || <math>\le d</math>
| Left shift <math>Ls</math> || <math>(Ls)_n = s_{n+1}</math> || — || <math>\frac{f(x) - s_0}{x}</math> || <math>\le d</math>{{sfn|Stanley|2011|pp=471}}
|-
|-
| Right shift <math>Rs</math> || <math>(Rs)_n = \begin{cases}s_{n-1} &n \ge 1\\0 &n = 0\end{cases}</math> || — || <math>x f(x)</math> || <math>\le d + 1</math>
| Right shift <math>Rs</math> || <math>(Rs)_n = \begin{cases}s_{n-1} &n \ge 1\\0 &n = 0\end{cases}</math> || — || <math>x f(x)</math> || <math>\le d + 1</math>{{sfn|Stanley|2011|pp=471}}
|-
|-
| [[Formal power series#Multiplicative inverse|Cauchy inverse]] <math>s^{(-1)}</math> || <math>(s^{(-1)})_n = \sum_{i_1 + \dots + i_k = n} (-1)^k s_{i_1} s_{i_2} \cdots s_{i_k}</math> || <math>s_0 = 1</math> || <math>\frac{1}{f(x)}</math> || <math>\le \max(2d-1, 2)</math>
| [[Formal power series#Multiplicative inverse|Cauchy inverse]] <math>s^{(-1)}</math> || <math>(s^{(-1)})_n = \sum_{{i_1 + \dots + i_k = n} \atop {i_1, \ldots, i_k \ne 0}} (-1)^k s_{i_1} s_{i_2} \cdots s_{i_k}</math> || <math>s_0 = 1</math> || <math>\frac{1}{f(x)}</math> || <math>\le d + 1</math>{{sfn|Stanley|2011|pp=471}}
|-
|-
| [[Kleene star]] <math>s^{(*)}</math> || <math>(s^{(*)})_n = \sum_{i_1 + \dots + i_k = n} s_{i_1} s_{i_2} \cdots s_{i_k}</math> || <math> s_0 = 0</math> || <math>\frac{1}{1 - f(x)}</math> || <math>\le \max(2d-1,2)</math>
| [[Kleene star]] <math>s^{(*)}</math> || <math>(s^{(*)})_n = \sum_{{i_1 + \dots + i_k = n} \atop {i_1, \ldots, i_k \ne 0}} s_{i_1} s_{i_2} \cdots s_{i_k}</math> || <math> s_0 = 0</math> || <math>\frac{1}{1 - f(x)}</math> || <math>\le d + 1</math>{{sfn|Stanley|2011|pp=471}}
|}
|}


The closure under term-wise addition and multiplication follows from the closed-form characterization in terms of exponential polynomials. The closure under Cauchy product follows from the generating function characterization. The requirement <math>s_0 = 1</math> for Cauchy inverse is necessary for the case of integer sequences, but can be replaced by <math>s_0 \ne 0</math> if the sequence is over any [[field (mathematics)|field]] (rational, algebraic, real, or complex numbers).
The closure under term-wise addition and multiplication follows from the closed-form characterization in terms of exponential polynomials. The closure under Cauchy product follows from the generating function characterization.{{sfn|Stanley|2011|pp=471}} The requirement <math>s_0 = 1</math> for Cauchy inverse is necessary for the case of integer sequences, but can be replaced by <math>s_0 \ne 0</math> if the sequence is over any [[field (mathematics)|field]] (rational, algebraic, real, or complex numbers).{{sfn|Stanley|2011|pp=471}}
<!--
<!--


Line 250: Line 253:


{{main|Skolem–Mahler–Lech theorem|Skolem problem}}
{{main|Skolem–Mahler–Lech theorem|Skolem problem}}
{{Unsolved|mathematics|Is there an algorithm to test whether a constant-recursive sequence has a zero?}}


===Zeros===
===Zeros===
Line 266: Line 270:
| title = Reachability Problems: 6th International Workshop, RP 2012, Bordeaux, France, September 17–19, 2012, Proceedings
| title = Reachability Problems: 6th International Workshop, RP 2012, Bordeaux, France, September 17–19, 2012, Proceedings
| volume = 7550
| volume = 7550
| year = 2012}}.</ref>
| year = 2012| isbn = 978-3-642-33511-2
}}.</ref>
Given such an encoding for sequences <math>s_n</math>, the following problems can be studied:
Given such an encoding for sequences <math>s_n</math>, the following problems can be studied:


{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|+ Notable decision problems
|+ Notable decision problems
! Problem !! Description !! Status<ref name="ow"/><ref name=LICS22>{{Cite book |last1=Lipton |first1=Richard |last2=Luca |first2=Florian |last3=Nieuwveld |first3=Joris |last4=Ouaknine |first4=Joël |last5=Purser |first5=David |last6=Worrell |first6=James |chapter=On the Skolem Problem and the Skolem Conjecture |date=2022-08-04 |title=Proceedings of the 37th Annual ACM/IEEE Symposium on Logic in Computer Science |chapter-url=https://dl.acm.org/doi/10.1145/3531130.3533328 |series=LICS '22 |location=New York, NY, USA |publisher=Association for Computing Machinery |pages=1–9 |doi=10.1145/3531130.3533328 |isbn=978-1-4503-9351-5}}</ref>
! Problem !! Description !! Status (2021)
|-
|-
| Existence of a zero ([[Skolem problem]])
| Existence of a zero ([[Skolem problem]])
Line 279: Line 284:
| Infinitely many zeros
| Infinitely many zeros
|| On input <math>(s_n)_{n=0}^\infty</math>, is <math>s_n = 0</math> for infinitely many <math>n</math>?
|| On input <math>(s_n)_{n=0}^\infty</math>, is <math>s_n = 0</math> for infinitely many <math>n</math>?
|| Decidable
|-
| Eventually all zero
|| On input <math>(s_n)_{n=0}^\infty</math>, is <math>s_n = 0</math> for all [[Eventually (mathematics)|sufficiently large]] <math>n</math>?
|| Decidable
|| Decidable
|-
|-
Line 294: Line 303:
The Skolem-Mahler-Lech theorem would provide answers to some of these questions, except that its proof is [[Constructive proof|non-constructive]]. It states that for all <math>n > M</math>, the zeros are repeating; however, the value of <math>M</math> is not known to be computable, so this does not lead to a solution to the existence-of-a-zero problem.<ref name="ow"/> On the other hand, the exact pattern which repeats after <math>n > M</math> ''is'' computable.<ref name="ow"/><ref>{{Cite journal|last1=Berstel|first1=Jean|last2=Mignotte|first2=Maurice|date=1976|title=Deux propriétés décidables des suites récurrentes linéaires|journal=Bulletin de la Société Mathématique de France|language=fr|volume=104|pages=175–184|doi=10.24033/bsmf.1823|doi-access=free}}</ref> This is why the infinitely-many-zeros problem is decidable: just determine if the infinitely-repeating pattern is empty.
The Skolem-Mahler-Lech theorem would provide answers to some of these questions, except that its proof is [[Constructive proof|non-constructive]]. It states that for all <math>n > M</math>, the zeros are repeating; however, the value of <math>M</math> is not known to be computable, so this does not lead to a solution to the existence-of-a-zero problem.<ref name="ow"/> On the other hand, the exact pattern which repeats after <math>n > M</math> ''is'' computable.<ref name="ow"/><ref>{{Cite journal|last1=Berstel|first1=Jean|last2=Mignotte|first2=Maurice|date=1976|title=Deux propriétés décidables des suites récurrentes linéaires|journal=Bulletin de la Société Mathématique de France|language=fr|volume=104|pages=175–184|doi=10.24033/bsmf.1823|doi-access=free}}</ref> This is why the infinitely-many-zeros problem is decidable: just determine if the infinitely-repeating pattern is empty.


Decidability results are known when the order of a sequence is restricted to be small. For example, the Skolem problem is decidable for sequences of order up to 4.<ref name="ow" />
Decidability results are known when the order of a sequence is restricted to be small. For example, the Skolem problem is decidable for sequences of order up to 4,<ref name="ow" /> and for a restricted set of sequences up to order 7.<ref name=LICS22/>


==Generalizations==
==Generalizations==


* A '''[[holonomic function|holonomic sequence]]''' is a natural generalization where the coefficients of the recurrence are allowed to be polynomial functions of <math>n</math> rather than constants.
A '''[[holonomic function|D-finite or holonomic sequence]]''' is a natural generalization where the coefficients of the recurrence are allowed to be polynomial functions of <math>n</math> rather than constants.<ref>{{Cite journal |last=Stanley |first=Richard P |date=1980 |title=Differentiably finite power series |journal=European journal of combinatorics |volume=1 |issue=2 |pages=175–188}}</ref>

* A '''[[k-regular sequence|<math>k</math>-regular sequence]]''' satisfies a linear recurrences with constant coefficients, but the recurrences take a different form. Rather than <math>s_n</math> being a linear combination of <math>s_m</math> for some integers <math>m</math> that are close to <math>n</math>, each term <math>s_n</math> in a <math>k</math>-regular sequence is a linear combination of <math>s_m</math> for some integers <math>m</math> whose [[radix|base]]-<math>k</math> representations are close to that of <math>n</math>. Constant-recursive sequences can be thought of as <math>1</math>-regular sequences, where the [[unary numeral system|base-1 representation]] of <math>n</math> consists of <math>n</math> copies of the digit <math>1</math>.
A '''[[k-regular sequence|<math>k</math>-regular sequence]]''' satisfies a linear recurrences with constant coefficients, but the recurrences take a different form. Rather than <math>s_n</math> being a linear combination of <math>s_m</math> for some integers <math>m</math> that are close to <math>n</math>, each term <math>s_n</math> in a <math>k</math>-regular sequence is a linear combination of <math>s_m</math> for some integers <math>m</math> whose [[radix|base]]-<math>k</math> representations are close to that of <math>n</math>.<ref>{{Cite journal |last=Allouche |first=Jean-Paul |last2=Shallit |first2=Jeffrey |date=1992 |title=The ring of k-regular sequences |journal=Theoretical Computer Science |volume=98 |issue=2 |pages=163–197}}</ref> Constant-recursive sequences can be thought of as <math>1</math>-regular sequences, where the [[unary numeral system|base-1 representation]] of <math>n</math> consists of <math>n</math> copies of the digit <math>1</math>.
{{cn|date=April 2024}}


==Notes==
==Notes==
Line 306: Line 317:
==References==
==References==
{{refbegin}}
{{refbegin}}
* {{cite book |last=Brousseau |first=Alfred |title=Linear Recursion and Fibonacci Sequences |year=1971 |publisher=Fibonacci Association |url=https://www.fq.math.ca/linear.html }}
* {{Cite book|last1=Kauers|first1=Manuel|url=https://books.google.com/books?id=BPeODAEACAAJ|title=The Concrete Tetrahedron: Symbolic Sums, Recurrence Equations, Generating Functions, Asymptotic Estimates|last2=Paule|first2=Peter|date=2010-12-01|publisher=Springer Vienna|isbn=978-3-7091-0444-6|language=en|pages=66}}
* {{Cite book |last1=Kauers |first1=Manuel |last2=Paule |first2=Peter |title=The Concrete Tetrahedron: Symbolic Sums, Recurrence Equations, Generating Functions, Asymptotic Estimates |url=https://books.google.com/books?id=BPeODAEACAAJ |date=2010 |publisher=Springer Vienna |isbn=978-3-7091-0444-6 |language=en |pages=66 }}
{{refend}}
* {{cite book |last=Stanley |first=Richard P. |date=2011 |title=Enumerative Combinatorics |url=https://www.ms.uky.edu/~sohum/putnam/enu_comb_stanley.pdf |volume=1 |edition=2 |publisher=Cambridge studies in advanced mathematics}}

==Further reading==
{{refbegin}}
* {{cite book |first1=Alfred |last1=Brousseau |title=Linear Recursion and Fibonacci Sequences |year=1971 |publisher=Fibonacci Association |url=http://www.fq.math.ca/linear.html}}
*{{cite book| first1=Ronald L. | last1=Graham |
first2=Donald E. | last2=Knuth
|first3=Oren | last3=Patashnik
|title=Concrete Mathematics: A Foundation for Computer Science
|edition=2
|publisher=Addison-Wesley
|year=1994 |isbn=978-0-201-55802-9
| title-link=Concrete Mathematics }}
{{refend}}
{{refend}}



Latest revision as of 03:54, 19 April 2024

The Fibonacci sequence is constant-recursive: each element of the sequence is the sum of the previous two.
Hasse diagram of some subclasses of constant-recursive sequences, ordered by inclusion

In mathematics, an infinite sequence of numbers is called constant-recursive if it satisfies an equation of the form

for all , where are constants. The equation is called a linear recurrence relation. The concept is also known as a linear recurrence sequence, linear-recursive sequence, linear-recurrent sequence, or a C-finite sequence.[1]

For example, the Fibonacci sequence

,

is constant-recursive because it satisfies the linear recurrence : each number in the sequence is the sum of the previous two.[2] Other examples include the power of two sequence , where each number is the sum of twice the previous number, and the square number sequence . All arithmetic progressions, all geometric progressions, and all polynomials are constant-recursive. However, not all sequences are constant-recursive; for example, the factorial sequence is not constant-recursive.

Constant-recursive sequences are studied in combinatorics and the theory of finite differences. They also arise in algebraic number theory, due to the relation of the sequence to polynomial roots; in the analysis of algorithms, as the running time of simple recursive functions; and in the theory of formal languages, where they count strings up to a given length in a regular language. Constant-recursive sequences are closed under important mathematical operations such as term-wise addition, term-wise multiplication, and Cauchy product.

The Skolem–Mahler–Lech theorem states that the zeros of a constant-recursive sequence have a regularly repeating (eventually periodic) form. The Skolem problem, which asks for an algorithm to determine whether a linear recurrence has at least one zero, is an unsolved problem in mathematics.

Definition[edit]

A constant-recursive sequence is any sequence of integers, rational numbers, algebraic numbers, real numbers, or complex numbers (written as as a shorthand) satisfying a formula of the form

for all for some fixed coefficients ranging over the same domain as the sequence (integers, rational numbers, algebraic numbers, real numbers, or complex numbers). The equation is called a linear recurrence with constant coefficients of order d. The order of the sequence is the smallest positive integer such that the sequence satisfies a recurrence of order d, or for the everywhere-zero sequence.[citation needed]

The definition above allows eventually-periodic sequences such as and . Some authors require that , which excludes such sequences.[3][4][5]

Examples[edit]

Selected examples of integer constant-recursive sequences[6]
Name Order (  ) First few values Recurrence (for  ) Generating function OEIS
Zero sequence 0 0, 0, 0, 0, 0, 0, ... A000004
One sequence 1 1, 1, 1, 1, 1, 1, ... A000012
Characteristic function of 1 1, 0, 0, 0, 0, 0, ... A000007
Powers of two 1 1, 2, 4, 8, 16, 32, ... A000079
Powers of −1 1 1, −1, 1, −1, 1, −1, ... A033999
Characteristic function of 2 0, 1, 0, 0, 0, 0, ... A063524
Decimal expansion of 1/6 2 1, 6, 6, 6, 6, 6, ... A020793
Decimal expansion of 1/11 2 0, 9, 0, 9, 0, 9, ... A010680
Nonnegative integers 2 0, 1, 2, 3, 4, 5, ... A001477
Odd positive integers 2 1, 3, 5, 7, 9, 11, ... A005408
Fibonacci numbers 2 0, 1, 1, 2, 3, 5, 8, 13, ... A000045
Lucas numbers 2 2, 1, 3, 4, 7, 11, 18, 29, ... A000032
Pell numbers 2 0, 1, 2, 5, 12, 29, 70, ... A000129
Powers of two interleaved with 0s 2 1, 0, 2, 0, 4, 0, 8, 0, ... A077957
Inverse of 6th cyclotomic polynomial 2 1, 1, 0, −1, −1, 0, 1, 1, ... A010892
Triangular numbers 3 0, 1, 3, 6, 10, 15, 21, ... A000217

Fibonacci and Lucas sequences[edit]

The sequence 0, 1, 1, 2, 3, 5, 8, 13, ... of Fibonacci numbers is constant-recursive of order 2 because it satisfies the recurrence with . For example, and . The sequence 2, 1, 3, 4, 7, 11, ... of Lucas numbers satisfies the same recurrence as the Fibonacci sequence but with initial conditions and . More generally, every Lucas sequence is constant-recursive of order 2.[2]

Arithmetic progressions[edit]

For any and any , the arithmetic progression is constant-recursive of order 2, because it satisfies . Generalizing this, see polynomial sequences below.[citation needed]

Geometric progressions[edit]

For any and , the geometric progression is constant-recursive of order 1, because it satisfies . This includes, for example, the sequence 1, 2, 4, 8, 16, ... as well as the rational number sequence .[citation needed]

Eventually periodic sequences[edit]

A sequence that is eventually periodic with period length is constant-recursive, since it satisfies for all , where the order is the length of the initial segment including the first repeating block. Examples of such sequences are 1, 0, 0, 0, ... (order 1) and 1, 6, 6, 6, ... (order 2).[citation needed]

Polynomial sequences[edit]

A sequence defined by a polynomial is constant-recursive. The sequence satisfies a recurrence of order (where is the degree of the polynomial), with coefficients given by the corresponding element of the binomial transform.[7][8] The first few such equations are

for a degree 0 (that is, constant) polynomial,
for a degree 1 or less polynomial,
for a degree 2 or less polynomial, and
for a degree 3 or less polynomial.

A sequence obeying the order-d equation also obeys all higher order equations. These identities may be proved in a number of ways, including via the theory of finite differences.[9] Any sequence of integer, real, or complex values can be used as initial conditions for a constant-recursive sequence of order . If the initial conditions lie on a polynomial of degree or less, then the constant-recursive sequence also obeys a lower order equation.

Enumeration of words in a regular language[edit]

Let be a regular language, and let be the number of words of length in . Then is constant-recursive.[10] For example, for the language of all binary strings, for the language of all unary strings, and for the language of all binary strings that do not have two consecutive ones. More generally, any function accepted by a weighted automaton over the unary alphabet over the semiring (which is in fact a ring, and even a field) is constant-recursive.[citation needed]

Other examples[edit]

The sequences of Jacobsthal numbers, Padovan numbers, Pell numbers, and Perrin numbers[2] are constant-recursive.

Non-examples[edit]

The factorial sequence is not constant-recursive. More generally, every constant-recursive function is asymptotically bounded by an exponential function (see #Closed-form characterization) and the factorial sequence grows faster than this.

The Catalan sequence is not constant-recursive. This is because the generating function of the Catalan numbers is not a rational function (see #Equivalent definitions).

Equivalent definitions[edit]

In terms of matrices[edit]

Definition of the Fibonacci sequence using matrices.

A sequence is constant-recursive of order less than or equal to if and only if it can be written as

where is a vector, is a matrix, and is a vector, where the elements come from the same domain (integers, rational numbers, algebraic numbers, real numbers, or complex numbers) as the original sequence. Specifically, can be taken to be the first values of the sequence, the linear transformation that computes from , and the vector .[11]

In terms of non-homogeneous linear recurrences[edit]

Non-homogeneous Homogeneous
Definition of the sequence of natural numbers , using a non-homogeneous recurrence and the equivalent homogeneous version.

A non-homogeneous linear recurrence is an equation of the form

where is an additional constant. Any sequence satisfying a non-homogeneous linear recurrence is constant-recursive. This is because subtracting the equation for from the equation for yields a homogeneous recurrence for , from which we can solve for to obtain[citation needed]

In terms of generating functions[edit]

Definition of the Fibonacci sequence using a generating function.

A sequence is constant-recursive precisely when its generating function

is a rational function , where and are polynomials and .[3] Moreover, the order of the sequence is the minimum such that it has such a form with and .[12]

The denominator is the polynomial obtained from the auxiliary polynomial by reversing the order of the coefficients, and the numerator is determined by the initial values of the sequence:[13][14]

where

[15]

It follows from the above that the denominator must be a polynomial not divisible by (and in particular nonzero).

In terms of sequence spaces[edit]

2-dimensional vector space of sequences generated by the sequence .

A sequence is constant-recursive if and only if the set of sequences

is contained in a sequence space (vector space of sequences) whose dimension is finite. That is, is contained in a finite-dimensional subspace of closed under the left-shift operator.[16][17]

This characterization is because the order- linear recurrence relation can be understood as a proof of linear dependence between the sequences for . An extension of this argument shows that the order of the sequence is equal to the dimension of the sequence space generated by for all .[18][17]

Closed-form characterization[edit]

Closed-form characterization of the Fibonacci sequence (Binet's formula)

Constant-recursive sequences admit the following unique closed form characterization using exponential polynomials: every constant-recursive sequence can be written in the form

for all , where

  • The term is a sequence which is zero for all (where is the order of the sequence);
  • The terms are complex polynomials; and
  • The terms are distinct complex constants.[19][3]

This characterization is exact: every sequence of complex numbers that can be written in the above form is constant-recursive.[20]

For example, the Fibonacci number is written in this form using Binet's formula:[21]

where is the golden ratio and . These are the roots of the equation . In this case, , for all , are both constant polynomials, , and .

The term is only needed when ; if then it corrects for the fact that some initial values may be exceptions to the general recurrence. In particular, for all .[citation needed]

The complex numbers are the roots of the characteristic polynomial of the recurrence:

whose coefficients are the same as those of the recurrence.[22] If the sequence consists of integers or rational numbers, the roots will be algebraic numbers. If the roots are all distinct, then the polynomials are all constants, which can be determined from the initial values of the sequence. If the roots of the characteristic polynomial are not distinct, and is a root of multiplicity , then in the formula has degree . For instance, if the characteristic polynomial factors as , with the same root r occurring three times, then the th term is of the form [23][24]

Closure properties[edit]

Examples[edit]

The sum of two constant-recursive sequences is also constant-recursive.[25][26] For example, the sum of and is (), which satisfies the recurrence . The new recurrence can be found by adding the generating functions for each sequence.

Similarly, the product of two constant-recursive sequences is constant-recursive.[25] For example, the product of and is (), which satisfies the recurrence .

The left-shift sequence and the right-shift sequence (with ) are constant-recursive because they satisfy the same recurrence relation. For example, because is constant-recursive, so is .

List of operations[edit]

In general, constant-recursive sequences are closed under the following operations, where denote constant-recursive sequences, are their generating functions, and are their orders, respectively.[27]

Operations on constant-recursive sequences
Operation Definition Requirement Generating function equivalent Order
Term-wise sum [25]
Term-wise product [28][29] [11][25]
Cauchy product [27]
Left shift [27]
Right shift [27]
Cauchy inverse [27]
Kleene star [27]

The closure under term-wise addition and multiplication follows from the closed-form characterization in terms of exponential polynomials. The closure under Cauchy product follows from the generating function characterization.[27] The requirement for Cauchy inverse is necessary for the case of integer sequences, but can be replaced by if the sequence is over any field (rational, algebraic, real, or complex numbers).[27]

Behavior[edit]

Unsolved problem in mathematics:

Is there an algorithm to test whether a constant-recursive sequence has a zero?

Zeros[edit]

Despite satisfying a simple local formula, a constant-recursive sequence can exhibit complicated global behavior. Define a zero of a constant-recursive sequence to be a nonnegative integer such that . The Skolem–Mahler–Lech theorem states that the zeros of the sequence are eventually repeating: there exists constants and such that for all , if and only if . This result holds for a constant-recursive sequence over the complex numbers, or more generally, over any field of characteristic zero.[30]

Decision problems[edit]

The pattern of zeros in a constant-recursive sequence can also be investigated from the perspective of computability theory. To do so, the description of the sequence must be given a finite description; this can be done if the sequence is over the integers or rational numbers, or even over the algebraic numbers.[11] Given such an encoding for sequences , the following problems can be studied:

Notable decision problems
Problem Description Status[11][31]
Existence of a zero (Skolem problem) On input , is for some ? Open
Infinitely many zeros On input , is for infinitely many ? Decidable
Eventually all zero On input , is for all sufficiently large ? Decidable
Positivity On input , is for all ? Open
Eventual positivity On input , is for all sufficiently large ? Open

Because the square of a constant-recursive sequence is still constant-recursive (see closure properties), the existence-of-a-zero problem in the table above reduces to positivity, and infinitely-many-zeros reduces to eventual positivity. Other problems also reduce to those in the above table: for example, whether for some reduces to existence-of-a-zero for the sequence . As a second example, for sequences in the real numbers, weak positivity (is for all ?) reduces to positivity of the sequence (because the answer must be negated, this is a Turing reduction).

The Skolem-Mahler-Lech theorem would provide answers to some of these questions, except that its proof is non-constructive. It states that for all , the zeros are repeating; however, the value of is not known to be computable, so this does not lead to a solution to the existence-of-a-zero problem.[11] On the other hand, the exact pattern which repeats after is computable.[11][32] This is why the infinitely-many-zeros problem is decidable: just determine if the infinitely-repeating pattern is empty.

Decidability results are known when the order of a sequence is restricted to be small. For example, the Skolem problem is decidable for sequences of order up to 4,[11] and for a restricted set of sequences up to order 7.[31]

Generalizations[edit]

A D-finite or holonomic sequence is a natural generalization where the coefficients of the recurrence are allowed to be polynomial functions of rather than constants.[33]

A -regular sequence satisfies a linear recurrences with constant coefficients, but the recurrences take a different form. Rather than being a linear combination of for some integers that are close to , each term in a -regular sequence is a linear combination of for some integers whose base- representations are close to that of .[34] Constant-recursive sequences can be thought of as -regular sequences, where the base-1 representation of consists of copies of the digit .[citation needed]

Notes[edit]

  1. ^ Kauers & Paule 2010, p. 63.
  2. ^ a b c Kauers & Paule 2010, p. 70.
  3. ^ a b c Stanley 2011, p. 464.
  4. ^ Kauers & Paule 2010, p. 66.
  5. ^ Halava, Vesa; Harju, Tero; Hirvensalo, Mika; Karhumäki, Juhani (2005), Skolem's Problem – On the Border between Decidability and Undecidability, p. 1, CiteSeerX 10.1.1.155.2606
  6. ^ "Index to OEIS: Section Rec - OeisWiki". oeis.org. Retrieved 2024-04-18.
  7. ^ Boyadzhiev, Boyad (2012). "Close Encounters with the Stirling Numbers of the Second Kind" (PDF). Math. Mag. 85 (4): 252–266. arXiv:1806.09468. doi:10.4169/math.mag.85.4.252. S2CID 115176876.
  8. ^ Riordan, John (1964). "Inverse Relations and Combinatorial Identities". The American Mathematical Monthly. 71 (5): 485–498. doi:10.1080/00029890.1964.11992269. ISSN 0002-9890.
  9. ^ Jordan, Charles; Jordán, Károly (1965). Calculus of Finite Differences. American Mathematical Soc. pp. 9–11. ISBN 978-0-8284-0033-6. See formula on p.9, top.
  10. ^ Kauers & Paule 2010, p. 81.
  11. ^ a b c d e f g Ouaknine, Joël; Worrell, James (2012), "Decision problems for linear recurrence sequences", Reachability Problems: 6th International Workshop, RP 2012, Bordeaux, France, September 17–19, 2012, Proceedings, Lecture Notes in Computer Science, vol. 7550, Heidelberg: Springer-Verlag, pp. 21–28, doi:10.1007/978-3-642-33512-9_3, ISBN 978-3-642-33511-2, MR 3040104.
  12. ^ Stanley 2011, pp. 464–465.
  13. ^ Martino, Ivan; Martino, Luca (2013-11-14). "On the variety of linear recurrences and numerical semigroups". Semigroup Forum. 88 (3): 569–574. arXiv:1207.0111. doi:10.1007/s00233-013-9551-2. ISSN 0037-1912. S2CID 119625519.
  14. ^ Kauers & Paule 2010, p. 74.
  15. ^ Stanley 2011, pp. 468–469.
  16. ^ Kauers & Paule 2010, p. 67.
  17. ^ a b Stanley 2011, p. 465.
  18. ^ Kauers & Paule 2010, p. 69.
  19. ^ Brousseau 1971, pp. 28–34, Lesson 5.
  20. ^ Kauers & Paule 2010, pp. 68–70.
  21. ^ Brousseau 1971, p. 16, Lesson 3.
  22. ^ Brousseau 1971, p. 28, Lesson 5.
  23. ^ 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.
  24. ^ Brousseau 1971, pp. 29–31, Lesson 5.
  25. ^ a b c d Kauers & Paule 2010, p. 71.
  26. ^ Brousseau 1971, p. 37, Lesson 6.
  27. ^ a b c d e f g h Stanley 2011, pp. 471.
  28. ^ Pohlen, Timo (2009). "The Hadamard product and universal power series" (PDF). University of Trier (Doctoral Dissertation): 36–37.
  29. ^ See Hadamard product (series) and Parseval's theorem.
  30. ^ Lech, C. (1953), "A Note on Recurring Series", Arkiv för Matematik, 2 (5): 417–421, Bibcode:1953ArM.....2..417L, doi:10.1007/bf02590997
  31. ^ a b Lipton, Richard; Luca, Florian; Nieuwveld, Joris; Ouaknine, Joël; Purser, David; Worrell, James (2022-08-04). "On the Skolem Problem and the Skolem Conjecture". Proceedings of the 37th Annual ACM/IEEE Symposium on Logic in Computer Science. LICS '22. New York, NY, USA: Association for Computing Machinery. pp. 1–9. doi:10.1145/3531130.3533328. ISBN 978-1-4503-9351-5.
  32. ^ Berstel, Jean; Mignotte, Maurice (1976). "Deux propriétés décidables des suites récurrentes linéaires". Bulletin de la Société Mathématique de France (in French). 104: 175–184. doi:10.24033/bsmf.1823.
  33. ^ Stanley, Richard P (1980). "Differentiably finite power series". European journal of combinatorics. 1 (2): 175–188.
  34. ^ Allouche, Jean-Paul; Shallit, Jeffrey (1992). "The ring of k-regular sequences". Theoretical Computer Science. 98 (2): 163–197.

References[edit]

External links[edit]

  • "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)

Leave a Reply