Quiver mutation in Java/Mutation des carquois en java

Back to main page


These java applets implement quiver mutation (and cluster mutation) as invented in joint work by S. Fomin and A. Zelevinsky in 2000. Quiver mutation is related to a large number of subjects in mathematics and to Seiberg duality in physics, cf. for example section 6, page 21 of this article.

A quiver is an oriented graph: it has vertices (nodes) and arrows between the vertices. To mutate with respect to a vertex, click the vertex. To adjust the picture after mutation, drag the vertices. Note that edges may lie one over the other.

Back to top


This example can be transformed to a tree of type D6 in four mutations.

Back to top

Not acyclic

This example cannot be transformed to a quiver without oriented cycles. This can be proved either using representation theory (cf. section 2.3 of this preprint) or using brute force: Indeed, it turns out that the mutation class of this quiver is finite. It contains 5739 quivers up to isomorphism and can be conveniently computed using the mutation applet below. One then checks that each of these quivers contains at least one oriented cycle. The quiver can be transformed into a quiver containing a double arrow in eight mutations. It cannot be transformed to a quiver containing arrows of multiplicity 3 or greater (indeed, it is not hard to check that this would imply that its mutation class is infinite). This quiver is associated with the elliptic root system of doubly extended type E8.

Back to top

Win the prize

A prize of 20 euros is yours if you are the first to transform the following quiver into one without oriented cycles in strictly less than 8 mutations.

Back to top

General quivers

This applet opens a window on your computer. You can resize the window and experiment with quivers of your own invention. Make them by adding/deleting nodes and arrows in the given examples (delete arrows by adding arrows in the opposite direction!). In the cluster menu you can activate the cluster variables and observe how they change under mutations. This part of the applet is based on the Java ring library from ring.perisic.com. Here are variants of the same application:

Quiver mutation
Java 1.5.0
Launch Download
Download Download

In contrast to the applet, the standalone application allows you to save, open and print quivers. Moreover, as of October 2006, the standalone application and the applet can compute the complete mutation class of a given quiver (if it is finite).

To use the standalone version, you need to have a Java runtime environment (JRE) installed. You run it (without web access) by double-clicking it or via the command line:

java -jar MutationApp.jar

If you wish to use more than the 64 Mb of default memory, you can use

java -Xmx200m -jar MutationApp.jar

to allocate 200 Mb to the application (for example for computing large mutation classes).

Back to top

Example files

Here are some example files:

Back to top

Source code

Links to the source code are given in the above table. Additionally, one needs

Back to top


Back to top

Back to main page

June 25, 2006.