Cluster Algebras

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

Cluster algebras are certain commutative rings introduced by Fomin and Zelevinsky. Their generators (called cluster variables) and algebraic relations are defined through an iterative process known as "seed mutations." The latter are defined in terms of a skew-symmetric matrix that can be represented as a quiver (a directed graph). To each node of the quiver, there is associated a transformation (called a mutation) that changes the original "seed," that is, the original skew matrix (or quiver) and the associated cluster variables . This Demonstration shows several examples of how Mathematica can be used to generate a cluster algebra.


Use "Quiver" to select the seed from which you wish to start. Only three examples have been provided, but more can easily be added by changing the source code. "Number of Mutations" lets you control the number of mutations you wish to perform in one step. It changes the number of drop-down menus for the "Mutation Sequence." Choose the number of a vertex for performing a mutation and the value "0" for not performing one. The mutations are executed from left to right. The resulting quivers might become quite complicated and it can be helpful to rearrange the quiver to your liking. You can drag the vertices of the quiver to any position you like.

Displayed are the transformation of the quiver, the associated skew-symmetric matrix, and the cluster variables under the specified sequence of mutations. Try the mutation sequence "5-3-1-6" with the quiver in order to compare with the example in Keller's Java applet [1].


Contributed by: Bernhard Keller, Christian Korff, and Lauren Williams (January 2012)
(URF de Mathématiques, Paris 7; School of Mathematics and Statistics, University of Glasgow; and Department of Mathematics, UC Berkeley)
Open content licensed under CC BY-NC-SA



This is a simple Demonstration of how Mathematica can be used to facilitate computations with cluster algebras. Cluster algebras were introduced by Fomin and Zelevinsky [2–4] and are a rapidly expanding subject in mathematics [5]. They have found applications in many different areas, including combinatorics, representation theory, number theory, and physics.

A cluster algebra can be generated from certain data (seeds), which consist of a skew-symmetric exchange matrix representing a quiver (without loops or two-cycles) and cluster variables . For simplicity, we treat here only the case without coefficients, but the source code can be manipulated to include the latter as well. This data, , is subject to certain transformations called "mutations"; see [6] and [7] for an introduction.

A mutation around a vertex of the quiver changes the exchange matrix according to the formula (matrix mutation) and the variables according to the exchange relation and for all .

Definition (Cluster algebras). Let be a quiver without loops or two-cycles and with vertex set . Given the initial seed , where , define the clusters with respect to to be the sets appearing in seeds obtained from via iterated mutations, the cluster variables for to be the elements of all clusters, and the cluster algebra associated with to be the -subalgebra of the field generated by all the cluster variables.

This Demonstration shows how the mutations change the initial seed for several examples. The important feature we would like to emphasize is that Mathematica allows one to combine graphical interactive displays of the quivers arising in cluster algebras with the needed symbolic computational power to manipulate the cluster variables. Fomin and Zelevinsky have shown that the cluster variables are always Laurent polynomials, that is, their denominators are always monomials. This Demonstration lets you verify this remarkable fact on simple examples.

The set of cluster variables in cluster algebras may be finite or infinite. According to a classification theorem by Fomin and Zelevinsky [8], the set of cluster-finite cluster algebras is parametrized by the finite root systems of semisimple Lie algebras; we have included here the examples and . The example related to the pentagram map [9] yields a cluster algebra of infinite type, since the mutation sequence 5-6-4-5-3 produces a matrix with ; compare with [8].


[1] B. Keller. "Quiver Mutation in Java." (Jun 25, 2006)

[2] S. Fomin and A. Zelevinsky, "Cluster Algebras I: Foundations," Journal of the American Mathematical Society, 15(2), 2002 pp. 497–529. doi:10.1090/S0894-0347-01-00385-X.

[3] S. Fomin and A. Zelevinsky, "Cluster Algebras IV: Coefficients," Compositio Mathematica, 143(1), 2007 pp. 112–164. doi:10.1112/S0010437X06002521.

[4] A. Berenstein, S. Fomin, and A. Zelevinsky, "Cluster Algebras III: Upper Bounds and Double Bruhat Cells," Duke Mathematical Journal, 126(1), 2005 pp. 1–52. doi:10.1215/S0012-7094-04-12611-9.

[5] S. Fomin. "Cluster Algebras Portal." (Jan 5, 2012)

[6] B. Keller. "Cluster Algebras and Cluster Categories." (Apr 20, 2011)

[7] A. Zelevinsky, "What Is… a Cluster Algebra?", AMS Notices, 54(11), 2007 pp. 1494–1495.

[8] S. Fomin and A. Zelevinsky, "Cluster Algebras II: Finite Type Classification," Inventiones Mathematicae, 154(1), 2003 pp. 63–121. doi:10.1007/s00222-003-0302-y.

[9] M. Glick, "The Pentagram Map and Y-Patterns," Advances in Mathematics, forthcoming.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.