
Siteswap, also called quantum juggling or the Cambridge notation, is a numeric
juggling notation used to describe or represent
juggling pattern
A juggling pattern or juggling trick is a specific manipulation of juggling prop, props during the practice of juggling. "Juggling, like musical technique, music, combines abstract patterns and mind-body coordination in a pleasing way." Descriptio ...
s. The term may also be used to describe siteswap patterns, possible patterns transcribed using siteswap. Throws are represented by
non-negative integers that specify the number of beats in the future when the object is thrown again: "The idea behind siteswap is to keep track of the order that balls are thrown and caught, and only that."
It is an invaluable tool in determining which combinations of throws yield valid juggling patterns for a given number of objects, and has led to previously unknown patterns (such as 441). However, it does not describe body movements such as behind-the-back and under-the-leg. Siteswap assumes that "throws happen on
beats that are equally spaced in time."
For example, a three-ball
cascade
Cascade, or Cascading may refer to:
Science and technology Science
* Air shower (physics), a cascade (particle shower) of subatomic particles and ionized nuclei
** Particle shower, a cascade of secondary particles produced as the result of a high ...
may be notated "3 ", while a
shower
A shower is a place in which a person bathes under a spray of typically warm or hot water. Indoors, there is a drain in the floor. Most showers are set up to have adjustable temperature, spray pressure and showerhead nozzle angle. The si ...
may be notated "5 1".
Origin
The notation was invented by Paul Klimek in
Santa Cruz, California
Santa Cruz (Spanish language, Spanish for "Holy Cross") is the largest city and the county seat of Santa Cruz County, California, Santa Cruz County, in Northern California. As of the 2020 United States census, 2020 census, the city population ...
in 1981, and later developed by undergraduates Bruce "Boppo" Tiemann,
Joel David Hamkins
Joel David Hamkins is an American mathematician and philosopher who is the John Cardinal O'Hara Professor of Logic at the University of Notre Dame. He has made contributions in mathematical logic, mathematical and philosophical logic, set theor ...
, and the late Bengt Magnusson at the California Institute of Technology in 1985, and by Mike Day, mathematician Colin D Wright, and mathematician Adam Chalcraft in
Cambridge, England
Cambridge ( ) is a city and non-metropolitan district in the county of Cambridgeshire, England. It is the county town of Cambridgeshire and is located on the River Cam, north of London. As of the 2021 United Kingdom census, the population of ...
in 1985 (whence comes an alternative name). Hamkins wrote computer code in 1985 to systematically generate siteswap patterns—the printouts were taken immediately to the Athenaeum lawn at Caltech to be tried out by himself, Tiemann, and Magnusson. The numbers derive from the number of balls used in the most common juggling patterns. Siteswap has been described as, "perhaps the most popular" name.
The name ''siteswap'' comes from the ability to generate patterns by "swapping" landing times of any 2 "sites" in a siteswap using the . For example, swapping the landing times of throws "5" and "1" in the siteswap "51" generates the siteswap "24".
Vanilla

Its simplest form, sometimes called vanilla siteswap, describes only patterns whose throws alternate hands and in which one ball is thrown from each hand at a time. If one were juggling while walking forward, something like the adjacent diagram would be seen from above, sometimes called a space-time diagram or ladder diagram. In this diagram, three balls are being juggled. Time progresses from the top to the bottom.
This pattern can be described by stating how many throws later each ball is caught. For instance, on the first throw in the diagram, the purple ball is thrown in the air (up out of the screen, towards the bottom left) by the right hand, next the blue ball, the green ball, the green ball again, and the blue ball again and then finally the purple ball is caught and thrown by the left hand on the fifth throw, this gives the first throw a count of ''5''. This produces a
sequence
In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is cal ...
of numbers which denote the height of each throw to be made. Since hands alternate,
odd-numbered throws send the ball to the other hand, while even-numbered throws send the ball to the same hand. A ''3'' represents a throw to the opposite hand at the height of the basic three-
cascade
Cascade, or Cascading may refer to:
Science and technology Science
* Air shower (physics), a cascade (particle shower) of subatomic particles and ionized nuclei
** Particle shower, a cascade of secondary particles produced as the result of a high ...
; a ''4'' represents a throw to the same hand at the height of the four-
fountain
A fountain, from the Latin "fons" ( genitive "fontis"), meaning source or spring, is a decorative reservoir used for discharging water. It is also a structure that jets water into the air for a decorative or dramatic effect.
Fountains were o ...
, and so on.
There are three special throws: a ''0'' is a pause with an empty hand, a ''1'' is a quick pass straight across to the other hand, and a ''2'' is a momentary hold of an object. Throws longer than ''9'' beats are given letters starting with ''a''. The number of beats a ball is in the air usually corresponds to how high it was thrown, so many people refer to the numbers as heights, but this is not technically correct; all that matters is the number of beats in the air, not how high it is thrown. For example, bouncing a ball takes longer than a throw in the air to the same height, and so can be a higher siteswap value while being a lower throw.
Each pattern repeats after a certain number of throws, called the ''
period'' of the pattern. The period is the number of digits in the shortest non-repeating representation of a pattern. For example, the pattern diagrammed on the right is 53145305520 which has 11 digits and therefore has a period of 11. If the period is an odd number, like this one, then each time the sequence is repeated, the sequence starts with the other hand, and the pattern is symmetrical because each hand is doing the same thing (although at different times). If the period is an even number then on every repeat of the pattern, each hand does the same thing it did last time and the pattern is asymmetrical.
The number of balls used for the pattern is the average of the throw numbers in the pattern.
For example, ''441'' is a three-object pattern because (4+4+1)/3 is 3, and ''86'' is a seven-object pattern. All patterns must therefore have a siteswap sequence that averages to an
integer
An integer is the number zero (0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number (−1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative in ...
. Not all such sequences describe patterns; for example ''543'' with integer average 4 but its three throws all land at the same time, colliding.
Some hold to a convention in that a siteswap is written with its highest numbers first. One drawback to doing so is evident in the pattern ''51414'', a 3-ball pattern which cannot be inserted into the middle of a string of 3-throws, unlike its rotation ''45141'' which can.
Synchronous
Siteswap notation can be extended to denote patterns containing synchronous throws from both hands. The numbers for the two throws are combined in
parentheses
A bracket is either of two tall fore- or back-facing punctuation marks commonly used to isolate a segment of text or data from its surroundings. They come in four main pairs of shapes, as given in the box to the right, which also gives their n ...
and separated by a comma. Since synchronous throws are only thrown on even beats, only even numbers are allowed.
Throws that move to the other hand are marked by an ''x'' following the number. Thus a synchronous three-prop
shower
A shower is a place in which a person bathes under a spray of typically warm or hot water. Indoors, there is a drain in the floor. Most showers are set up to have adjustable temperature, spray pressure and showerhead nozzle angle. The si ...
is denoted ''(4x,2x)'', meaning one hand continually throws a low throw or 'zip' to the opposite hand, while the other continually makes a higher throw to the first. Sequences of bracketed pairs are written without delimiting markers. Patterns that repeat in mirror image on the opposite side can be abbreviated with a *. For example, Instead of ''(4,2x)(2x,4)'' (3-ball
box
A box (plural: boxes) is a container with rigid sides used for the storage or transportation of its contents. Most boxes have flat, parallel, rectangular sides (typically rectangular prisms). Boxes can be very small (like a matchbox) or v ...
pattern), can be abbreviated to ''(4,2x)*''.
Multiplexing

A further extension allows siteswap to notate patterns involving multiple throws from either or both hands at the same time in a
multiplex
Multiplex may refer to:
Science and technology
* Multiplex communication, combining many signals into one transmission circuit or channel
** Multiplex (television), a group of digital television or radio channels that are combined for broadcast
* ...
pattern. The numbers for multiple throws from a single hand are written together inside square brackets. For example, ''
33'' is a normal 3-ball cascade, with a pair of balls always thrown together.
Passing

Simultaneous juggling: ''
'' notation means one juggler does 'xxx' while another does 'yyy'. 'p' is used to represent a passing throw. For example, ''<3p 3, 3p 3>'' is a 6 prop '2 count' passing pattern, where all left hand throws are passes and right hand throws are selves. This can also be used with synchronous patterns; a two-person 'shower' is then ''<(4xp,2x), (4xp,2x)>''
Fractional notation
If the pattern contains fractions, e.g. ''<4.5 3 3 , 3 4 3.5>'' the juggler after the bar is supposed to be half a count later, and all fractions are passes.
social siteswap
If both juggle the same pattern (although shifted in time), the pattern is called a social siteswap and only half of the pattern needs to be written: ''<4p 3, 3 4p>'' becomes ''4p 3'' and ''<4.5 3 3, 3 4.5 3>'' becomes ''4.5 3 3''. (note that in the latter case, 4.5 will be straight passes from one juggler, crossing passes (i.e. left to left or right to right hand) from the other juggler.
Social siteswaps can also be created for more than 2 jugglers (e.g. 4p 3 3 or 3.7 3 for 3 jugglers, where 3.7 is meant to mean 3.66666.... or 3 . Then each juggler should start count after the previous one.)
Note that some jugglers use fractions to note multi-handed patterns.
Multi-handed
Multi-hand notation was developed by Ed Carstens in 1992 for use with his juggling program JugglePro. Siteswap notation in its simplest form ("Vanilla siteswap") assumes that only one ball is thrown at a time. It follows that any valid siteswap for two hands will also be valid for any number of hands, on the condition that the hands throw after each other. Commonly used multi-hand siteswaps are ''1-handed (diabolo) siteswap'', and ''4-handed (passing) siteswap''.
1-handed (diabolo)
The siteswap is performed by a single hand, or a diabolo
The diabolo ( ; commonly misspelled ''diablo'') is a juggling or circus skills, circus juggling prop, prop consisting of an axle () and two cone, cups (hourglass/egg timer shaped) or cylinder, discs derived from the Chinese yo-yo. This object i ...
player throwing diabolos at different heights.
4-handed
Valid siteswaps can be juggled by a 4-handed juggler, or for 2 jugglers coordinating 4 hands, on the condition that hands throw alternately.
In practice, this is most easily obtained if the jugglers throw by turns, one sequence being (Right hand of juggler A, right hand of juggler B, left hand of A, left hand of B).
mixed-up notation
Some jugglers, when noting 4-handed siteswap, divide the siteswap values by the number of jugglers. This leads to a fractional notation similar to the notation for social siteswaps, but the order of the notation can be different.
State diagrams
Just after throwing a ball (or club or other juggling object), all balls are in the air and are under the influence of gravity. Assuming the balls are caught at a consistent level, then the timing of when the balls land is already determined. We can mark each point in time when a ball is going to land with an ''x'', and each point in time when there is not yet a ball scheduled to land with a ''-''. This describes the current state and determines what number ball can be thrown next. For instance, we can look at the state just after our first throw in the diagram, it is xx--x. We can use the state to determine what can be thrown next. First we take the ''x'' off the left hand side (that's the ball that's landing next) and shift everything else to the left filling in a ''-'' on the right. This leaves us with x--x-. Since we caught a ball (the x we removed from the left) we can't "throw" a 0 next. We also can't throw a 1 or a 4, because there are already balls scheduled to land there. So assuming that the highest we can accurately throw a ball is to a height of 5, then we can only throw a 2, 3, or a 5. In this diagram, the juggler threw a 3, so an x goes in the third spot, replacing the -, and we have x-xx- as the new state.
The diagram shown illustrates all possible states for someone juggling three items and a maximum height of 5. From each state one can follow the arrows and the corresponding numbers produce the siteswap. Any path which produces a cycle generates a valid siteswap, and all siteswaps can be generated this way. The diagram quickly becomes bigger when more balls or higher throws are introduced as there are more possible states and more possible throws.
Another method of representing siteswap states is represent a ball with a 1 instead of an x, and represent a spot where there's no ball scheduled to land with a 0 instead of a -. Then the state can be represented with a binary number, such as binary 10011. This format makes it possible to represent multiplex states, i.e. the number 2 represents that 2 balls land on that beat.
A siteswap state diagram can also be represented as a state-transition table
In automata theory and sequential logic, a state-transition table is a table showing what state (or states in the case of a nondeterministic finite automaton) a finite-state machine will move to, based on the current state and other inputs. It i ...
, as shown on the right. To generate a siteswap, pick a starting state row. Index into the row via the corresponding throw column. The state entry at the intersection is the transitioned to state when that throw is made. From the new state, one can index into the table again. This process can be repeated so that when the original state is reached, a valid siteswap will be created.
Mathematical properties
Validity
Not all siteswap sequences are valid. All vanilla, synchronous, and multiplex siteswap sequences are valid if their state transitions create a cycle in their state diagram graph. Sequences that do not create a cycle are invalid. For example, the pattern 531 can be mapped to a state diagram as shown on the right. Since the transitions in this sequence create a cycle in the graph, this pattern is valid.
There are other methods of determining a sequence's validity based on the flavor of siteswap.
A vanilla siteswap sequence where is the period of the siteswap, is valid when the cardinality
The thumb is the first digit of the hand, next to the index finger. When a person is standing in the medical anatomical position (where the palm is facing to the front), the thumb is the outermost digit. The Medical Latin English noun for thum ...
of the set (written in Set-builder notation
In mathematics and more specifically in set theory, set-builder notation is a notation for specifying a set by a property that characterizes its members.
Specifying sets by member properties is allowed by the axiom schema of specification. Th ...
) is equal to the period whereTo find if a pattern is valid, first create a new sequence formed by adding to the first number, to the second number, to the third number and so on. Second, calculate the modulus (remainder) of each number with the period. If none of the numbers are duplicated in this final sequence, then the pattern is valid.
For example, the pattern 531 would produce or . Since the pattern 531 has a period of 3, the results from the previous example would produce or . In this case, 531 is valid since the numbers are all unique. Another example, 513 is an invalid pattern because the first step produces or , the second step produces or , and the final sequence contains at least a duplicate of one number, in this case a 2.
A synchronous siteswap is valid if
# it only contains even numbers and
# it can be converted into a valid vanilla siteswap using the .
otherwise it is invalid.
Swap property
New valid vanilla sequences can be generated by swapping adjacent elements from another valid vanilla siteswap sequence, adding 1 to the number being swapped to the left and subtracting 1 from the number being swapped to the right. The swap property will convert the valid sequence with arbitrary value , to generate the new valid sequence .
For example, the swap property performed on the inner two throws of the sequence 4413 would move the 4 to the right subtracting 1 from it to become 3 and move the 1 to the left adding 1 to it to become 2. This produces the new valid siteswap pattern 4233.
Slide property
A valid synchronous sequence can be converted to a valid asynchronous sequence and vice versa using the slide property. Given the synchronous sequence , two new vanilla sequences can be formed: and , whereandThe slide property gets its name by sliding the throw times of one of the hands by one time unit so that the throws align asynchronously. For example, the siteswap (8x,4x)(4,4) would create two asynchronous (vanilla) siteswaps using the slide property: 9344 and 5744.
Prime patterns
Siteswaps may be considered either prime or composite. A siteswap is prime if the path created in its state diagram does not traverse any state more than once. Siteswaps that are not prime are called composite.
A non-rigorous but simpler method of determining if a siteswap is prime is to try to split it into any valid shorter pattern which uses the same number of props. For example, 44404413 can be split into 4440, 441, and 3; therefore, 44404413 is a composite. Another example, 441, which uses three props, is prime, as 1, 4, 41, and 44 are not valid three prop patterns (as 1/1≠3, 4/1≠3, (4+1)/2≠3, and (4+4)/2≠3). Sometimes this process does not work; for example, 153 (better known by its rotation 531) looks like it can be split into 15 and 3, but checking that the cycle has no repeating nodes in the graph traversal indicates that it is prime by the more rigorous definition.
It has been shown empirically that the longest prime siteswaps bounded by height contain mostly the throws and . The longest prime patterns with height 22 (with 3 ball maximum), for 9 balls (with 13 maximum height), and for heights and ball counts in between, were enumerated by Jack Boyce in February 1999 using a program called jdeep. The full list of longest prime siteswaps generated by jdeep (with '0' throws represented by a '-' and maximum height throws represented by a '+') can be foun
here
Mathematical connections
Connections to abstract algebra
Vanilla siteswap patterns may be viewed as certain elements of the affine symmetric group (the affine Weyl group of type ). One presentation of this group is as the set of bijective
In mathematics, a bijection, bijective function, or one-to-one correspondence is a function between two sets such that each element of the second set (the codomain) is the image of exactly one element of the first set (the domain). Equival ...
functions ''f'' on the integers such that, for a fixed ''n'': ''f''(''i'' + ''n'') = ''f''(''i'') + ''n'' for all integers ''i''. If the element ''f'' satisfies the further condition that ''f''(''i'') ≥ ''i'' for all ''i'', then ''f'' corresponds to the (infinitely repeated) siteswap pattern whose ''i''th number is ''f''(''i'') − ''i'': that is, the ball thrown at time ''i'' will land at time ''f''(''i'').
Connections to topology
A subset of these siteswap patterns naturally label strata in the positroid stratification of the Grassmannian
In mathematics, the Grassmannian \mathbf_k(V) (named in honour of Hermann Grassmann) is a differentiable manifold that parameterizes the set of all k-dimension (vector space), dimensional linear subspaces of an n-dimensional vector space V over a ...
.
List of symbols
*Number: Relative duration (height) of a toss. 1, 2, 3...
*Brackets []: Multiplex. [333]33.
*Chevrons and vertical bar <, >: Simultaneous and passing patterns.
**P: Pass. <333P, 333P>
**Fraction: Pass 1/y beats later. <4.5 3 3 , 3 4 3.5>
*Parentheses (): Synchronous pattern.
** *: Synchronous pattern that switches sides. (4,2x)(2x,4) = (4,2x)*
**x: Toss to the other hand during a synchronous pattern.
Programs
There are many free computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
s available which simulate juggling patterns.
Juggling Lab animator
- An open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
animator which was written in Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
and interprets nearly all siteswap syntax.
Jongl
- 3d animator capable of displaying multihand (passing) patterns.
JoePass!
works on Windows, Macintosh and Wine (For Linux)
Gunswap
- A web based, open source, 3d juggling animator and pattern library.
There are also some games to play with siteswap:
Siteswap Game
developed by Sebi Haushofer (for Java)
See also
* List of siteswaps
Notes
References
Further reading
*
External links
Symmetric Passing Patterns
, ''PassingDB.com''.
DSSS: The Diabolo Siteswap Simulator
''ArtofDiabolo.com''.
Juggling Lab
(Downloadable animator)
Gunswap Juggling
(Online animator)
(Helpful Vanilla, Multiplex and Synchronous siteswap validator)
Staggered Symmetric Passing Patterns for 2 jugglers
by Sean Gandini (social siteswaps)
*
*
{{Juggling
Juggling patterns and tricks
Notation
Rhythm and meter