You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- $a_{n,0,0} = a_{0,n,0} = a_{0,0,n} = 0$ for any $n > 1$
27
+
- $a_{n,m,k}$ is symmetric in $n$, $m$, $k$
28
28
29
-
A subtlety: $a(0,1,1)$ is not defined by the recurrence alone, since it would require values like $a(-1,0,0)$. We take $a(m,n,k) = 0$ whenever any argument is negative.
29
+
A subtlety: $a_{0,1,1}$ is not defined by the recurrence alone, since it would require values like $a_{-1,0,0}$. We take $a_{n,m,k} = 0$ whenever any argument is negative.
Using the initial values above, we can write the recurrence including boundary terms as follow:
38
38
39
-
$a(m, n, k) = 2a(m-1, n-1,k-1) + a(m-1, n-1, k)$
40
-
$ + a(m-1, n, k-1) + a(m, n-1,k-1)$
41
-
$ + [m=n=k=0] + [m=n=0 \wedge k=1]$
42
-
$ + [m=k=0 \wedge n=1] + [n=k=0 \wedge m=1]$
39
+
$a_{n,m,k} = 2a_{n-1,m-1,k-1} + a_{n-1,m-1,k}$
40
+
$ + a_{n,m-1,k-1} + a_{n-1,m,k-1}$
41
+
$ + [n=m=k=0] + [n=m=0 \wedge k=1]$
42
+
$ + [n=k=0 \wedge m=1] + [m=k=0 \wedge n=1]$
43
43
44
44
<!-- I believe there are still some initial conditions missing, since for example $a(0,1,1)$ is not well defined. Computing its value will result in negative arguments:
We did not exploit the symmetry $a(m,n,k) = a(\sigma(m,n,k))$ for permutations $\sigma$; it could speed up computation but does not obviously simplify the closed expression.
218
+
We did not exploit the symmetry $a_{n,m,k} = a_{\sigma(n,m,k)}$ for permutations $\sigma$; it could speed up computation but does not obviously simplify the closed expression.
<p>This post extends the generating-function technique from the <ahref="/post/two-var-recursive-func/">two-variable recursion</a> to a three-variable case. I originally wrote this as an answer to a <ahref="https://math.stackexchange.com/questions/1093271/how-to-solve-this-multivariable-recursion/2730331#2730331" target="_blank" rel="noopener">Math Stack Exchange question</a>; here it is adapted for the blog with clearer exposition and code.</p>
989
989
<h2id="the-problem">The Problem</h2>
990
990
<p>We want to solve the recurrence</p>
991
-
<p>$a(m,n,k) = 2a(m-1,n-1,k-1) + a(m-1,n-1,k)$
992
-
$ + a(m-1,n,k-1) + a(m,n-1,k-1)$</p>
991
+
<p>$a_{n,m,k} = 2a_{n-1,m-1,k-1} + a_{n-1,m-1,k}$
992
+
$ + a_{n,m-1,k-1} + a_{n-1,m,k-1}$</p>
993
993
<p>where $m$, $n$, $k$ are nonnegative integers, with boundary conditions:</p>
<li>$a_{n,0,0} = a_{0,n,0} = a_{0,0,n} = 0$ for any $n > 1$</li>
997
+
<li>$a_{n,m,k}$ is symmetric in $n$, $m$, $k$</li>
998
998
</ul>
999
-
<p>A subtlety: $a(0,1,1)$ is not defined by the recurrence alone, since it would require values like $a(-1,0,0)$. We take $a(m,n,k) = 0$ whenever any argument is negative.</p>
999
+
<p>A subtlety: $a_{0,1,1}$ is not defined by the recurrence alone, since it would require values like $a_{-1,0,0}$. We take $a_{n,m,k} = 0$ whenever any argument is negative.</p>
0 commit comments