Skip to content

LinearRecurrence ​

The sequence of a linear recurrence with constant coefficients, from its kernel and initial values.

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageLinearRecurrence✓
LinearRecurrence(kernel, init, n)the first nn terms of ai=kernel1 ai−1+⋯+kernelk ai−ka_i = kernel_1 \, a_{i-1} + \dots + kernel_k \, a_{i-k}, seeded by initinit.
LinearRecurrence(kernel, init, {m})just the mm-th term, as a one-element list.
LinearRecurrence(kernel, init, {m1, m2})the terms from index m1m1 through m2m2, inclusive.
Typed signatures
TypePackageApplies
(kernel: list<any>, init: list<any>, n: integer | list<integer>) -> list<any>combinatoricsalways

Domain: Collections

Details
  • Exact throughout: an integer or rational kernelkernel and initinit stay integer or rational all the way out, never floating point.

Examples

1 more kept as data, checked against the oracles
Basic #

the Fibonacci numbers, an=an−1+an−2a_n = a_{n-1} + a_{n-2}

live ↗
InLinearRecurrence([1,1],[1,1],10)\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack1, 1\bigr\rbrack, 10)Out[1,1,2,3,5,8,13,21,34,55]\bigl\lbrack1, 1, 2, 3, 5, 8, 13, 21, 34, 55\bigr\rbrack

Coefficients [−3,1][-3,1] give an=−3an−1+an−2a_n = -3a_{n-1} + a_{n-2} from seeds 7,27, 2

live ↗
InLinearRecurrence([−3,1],[7,2],10)\mathrm{LinearRecurrence}(\bigl\lbrack-3, 1\bigr\rbrack, \bigl\lbrack7, 2\bigr\rbrack, 10)Out[7,2,1,−1,4,−13,43,−142,469,−1 549]\bigl\lbrack7, 2, 1, -1, 4, -13, 43, -142, 469, -1\,549\bigr\rbrack
live ↗
InLinearRecurrence([a,b],[1,1],5)\mathrm{LinearRecurrence}(\bigl\lbrack a, b\bigr\rbrack, \bigl\lbrack1, 1\bigr\rbrack, 5)Out[1,1,a+b,a×(a+b)+b,a×(a×(a+b)+b)+b×(a+b)]\bigl\lbrack1, 1, a+b, a×(a+b)+b, a×(a×(a+b)+b)+b×(a+b)\bigr\rbrack
Scope #

the Lucas numbers: same kernel, other initial values

live ↗
InLinearRecurrence([1,1],[2,1],8)\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack2, 1\bigr\rbrack, 8)Out[2,1,3,4,7,11,18,29]\bigl\lbrack2, 1, 3, 4, 7, 11, 18, 29\bigr\rbrack

an=2an−1−an−2a_n = 2a_{n-1} - a_{n-2} is arithmetic

live ↗
InLinearRecurrence([2,−1],[1,3],5)\mathrm{LinearRecurrence}(\bigl\lbrack2, -1\bigr\rbrack, \bigl\lbrack1, 3\bigr\rbrack, 5)Out[1,3,5,7,9]\bigl\lbrack1, 3, 5, 7, 9\bigr\rbrack

tribonacci

live ↗
InLinearRecurrence([1,1,1],[0,0,1],10)\mathrm{LinearRecurrence}(\bigl\lbrack1, 1, 1\bigr\rbrack, \bigl\lbrack0, 0, 1\bigr\rbrack, 10)Out[0,0,1,1,2,4,7,13,24,44]\bigl\lbrack0, 0, 1, 1, 2, 4, 7, 13, 24, 44\bigr\rbrack

just the 10th term

live ↗
InLinearRecurrence([1,1],[1,1],[10])\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack10\bigr\rbrack)Out[55]\bigl\lbrack55\bigr\rbrack

terms 5 through 8

live ↗
InLinearRecurrence([1,1],[1,1],[5,8])\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack5, 8\bigr\rbrack)Out[5,8,13,21]\bigl\lbrack5, 8, 13, 21\bigr\rbrack

Vector seeds run the Fibonacci rule on both components at once

live ↗
InLinearRecurrence([1,1],[[1,2],[2,1]],10)\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack\bigl\lbrack1, 2\bigr\rbrack, \bigl\lbrack2, 1\bigr\rbrack\bigr\rbrack, 10)Out[[1,2],[2,1],[3,3],[5,4],[8,7],[13,11],[21,18],[34,29],[55,47],[89,76]]\bigl\lbrack\bigl\lbrack1, 2\bigr\rbrack, \bigl\lbrack2, 1\bigr\rbrack, \bigl\lbrack3, 3\bigr\rbrack, \bigl\lbrack5, 4\bigr\rbrack, \bigl\lbrack8, 7\bigr\rbrack, \bigl\lbrack13, 11\bigr\rbrack, \bigl\lbrack21, 18\bigr\rbrack, \bigl\lbrack34, 29\bigr\rbrack, \bigl\lbrack55, 47\bigr\rbrack, \bigl\lbrack89, 76\bigr\rbrack\bigr\rbrack

Matrix coefficients mix the components of vector-valued terms

live ↗
InLinearRecurrence([[[1,1],[0,1]],[[1,0],[−1,1]]],[[1,2],[2,1]],6)\mathrm{LinearRecurrence}(\bigl\lbrack\bigl\lbrack\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack0, 1\bigr\rbrack\bigr\rbrack, \bigl\lbrack\bigl\lbrack1, 0\bigr\rbrack, \bigl\lbrack-1, 1\bigr\rbrack\bigr\rbrack\bigr\rbrack, \bigl\lbrack\bigl\lbrack1, 2\bigr\rbrack, \bigl\lbrack2, 1\bigr\rbrack\bigr\rbrack, 6)Out[[1,2],[2,1],[4,2],[8,1],[13,−1],[20,−8]]\bigl\lbrack\bigl\lbrack1, 2\bigr\rbrack, \bigl\lbrack2, 1\bigr\rbrack, \bigl\lbrack4, 2\bigr\rbrack, \bigl\lbrack8, 1\bigr\rbrack, \bigl\lbrack13, -1\bigr\rbrack, \bigl\lbrack20, -8\bigr\rbrack\bigr\rbrack

A bare index returns the term at that position, here the fifth Fibonacci number

live ↗
InLinearRecurrence([1,1],[1,1],[5,5])\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack5, 5\bigr\rbrack)Out[5]\bigl\lbrack5\bigr\rbrack
live ↗
InLinearRecurrence([a,b],[c,d],5)\mathrm{LinearRecurrence}(\bigl\lbrack a, b\bigr\rbrack, \bigl\lbrack c, d\bigr\rbrack, 5)Out[c,d,bc+ad,a×(bc+ad)+bd,a×(a×(bc+ad)+bd)+b×(bc+ad)]\bigl\lbrack c, d, bc+ad, a×(bc+ad)+bd, a×(a×(bc+ad)+bd)+b×(bc+ad)\bigr\rbrack
Applications #

The Padovan sequence: an=an−2+an−3a_n = a_{n-2} + a_{n-3}

live ↗
InLinearRecurrence([0,1,1],[1,1,1],10)\mathrm{LinearRecurrence}(\bigl\lbrack0, 1, 1\bigr\rbrack, \bigl\lbrack1, 1, 1\bigr\rbrack, 10)Out[1,1,1,2,2,3,4,5,7,9]\bigl\lbrack1, 1, 1, 2, 2, 3, 4, 5, 7, 9\bigr\rbrack

The Pell numbers

live ↗
InLinearRecurrence([2,1],[0,1],10)\mathrm{LinearRecurrence}(\bigl\lbrack2, 1\bigr\rbrack, \bigl\lbrack0, 1\bigr\rbrack, 10)Out[0,1,2,5,12,29,70,169,408,985]\bigl\lbrack0, 1, 2, 5, 12, 29, 70, 169, 408, 985\bigr\rbrack

The companion Pell numbers, same recurrence as Pell with different seeds

live ↗
InLinearRecurrence([2,1],[2,2],10)\mathrm{LinearRecurrence}(\bigl\lbrack2, 1\bigr\rbrack, \bigl\lbrack2, 2\bigr\rbrack, 10)Out[2,2,6,14,34,82,198,478,1 154,2 786]\bigl\lbrack2, 2, 6, 14, 34, 82, 198, 478, 1\,154, 2\,786\bigr\rbrack

The Perrin sequence, seeds 3,0,23, 0, 2

live ↗
InLinearRecurrence([0,1,1],[3,0,2],10)\mathrm{LinearRecurrence}(\bigl\lbrack0, 1, 1\bigr\rbrack, \bigl\lbrack3, 0, 2\bigr\rbrack, 10)Out[3,0,2,3,2,5,5,7,10,12]\bigl\lbrack3, 0, 2, 3, 2, 5, 5, 7, 10, 12\bigr\rbrack
Properties #

The seventh Fibonacci number is 1313

live ↗
InLinearRecurrence([1,1],[1,1],[7])\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack7\bigr\rbrack)Out[13]\bigl\lbrack13\bigr\rbrack
Possible issues #

More seeds than the order are allowed; later terms use the last two

live ↗
InLinearRecurrence([1,1],[1,1,a,b],10)\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack1, 1, a, b\bigr\rbrack, 10)Out[1,1,a,b,a+b,a+2b,2a+3b,3a+5b,5a+8b,8a+13b]\bigl\lbrack1, 1, a, b, a+b, a+2b, 2a+3b, 3a+5b, 5a+8b, 8a+13b\bigr\rbrack

A range of indices with symbolic seeds gives Fibonacci coefficients, Fna+Fn+1bF_n a + F_{n+1} b

live ↗
InLinearRecurrence([1,1],[a,b],[5,10])\mathrm{LinearRecurrence}(\bigl\lbrack1, 1\bigr\rbrack, \bigl\lbrack a, b\bigr\rbrack, \bigl\lbrack5, 10\bigr\rbrack)Out[2a+3b,3a+5b,5a+8b,8a+13b,13a+21b,21a+34b]\bigl\lbrack2a+3b, 3a+5b, 5a+8b, 8a+13b, 13a+21b, 21a+34b\bigr\rbrack
About
Examples20
Checked againstWolfram Language 20 agree
CrosswalkWolfram Language

See also: RecurrenceTable, Fibonacci, LucasL