Tuesday, June 30, 2009

Visualizing Groups of Symmetries

After realizing that I had some (now) bizarre misconceptions about the groups of symmetries of various graphs, I decided to write a small program to let me visualize the effects of a given permutation on a graph embedded in two or three dimensions:
Here we see a regular dodecahedron. (These don't look great as static images, I know, but the program allows you to rotate the figures which makes them a lot easier to discern.) Suppose we were to twist two of the opposite pentagonal faces; then we'd get something that looks a little like this:In case you couldn't tell from the shape, the background has turned light yellow to indicate that this permutation is not in fact an automorphism of the dodecahedron. This is a platform independent Java application, and I'll post a download as soon as my web hosting comes back up. If anyone would like to look over my Java code and tidy it up, and/or make it into a workable applet, that'd be great; I really don't know Java and this took me way longer to write than it should have.

Relevant math question: If we let S6 act on the vertices of the icosahedron, how many different graphs (up to isomorphism) do we get?

Update: now available for download. Extract the archive into a directory, then either double-click on the .jar file or use the provided shell script or batch file depending on platform. The graphs/ directory contains some different graphs you can load; if you peek at one of the files in a text editor it should be pretty clear how to make your own. Enter permutations in cycle notation, e.g. (1 2)(3 4), and beware the following caveats:
  • The vertices are numbered 0,1,...n-1 rather than 1,2,...n
  • You don't have to reduce your permutations, so you can enter e.g. (1 2)(1 3)(3 4 5) or somesuch. Be aware, though, that the program composites permutations backwards, so you'll have to flip things right to left with respect to normal mathematical notation.
I've had some annoying classpath issues on my computer so I'd be glad to hear whether this works on other people's computers or not.

0 comments: