This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Enumerating (multiplex) juggling sequences

Steve Butler sbutler@math.ucsd.edu, Department of Mathematics, University of California, San Diego    Ron Graham rgraham@cs.ucsd.edu, Department of Computer Science & Engineering, University of California, San Diego
Abstract

We consider the problem of enumerating periodic σ\sigma-juggling sequences of length nn for multiplex juggling, where σ\sigma is the initial state (or landing schedule) of the balls. We first show that this problem is equivalent to choosing 11’s in a specified matrix to guarantee certain column and row sums, and then using this matrix, derive a recursion. This work is a generalization of earlier work of Fan Chung and Ron Graham.

1 Introduction

Starting about 20 years ago, there has been increasing activity by discrete mathematicians and (mathematically inclined) jugglers in developing and exploring ways of representing various possible juggling patterns numerically (e.g., see [1, 2, 3, 4, 5, 6, 10, 12, 14]). Perhaps the most prominent of these is the idea of a juggling sequence (or “siteswap”, as it is often referred to in the juggling literature). The idea behind this approach is the following. For a given sequence T=(t1,t2,,tn)T=(t_{1},t_{2},\ldots,t_{n}) of nonnegative integers, we associate a (possible) periodic juggling pattern in which at time ii, a ball is thrown so that it comes down at time i+tii+t_{i}. This is to be true for each i,1ini,1\leq i\leq n. Because we assume this is to be repeated indefinitely with period nn, then in general, for each ii and each k0k\geq 0, a ball thrown at time i+kni+kn will come down at time i+ti+kni+t_{i}+kn. The usual assumption made for a sequence TT to be a valid juggling sequence is that at no time do two balls come down at the same time. This assumption results in many consequences, e.g., all of the quantities i+ti(modn)i+t_{i}\pmod{n} must be distinct, the number of balls in the pattern is the average (1/n)k=1ntk({1}/{n})\sum_{k=1}^{n}t_{k}, and the number of juggling sequences with period nn having fewer than bb balls is bnb^{n} (see [1]).

An important object for understanding the relationships and transitions between various juggling sequences is the concept of a state diagram, developed independently (and almost simultaneously) by Jack Boyce and Allen Knutson [9]. This is a directed graph where each vertex is called a state or landing schedule, a 0-11 vector indicating when the balls that are currently in the air will land, and edges represent possible transitions between states. The vertex and edge sets for the state diagram can be defined as follows:

V\displaystyle V =\displaystyle= {a1,a2,a3,:ai{0,1},iai=b},\displaystyle\{\langle a_{1},a_{2},a_{3},\ldots\rangle:a_{i}\in\{0,1\},{\textstyle\sum_{i}}a_{i}=b\},
E\displaystyle E =\displaystyle= {a1,a2,a3,b1,b2,b3,:aibi1 for i=2,3,}.\displaystyle\{\langle a_{1},a_{2},a_{3},\ldots\rangle{\to}\langle b_{1},b_{2},b_{3},\ldots\rangle:a_{i}\leq b_{i-1}\mbox{ for }i=2,3,\ldots\}.

More specifically, each juggling sequence TT is associated with a state σ=σT=σ1,σ2,,σh,\sigma=\sigma_{T}=\langle\sigma_{1},\sigma_{2},\ldots,\sigma_{h},\ldots\rangle which can be found by imagining that the sequence has been executed infinitely often in the past, with a final throw tnt_{n} being made at time 0. Then σi\sigma_{i} is 11 if and only if there is some ball still in the air at time 0 that will land at time ii. In this case we say that TT is a σ\sigma-juggling sequence.

If we are now going to throw one more ball at time 11, transitioning to a (possibly) new juggling state σ\sigma^{\prime}, then we are restricted to throwing it so that it lands at some time jj which has σj=0\sigma_{j}=0. The new state σ=σ1,σ2,\sigma^{\prime}=\langle\sigma_{1}^{\prime},\sigma_{2}^{\prime},\ldots\rangle then has σk=σk+1\sigma_{k}^{\prime}=\sigma_{k+1} for k1,kj1k\geq 1,k\neq j-1 and σj1=1\sigma_{j-1}^{\prime}=1. The preceding remarks assume that σ1=1\sigma_{1}=1. If σ1=0\sigma_{1}=0, so that there is no ball available to be thrown at time 11, then a “no-throw” occurs, and the new state vector σ\sigma^{\prime} satisfies σk=σk+1\sigma_{k}^{\prime}=\sigma_{k+1} for all k1k\geq 1. These give the two basic transitions that can occur in the state diagram. With this interpretation, it is easy to see that a juggling sequence of period nn exactly corresponds to a walk of length nn in the state diagram.

In [5], the problem of enumerating σ\sigma-juggling sequences of period nn was studied, which by the above comments is equivalent to counting the number of directed closed walks of length nn starting at σ\sigma in the state diagram. In the same paper, the related problem of counting the number of “primitive” closed walks of length nn was also solved. These are walks in which the starting state σ\sigma is visited only at the beginning and the end of the walk.

A particular unsolved problem mentioned in [5] was that of extending the analysis to the much more complex situation of multiplex juggling sequences. In a multiplex juggling sequence, for a given parameter mm, at each time instance up to mm balls can be thrown and caught at the same time, where the balls thrown at each time can have different landing times. Thus, ordinary juggling sequences correspond to the case m=1m=1.

As before, we can describe a (multiplex) juggling sequence as a walk in a state diagram. Here a state α=a1,a2,a3,\alpha=\langle a_{1},a_{2},a_{3},\ldots\rangle can again be described as a landing schedule where aia_{i} are the number of balls currently scheduled to land at time ii. We also have a state diagram which has as its vertices all possible states and for edges all ways to go from one state to another state (see [10]). The state diagram is thus a directed graph with two important parameters: bb, the number of balls that are being juggled, and mm, the maximum number of balls that can be caught/thrown at any one time. The vertex set and edge set are defined as follows:

V\displaystyle V =\displaystyle= {a1,a2,a3,:ai{0,1,,m},iai=b},\displaystyle\{\langle a_{1},a_{2},a_{3},\ldots\rangle:a_{i}\in\{0,1,\ldots,m\},{\textstyle\sum_{i}}a_{i}=b\},
E\displaystyle E =\displaystyle= {a1,a2,a3,b1,b2,b3,:aibi1 for i=2,3,}.\displaystyle\{\langle a_{1},a_{2},a_{3},\ldots\rangle{\to}\langle b_{1},b_{2},b_{3},\ldots\rangle:a_{i}\leq b_{i-1}\mbox{ for }i=2,3,\ldots\}.

Since each state will only have finitely many nonzero terms, we will truncate the terminal zero portions of the state vectors when convenient. The height of a state α\alpha will be the largest index ii for which ai>0a_{i}>0, and will be denoted by h(α)h(\alpha). A small portion of the state diagram when b=3b=3 and m=2m=2 is shown in Figure 1.

Refer to caption
Figure 1: A portion of the state diagram when b=3b=3 and m=2m=2.

1.1 A bucket approach

To better follow the analysis (and make practical demonstrations easier) we can reinterpret multiplex juggling by a series of buckets and balls. The buckets will represent future landing times for i=1,2,3,i=1,2,3,\ldots and the balls are distributed among these buckets. A state vector is then a listing of how many balls are currently in each bucket, and mm is now the maximum number of balls that can fit inside of a bucket. Transitions from state to state happen by having the buckets shift down by one and redistributing any balls that were in the bottom bucket. This process is shown in Figure 2.

Refer to caption
Figure 2: A bucket approach to multiplex juggling.

1.2 Multiplex siteswap notation

To describe a walk in the state diagram it suffices to know what state we start in and how we transition from state to state. In transitioning from state to state the important piece of information is what happened to the ball(s) in the bottom bucket. This can be described by a multi-set which lists the new location(s) of the ball(s).

We can thus describe our walk by a series of multi-sets (T1,T2,,Tn)(T_{1},T_{2},\ldots,T_{n}) such that each set has mm elements (when we have fewer than mm balls to redistribute we will indicate no-throws by 0). These sets are analogous to siteswap notation for juggling. In particular, it can be shown that

i=1n{i+Ti(modn)}={1,,1mtimes,2,,2mtimes,,n,,nmtimes},and1ni=1nxTix=b.\bigcup_{i=1}^{n}\{i+T_{i}~({\rm~mod~}n)\}=\big{\{}\underbrace{1,\ldots,1}_{m~{\rm times}},\underbrace{2,\ldots,2}_{m~{\rm times}},\ldots,\underbrace{n,\ldots,n}_{m~{\rm times}}\big{\}},~~{\rm and}~~{1\over n}\sum_{i=1}^{n}\sum_{x\in T_{i}}x=b.

In the next section we will combine the idea of this multiplex siteswap notation with the buckets.

2 A matrix interpretation

One way to use the buckets to find a sequence of length nn that starts in state α=a1,a2,\alpha=\langle a_{1},a_{2},\ldots\rangle and ends in state β=b1,b2,\beta=\langle b_{1},b_{2},\ldots\rangle (if one exists) is to start with the balls arranged in the buckets as dictated by α\alpha. We then modify the capacities of the buckets so that they are (starting at the first bucket)

m,m,,mntimes,b1,b2,.\underbrace{m,m,\ldots,m}_{n~{\rm times}},b_{1},b_{2},\ldots.

Finally, take nn steps (such as shown in Figure 2) being careful not to exceed the capacity of any bucket and at the end, we will be forced into state β\beta. On the other hand, every possible way to start in α\alpha and end in β\beta in nn steps can be done in this modified buckets approach.

Finding all of the walks of length nn in the state diagram between α\alpha and β\beta is thus equivalent to finding all of the walks that can be run using this modified bucket procedure. This is what we will actually enumerate. We start with the following matrix, where h=max{h(α)n,h(β)}h=\max\{h(\alpha)-n,h(\beta)\} (this is a 0-11 matrix, where any unspecified entries are 0’s).


[Uncaptioned image]

Each block of mm columns will correspond to one transition in the state diagram/buckets procedure. In a block, each column corresponds to a single element in the multi-set describing our transition. The first 11 in a column corresponds to a no-throw or a throw of height 0, the second 11 corresponds to a throw of height 11, the third 11 to a throw of height 22 and so on. So we choose exactly one 11 in each column and by reading the blocks of columns we will get the transitions TiT_{i} between states.

Each row will correspond to a bucket, and to incorporate the modified buckets approach we specify a row sum for each row. The row sum will be the “unused capacity” of the buckets. Beginning at the first row and going down the row sums will be

ma1,ma2,,man,b1an+1,,bhan+h.m-a_{1},m-a_{2},\ldots,m-a_{n},b_{1}-a_{n+1},\ldots,b_{h}-a_{n+h}.

As an example, suppose that we wanted a walk of length 44 that starts and ends in the state 1,2\langle 1,2\rangle in the state diagram shown in Figure 1. Then this corresponds to choosing one 11 out of each column in the matrix below on the left so that the row sums are as dictated on the side of the matrix.

1( 11) 01112111112111111111111111211111111( 11) 0111211111211111111111111121111111\bordermatrix{&\cr\it 1&1&1\cr\it 0&1&1&1&1\cr\it 2&1&1&1&1&1&1\cr\it 2&1&1&1&1&1&1&1&1\cr\it 1&1&1&1&1&1&1&1&1\cr\it 2&1&1&1&1&1&1&1&1\cr}\qquad\qquad\bordermatrix{&\cr\it 1&\!\!\boxed{1}\!\!&1\cr\it 0&1&1&1&1\cr\it 2&1&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!&1&1&1\cr\it 2&1&1&1&1&1&1&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!\cr\it 1&1&1&1&\!\!\boxed{1}\!\!&1&1&1&1\cr\it 2&1&1&1&1&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!&1&1\cr}

One possible solution is shown in the matrix on the right which corresponds to the walk

1,22,12,0,10,1,21,2.{0,2}{1,3}{3,3}{0,0}\begin{array}[]{c@{}c@{}c@{}c@{}c@{}c@{}c@{}c@{}c}\langle 1,2\rangle&{\to}&\langle 2,1\rangle&{\to}&\langle 2,0,1\rangle&{\to}&\langle 0,1,2\rangle&{\to}&\langle 1,2\rangle.\\ &{}^{\{0,2\}}&&{}^{\{1,3\}}&&{}^{\{3,3\}}&&{}^{\{0,0\}}&\end{array}

Here we have indicated the sets TiT_{i} under each transition.

To see why this works we need to show that each multi-set given by a block of columns is a valid transition in our modified buckets procedure. Starting with the first block, the first row sum should be mα1m-\alpha_{1}, this indicates that we currently have an excess capacity of mα1m-\alpha_{1} in the bottom bucket and so we need to make mα1m-\alpha_{1} no-throws, i.e., throws of height 0, and by row sum restrictions we are forced to select exactly mα1m-\alpha_{1} of the 11’s on the first row. This accounts for mα1m-\alpha_{1} of the columns in the first block. The remaining α1\alpha_{1} columns must have 11’s (i.e., balls) distributed among the rows (i.e., buckets) which still have extra capacity. Thus the first block must give a valid transition in the procedure. After selecting the 11’s for the first block we then update the row sums according to our choices, remove the first block and then repeat the same process n1n-1 times.

Conversely, it is easy to check that given the transitions T1,T2,,TnT_{1},T_{2},\ldots,T_{n} joining α\alpha to β\beta, we can find a selection of 11’s in the matrix 𝒜\cal A which corresponds to this walk and satisfies the row/column sum restrictions.

Finally, since multi-sets are unordered, our choice of 11’s in columns is unique up to permutation of the columns in a block, so we may assume that the heights of the 11’s in a block are weakly decreasing (as shown in the example above). We now have the following general result.

Lemma 1.

Suppose we are given a state diagram with capacity mm and states α=a1,a2,a3,\alpha=\langle a_{1},a_{2},a_{3},\ldots\rangle and β=b1,b2,b3,\beta=\langle b_{1},b_{2},b_{3},\ldots\rangle, and h=max{h(α)n,h(β)}h=\max\{h(\alpha)-n,h(\beta)\}. Then the number of walks of length nn starting at α\alpha and ending at β\beta is equal to the number of ways of choosing mnmn ones out of the matrix 𝒜\cal A given above such that:

  • Each column sum is 11.

  • The row sums are (in order from first to last)

    ma1,ma2,,man,b1an+1,,bhan+h.m-a_{1},m-a_{2},\ldots,m-a_{n},b_{1}-a_{n+1},\ldots,b_{h}-a_{n+h}.
  • In each block of mm columns the height of selected 11’s is weakly decreasing.

Remark 1.

If for some ii, bi<an+ib_{i}<a_{n+i}, then one of the row sums will be negative which is impossible and thus we have no solutions for the selection of 11’s. At the same time it is easy to see that there can be no walks in the state diagram of length nn joining α\alpha and β\beta by comparing their landing schedules.

Remark 2.

When m=1m=1, if we ignore rows with row sum 0, then all the rows and column sums will be 11. In this case we can count the number of walks joining two states by calculating the permanent of a matrix. This is similar to the approach taken by Chung and Graham [5].

3 Filling the matrix

We now count the number of ways to fill the matrix 𝒜\cal A according to the restrictions in Lemma 1. We will demonstrate the procedure by working through an example, namely counting the number of periodic multiplex juggling sequences of length nn that start and end in state 3\langle 3\rangle when m=3m=3.

The first thing to observe is that when the height of α\alpha is small compared to nn then the row sums have the following form:

initialnoise|stringofm’s|terminalnoise{{\rm initial}\atop{\rm noise}}~~\bigg{|}~~{{\rm string}\atop{\rm of~}m{\rm\mbox{'s}}}~~\bigg{|}~~{{\rm terminal}\atop{\rm noise}}

We can form a recurrence based on this where we fill in the last block and then reduce it to the case when there is one fewer mm in the middle.

Without loss of generality we can assume that our noise at the end is a partition of the bb balls so that no part is larger than mm, i.e., we can ignore any rows with row sum 0 and by a simple correspondence we can assume that the row sums are weakly decreasing.

For each partition γ\gamma of bb with each part at most mm, let xγ(k)x_{\gamma}(k) be the number of ways to fill the matrix 𝒜{\cal A} where the row sums are given by

ma1,,mah(α),m,,mktimes,γ.m-a_{1},\ldots,m-a_{h(\alpha)},\underbrace{m,\ldots,m}_{k~{\rm times}},\gamma.

In our example, there are 33 such partitions, 3=2+1=1+1+13=2+1=1+1+1, and so we will have the three functions x3(k)x_{3}(k), x2,1(k)x_{2,1}(k) and x1,1,1(k)x_{1,1,1}(k).

We now form a system of linear recurrences, xγ(k)=δaγ,δxδ(k1)x_{\gamma}(k)=\sum_{\delta}a_{\gamma,\delta}x_{\delta}(k-1), by examining the different ways to fill in the last block of columns. Note that the row sums corresponding to the last block are m,γm,\gamma. The mm comes from the no-throws and after we have filled in the last block it will become incorporated into the new terminal distribution. Thus at each stage we will decrease the number of middle mm’s by 11.

For example, if we are considering x2,1x_{2,1} then we have the following 66 different ways to fill in the last block satisfying the conditions of Lemma 1:

3111211111112,13111211111111,1,13111211111112,13111211111112,13111211111112,13111211111113{\begin{array}[]{c@{\,\,}|@{\,\,}c@{\,\,\,}c@{\,\,\,}c}\it 3&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!\\ \it 2&1&1&1\\ \it 1&1&1&1\end{array}\atop{\to\it 2,1}}\quad{\begin{array}[]{c@{\,\,}|@{\,\,}c@{\,\,\,}c@{\,\,\,}c}\it 3&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!&1\\ \it 2&1&1&\!\!\boxed{1}\!\!\\ \it 1&1&1&1\end{array}\atop{\to\it 1,1,1}}\quad{\begin{array}[]{c@{\,\,}|@{\,\,}c@{\,\,\,}c@{\,\,\,}c}\it 3&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!&1\\ \it 2&1&1&1\\ \it 1&1&1&\!\!\boxed{1}\!\!\end{array}\atop{\to\it 2,1}}\quad{\begin{array}[]{c@{\,\,}|@{\,\,}c@{\,\,\,}c@{\,\,\,}c}\it 3&\!\!\boxed{1}\!\!&1&1\\ \it 2&1&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!\\ \it 1&1&1&1\end{array}\atop{\to\it 2,1}}\quad{\begin{array}[]{c@{\,\,}|@{\,\,}c@{\,\,\,}c@{\,\,\,}c}\it 3&\!\!\boxed{1}\!\!&1&1\\ \it 2&1&\!\!\boxed{1}\!\!&1\\ \it 1&1&1&\!\!\boxed{1}\!\!\end{array}\atop{\to\it 2,1}}\quad{\begin{array}[]{c@{\,\,}|@{\,\,}c@{\,\,\,}c@{\,\,\,}c}\it 3&1&1&1\\ \it 2&\!\!\boxed{1}\!\!&\!\!\boxed{1}\!\!&1\\ \it 1&1&1&\!\!\boxed{1}\!\!\end{array}\atop{\to\it 3}}

By looking at the new terminal distributions it follows that

x2,1(k)=x3(k1)+4x2,1(k1)+x1,1,1(k1).x_{2,1}(k)=x_{3}(k-1)+4x_{2,1}(k-1)+x_{1,1,1}(k-1).

Similar analysis shows that

x3(k)\displaystyle x_{3}(k) =\displaystyle= 2x3(k1)+2x2,1(k1)and\displaystyle 2x_{3}(k-1)+2x_{2,1}(k-1)\qquad\mbox{and}
x1,1,1(k)\displaystyle x_{1,1,1}(k) =\displaystyle= x3(k1)+3x2,1(k1)+4x1,1,1(k1).\displaystyle x_{3}(k-1)+3x_{2,1}(k-1)+4x_{1,1,1}(k-1).

We can rewrite this in matrix form as

(x3(k)x2,1(k)x1,1,1(k))=(220141134)(x3(k1)x2,1(k1)x1,1,1(k1)).\left(\begin{array}[]{c}x_{3}(k)\\ x_{2,1}(k)\\ x_{1,1,1}(k)\\ \end{array}\right)=\left(\begin{array}[]{ccc}2&2&0\\ 1&4&1\\ 1&3&4\end{array}\right)\left(\begin{array}[]{c}x_{3}(k-1)\\ x_{2,1}(k-1)\\ x_{1,1,1}(k-1)\\ \end{array}\right). (1)

In general, we will have that (xγ(k))=A(xγ(k1))\big{(}x_{\gamma}(k)\big{)}=A\big{(}x_{\gamma}(k-1)\big{)} where Aγ,δ=aγ,δA_{\gamma,\delta}=a_{\gamma,\delta} as given above. Note that the matrix AA will be independent of our choice of α\alpha and β\beta, and depends only on bb and mm. Varying α\alpha will change the initial conditions and varying β\beta will change which of the xγx_{\gamma} we are interested in for our recurrence.

For our problem, we are interested in x3x_{3} as our terminal state is 3\langle 3\rangle (i.e., corresponding to the partition 33). We want to transform our first-order system of linear recurrences into a single recurrence for x3x_{3}. Manipulating the recurrences in (1) it can be shown that

x3(k+3)=10x3(k+2)27x3(k+1)+20x3(k).x_{3}(k+3)=10x_{3}(k+2)-27x_{3}(k+1)+20x_{3}(k). (2)

This gives a recurrence for the number of periodic juggling sequence of length kk for kk sufficiently large (i.e., we have shifted our sequences xγ(k)x_{\gamma}(k) past the initial noise; when counting periodic juggling sequences we need to remember to account for this shift).

Remark 3.

The characteristic polynomial of the matrix in (1) is x310x2+27x20x^{3}-10x^{2}+27x-20, the same coefficients as in (2). This is a consequence of the Cayley-Hamilton Theorem. Namely if the characteristic polynomial of the matrix AA is xr+q1xr1++qrx^{r}+q_{1}x^{r-1}+\cdots+q_{r} then

(0)\displaystyle\big{(}0\big{)} =\displaystyle= (Ar+q1Ar1++qrI)(xγ(k))\displaystyle\big{(}A^{r}+q_{1}A^{r-1}+\cdots+q_{r}I\big{)}\big{(}x_{\gamma}(k)\big{)}
=\displaystyle= Ar(xγ(k))+q1Ar1(xγ(k))++qr(xγ(k))\displaystyle A^{r}\big{(}x_{\gamma}(k)\big{)}+q_{1}A^{r-1}\big{(}x_{\gamma}(k)\big{)}+\cdots+q_{r}\big{(}x_{\gamma}(k)\big{)}
=\displaystyle= (xγ(k+r))+q1(xγ(k+(r1)))++qr(xγ(k))\displaystyle\big{(}x_{\gamma}(k+r)\big{)}+q_{1}\big{(}x_{\gamma}(k+(r-1))\big{)}+\cdots+q_{r}\big{(}x_{\gamma}(k)\big{)}
=\displaystyle= (xγ(k+r)+q1xγ(k+(r1))++qrxγ(k)).\displaystyle\big{(}x_{\gamma}(k+r)+q_{1}x_{\gamma}(k+(r-1))+\cdots+q_{r}x_{\gamma}(k)\big{)}.

The recursion that the characteristic polynomial of AA gives is universal for a fixed bb and mm in the following sense. Let a(n)a(n) be the number of walks of length nn joining state α\alpha to state β\beta. Then for nn sufficiently large, a(n)a(n) satisfies the recursion given by the characteristic polynomial of AA (which is independent of α\alpha and β\beta).

It remains to calculate enough initial terms to begin the recursion. Using Lemma 1 this can be handled by brute force or some careful case analysis. In general, we will need to calculate the first h(α)+r1h(\alpha)+r-1 terms where rr is the number of partitions of bb with each part at most mm. The first h(α)1h(\alpha)-1 terms are to handle the initial noise caused by α\alpha and the next rr terms are to help start the recursion. A calculation shows that the sequence counting the number of periodic juggling sequences that start and end at 3\langle 3\rangle starts 1,4,201,4,20. Now applying the recursion we get the sequence

1,4,20,112,660,3976,24180,147648,903140,.1,4,20,112,660,3976,24180,147648,903140,\ldots.

With the recursion and the initial values it is then a simple matter to derive a generating function for the number of juggling sequences of period nn. The generating function for this series and several others are given in Table 1.

State mm Initial terms Generating Function
2\langle 2\rangle 22 1,3,10,35,125,450,1625,5875,1,3,10,35,125,450,1625,5875,\ldots x2x215x+5x2{\displaystyle x-2x^{2}\over\displaystyle 1-5x+5x^{2}}
1,1\langle 1,1\rangle 22 1,3,11,40,145,525,1900,6875,1,3,11,40,145,525,1900,6875,\ldots x2x2+x315x+5x2{\displaystyle x-2x^{2}+x^{3}\over\displaystyle 1-5x+5x^{2}}
2,1\langle 2,1\rangle 22 1,4,22,124,706,4036,23110,132412,1,4,22,124,706,4036,23110,132412,\ldots x4x2+3x318x+13x2{\displaystyle x-4x^{2}+3x^{3}\over\displaystyle 1-8x+13x^{2}}
1,1,1\langle 1,1,1\rangle 22 1,3,18,105,606,3483,19986,114609,1,3,18,105,606,3483,19986,114609,\ldots x5x2+7x318x+13x2{\displaystyle x-5x^{2}+7x^{3}\over\displaystyle 1-8x+13x^{2}}
2,2\langle 2,2\rangle 22 1,3,21,162,1305,10719,88830,739179,1,3,21,162,1305,10719,88830,739179,\ldots x11x2+33x327x4114x+54x257x3{\displaystyle x-11x^{2}+33x^{3}-27x^{4}\over\displaystyle 1-14x+54x^{2}-57x^{3}}
3\langle 3\rangle 33 1,4,20,112,660,3976,24180,147648,1,4,20,112,660,3976,24180,147648,\ldots x6x2+7x3110x+27x220x3{\displaystyle x-6x^{2}+7x^{3}\over\displaystyle 1-10x+27x^{2}-20x^{3}}
2,1\langle 2,1\rangle 33 1,5,30,182,1110,6786,41530,254278,1,5,30,182,1110,6786,41530,254278,\ldots x5x2+7x33x4110x+27x220x3{\displaystyle x-5x^{2}+7x^{3}-3x^{4}\over\displaystyle 1-10x+27x^{2}-20x^{3}}
Table 1: Number of periodic sequences of length nn for some starting states.
Remark 4.

Instead of calculating the first h(α)+r1h(\alpha)+r-1 terms we can instead calculate the first h(α)1h(\alpha)-1 terms and then compute the rr values for the xγ(0)x_{\gamma}(0). In at least one case this is easier, namely when the state is b\langle b\rangle. Then it is easy to check that xγ(0)=1x_{\gamma}(0)=1 for all partitions γ\gamma and quickly bootstrap our sequence.

3.1 Calculating recursion coefficients

In this section we show how to quickly compute the recursion coefficients aγ,δa_{\gamma,\delta}, which can then (by taking determinants) quickly give us the recursion relationship for the juggling sequences.

Lemma 2.

Let γ\gamma and δ\delta be partitions of bb with no part more than mm, and suppose that γ=(γ1,γ2,,γm)\gamma=(\gamma_{1},\gamma_{2},\ldots,\gamma_{m}) and δ=(δ1,δ2,,δm)\delta=(\delta_{1},\delta_{2},\ldots,\delta_{m}) where γi\gamma_{i} is the number of parts of the partition γ\gamma of size ii, similarly for δi\delta_{i}. Then

aγ,δ=i=1m((γi++γm)+1(δi+1++δm)δi).a_{\gamma,\delta}=\prod_{i=1}^{m}{(\gamma_{i}+\cdots+\gamma_{m})+1-(\delta_{i+1}+\cdots+\delta_{m})\choose\delta_{i}}. (3)
Proof.

To see (3) recall that when filling in the last set of columns of the matrix there is the partition γ\gamma and an additional row with row sum mm. We then select mm ones such that (1) the height of the ones are weakly decreasing and (2) no row sum is violated.

This process can be made equivalent to taking the partition γ\gamma and adding one part of size mm (to form a new partition γ=(γ1,,γm1,γm+1)\gamma^{\prime}=(\gamma_{1},\ldots,\gamma_{m-1},\gamma_{m}+1)) then reducing by a total of mm some part(s) of γ\gamma^{\prime}.

The coefficient aγ,δa_{\gamma,\delta} is then the total number of ways that reducing some part(s) of γ\gamma^{\prime} by a total of mm will result in the partition δ\delta. We can however work backwards, namely if we want a desired partition from our reduction we can “insert” the desired partition into γ\gamma^{\prime} (i.e., associate each part of δ\delta with some part of γ\gamma^{\prime} which is at least as large) and then finding the difference between the insertion and γ\gamma^{\prime} (which difference will sum to mm) gives the reduction to use.

Thus aγ,δa_{\gamma,\delta} is the total number of ways that we can insert δ\delta into γ\gamma^{\prime}. We now enumerate by inserting the partition δ\delta backwards, namely we insert the largest parts first and then work down. First note that here are δm\delta_{m} parts of size mm to insert and they can be positioned into any of the γm+1\gamma_{m}+1 parts of size mm, which can be done in

(γm+1δm){\gamma_{m}+1\choose\delta_{m}}

ways. There are then δm1\delta_{m-1} parts of size m1m-1 to insert and they can be positioned in any of the γm1+γm+1δm\gamma_{m-1}+\gamma_{m}+1-\delta_{m} parts of size at least m1m-1 that have not yet been used, which can be done in

(γm1+γm+1δmδm1){\gamma_{m-1}+\gamma_{m}+1-\delta_{m}\choose\delta_{m-1}}

ways. This process then continues, so that in general there will be δi\delta_{i} parts of size ii to insert and they can be positioned in any of the (γi++γm)+1(δi+1++δm)(\gamma_{i}+\cdots+\gamma_{m})+1-(\delta_{i+1}+\cdots+\delta_{m}) parts of size at least ii that have not yet been used, which can be done in

((γi++γm)+1(δi+1+δm)δi){(\gamma_{i}+\cdots+\gamma_{m})+1-(\delta_{i+1}+\cdots\delta_{m})\choose\delta_{i}}

ways. Putting it all together then gives the result. ∎

As a check for, suppose m=2m=2, γ=(a,b)\gamma=(a,b) and δ=(a2c,b+c)\delta=(a-2c,b+c), then (3) gives

aγ,δ=((a+b)+1(b+c)a2c)(b+1b+c)=(a+1ca2c)(b+1b+c).a_{\gamma,\delta}={(a+b)+1-(b+c)\choose a-2c}{b+1\choose b+c}={a+1-c\choose a-2c}{b+1\choose b+c}.

To get a nonzero coefficient we must have b+1b+cb+1\geq b+c so that c1c\leq 1 and a+1ca2ca+1-c\geq a-2c so that c1c\geq-1. Putting these in and simplifying we are left with

aγ,δ={12a(a1)if c=1;(a+1)(b+1)if c=0;12(b+1)bif c=1;0otherwise.a_{\gamma,\delta}=\left\{\begin{array}[]{c@{\qquad}l}\vskip 3.0pt{1\over 2}a(a-1)&\mbox{if }c=1;\\ \vskip 3.0pt(a+1)(b+1)&\mbox{if }c=0;\\ \vskip 3.0pt{1\over 2}(b+1)b&\mbox{if }c=-1;\\ \vskip 3.0pt0&\mbox{otherwise.}\end{array}\right.

This can easily be verified by hand.

4 Remarks

4.1 Primitive juggling sequences

We have demonstrated a way to count the number of periodic juggling sequences of length nn which start and end in a given state σ\sigma. A related problem is counting the number of primitive periodic juggling sequences. These are special periodic juggling sequences with the extra condition that the walk does not return to σ\sigma until the nnth step. This can be done by the following observation of Chung and Graham [5] (see also [7, 8]): If a(n)a(n) is the number of periodic juggling sequences of length nn that start and end at σ\sigma and F(x)=n1a(n)xnF(x)=\sum_{n\geq 1}a(n)x^{n}, then b(n)b(n) counts the number of primitive periodic juggling sequences of length nn that start and end at σ\sigma where

n1b(n)xn=F(x)1+F(x).\sum_{n\geq 1}b(n)x^{n}={F(x)\over 1+F(x)}.

Applying this to the data in Table 1 we get the information about primitive juggling sequences given in Table 2. Only one of the sequences shown in Tables 1 or 2 was previously listed in [11].

State mm Initial terms Generating Function
2\langle 2\rangle 22 1,2,5,14,41,122,365,1094,1,2,5,14,41,122,365,1094,\ldots x2x214x+3x2{\displaystyle x-2x^{2}\over\displaystyle 1-4x+3x^{2}}
1,1\langle 1,1\rangle 22 1,2,6,17,48,135,379,1063,1,2,6,17,48,135,379,1063,\ldots x2x2+x314x+3x2+x3{\displaystyle x-2x^{2}+x^{3}\over\displaystyle 1-4x+3x^{2}+x^{3}}
2,1\langle 2,1\rangle 22 1,3,15,75,381,1947,9975,1,3,15,75,381,1947,9975,\ldots x4x2+3x317x+9x2+3x3{\displaystyle x-4x^{2}+3x^{3}\over\displaystyle 1-7x+9x^{2}+3x^{3}}
1,1,1\langle 1,1,1\rangle 22 1,2,13,68,358,1871,9757,1,2,13,68,358,1871,9757,\ldots x5x2+7x317x+8x2+7x3{\displaystyle x-5x^{2}+7x^{3}\over\displaystyle 1-7x+8x^{2}+7x^{3}}
2,2\langle 2,2\rangle 22 1,2,16,119,934,7463,60145,1,2,16,119,934,7463,60145,\ldots x11x2+33x327x4113x+43x224x327x4{\displaystyle x-11x^{2}+33x^{3}-27x^{4}\over\displaystyle 1-13x+43x^{2}-24x^{3}-27x^{4}}
3\langle 3\rangle 33 1,3,13,67,369,2083,11869,1,3,13,67,369,2083,11869,\ldots x6x2+7x319x+21x213x3{\displaystyle x-6x^{2}+7x^{3}\over\displaystyle 1-9x+21x^{2}-13x^{3}}
2,1\langle 2,1\rangle 33 1,4,21,111,592,3171,17021,1,4,21,111,592,3171,17021,\ldots x5x2+7x33x419x+22x213x33x4{\displaystyle x-5x^{2}+7x^{3}-3x^{4}\over\displaystyle 1-9x+22x^{2}-13x^{3}-3x^{4}}
Table 2: Number of primitive sequences of length nn for some starting states.

A related open problem is to find the number of prime juggling sequences which start and end in a given state σ\sigma. A prime juggling sequence corresponds to a simple cycle in the state diagram, i.e., it never visits any vertex more than once. Note that for a primitive juggling sequence we are allowed to visit vertices other than σ\sigma as often as we want.

4.2 Further directions

One implicit assumption that we have made is that the height the balls can be thrown to in the juggling sequence is essentially limited only by the period. This might be unrealistic when trying to implement the procedure for an actual juggler. In this case we would like to add an additional parameter which is the maximum height a ball can be thrown. While it is not difficult to adopt the matrix 𝒜\cal A to handle this additional constraint, our recursion method will no longer work. For this setting, the simplest method might be to find the adjacency matrix of the (now finite) state diagram and take powers to calculate the number of walks.

Another implicit assumption that we have made is that the balls are identical, it is easy to imagine that the balls are distinct and then we can ask given an initial placement of balls and a final placement of balls how many walks in the state diagram are there. This problem is beyond the scope of the methods given here. However, Stadler [13] has had some success in this direction (using different methods than the ones presented here), he was able to derive an expression involving Kostka numbers enumerating the number of such sequences, as well as several other related sequences.

It would be interesting to know for each mm, nn and bb, which states σ\sigma have the largest number of (primitive) σ\sigma-juggling sequences of length nn. When m=1m=1, then it would seem that the so-called ground state 1,1,,1\langle 1,1,\ldots,1\rangle does. However, for larger values of mm, it is not so clear what to guess.

As can be seen there are still many interesting open problems concerning the enumeration of multiplex juggling sequences.

References

  • [1] J. Buhler, D. Eisenbud, R. Graham and C. Wright, Juggling drops and descents, Amer. Math. Monthly 101 (1994), 507–519.
  • [2] J. Buhler and R. Graham, A note on the binomial drop polynomial of a poset, J. Combin. Theory Ser. A 66 (1994), 321–326.
  • [3] J. Buhler and R. Graham, Juggling patterns, passing, and posets, Mathematical Adventures for Students and Amateurs, MAA Publications, (2004), 99–116.
  • [4] F. Chung and R. Graham, Universal juggling cycles, preprint.
  • [5] F. Chung and R. Graham, Primitive Juggling Sequences, to appear in Amer. Math. Monthly.
  • [6] R. Ehrenborg and M. Readdy, Juggling and applications to qq-analogues, Discrete Math. 157 (1996), 107–125.
  • [7] I. M. Gessel and R. P. Stanley, Algebraic enumerations, Handbook of Combinatorics, Vol. II, Elsevier, Amsterdam, (1995), 1021–1061.
  • [8] R. L. Graham, D. E. Knuth and O. Patashnik, Concrete Math. A Foundation for Computer Science, Addison-Wesley, Reading, MA, (1994).
  • [9] Juggling Information Service at www.juggling.org.
  • [10] B. Polster, The Mathematics of Juggling, Springer, New York, 2000.
  • [11] N. Sloane, Online Encyclopedia of Integer Sequences, www.research.att.com/~njas/sequences/.
  • [12] J. D. Stadler, Juggling and vector compositions, Discrete Math. 258 (2002), 179–191.
  • [13] J. D. Stadler, personal communication.
  • [14] G. S. Warrington, Juggling probabilities, Amer. Math. Monthly 112, No. 2, (2005), 105–118.