I have functions $f_1, f_2, \dots, f_n \colon \mathbb{N} \rightarrow \mathbb{N}$ that admit a mutual recurrence relation in the following way $$f_k(n) = \sum_{i=1}^n c_{k,i} f_i(n-1) $$ where $c_{k,i}$ is some constant. I also know the base cases $f_k(0) = b_k$. Is there some general method for solving this type of problem?
1 Answers
For each $n\ge 0$, let $v_n$ be the column vector $(f_1(n),f_2(n),\dots,f_k(n))^\top$, and let $A$ be the matrix whose entry in the $i^{th}$ row and $j^{th}$ column is $c_{i,j}$. Then your recurrence can be written as $$ v_n=Av_{n-1} $$ which further implies $$ v_n=A^nv_0 $$ This can be solved by writing $A$ in Jordan canonical form, i.e. writing $$ A=P^{-1}JP, $$ where $J$ is a block-diagonal matrix where each block looks like $$ \begin{bmatrix} \lambda & 1 & 0 &\cdots &0 \\ 0& \lambda & 1 &\cdots &0 \\ \vdots&&\ddots &&\vdots\\ 0 & \cdots &0&\lambda & 1\\ 0&\cdots & 0 & 0 & \lambda \end{bmatrix} $$ for some $\lambda$. You can then get a formula for $A^n=P^{-1}J^nP$ by individually finding the power of each Jordan block. For how to raise a Jordan block to the $n^{th}$ power, see: Why does the $n$-th power of a Jordan matrix involve the binomial coefficient?.
- 84,902