Sunday, September 14, 2014

The exceptional symmetry of E8

Here's a little movie I made about the Lie group E8:

Out of all the known Lie groups, E8 stands out as the largest and most complex exceptional group. It has 248 generating elements, which by themselves have an astounding degree of symmetry. This symmetry can only be fully grasped in 8-dimensional space. But luckily it is also possible to project E8 onto a two-dimensional plane, chosen such that the resulting image preserves a small fraction of its total symmetry. There are different choices for these two-dimensional planes, some preserving more symmetry than others. The movie rotates through a selection of these planes in succession.

Tuesday, July 15, 2014

Lecture notes on Mathematica

Last week Filippo Guarneri and I gave a daylong lecture series on the venerable topic of Mathematica. We covered topics ranging from basic evaluation and programming techniques to tensor calculus. Needless to say, we've written up a nice set of lectures notes for those of you who weren't there. Feel free to have a look!

Friday, September 13, 2013

LieLink: a Mathematica interface for LiE

Ever wished that you could easily transfer you computations done in LiE to Mathematica? You now can with LieLink! LieLink is an small Mathematica package that interfaces with LiE, allowing you to directly execute LiE commands in Mathematica and get the result back. Here's an small example:
<<LieLink`

SetDefaultAlgebra["A2"]

LieTensor[{1, 0}, {1, 0}]
(* => {0,1} + {2,0} *)
You can download LieLink from github.com/teake/LieLink.

Sunday, August 18, 2013

xTras 1.2

After quite a bit of hard work, I'm proud to announce xTras 1.2! The main change over the 1.1 releases is that it now has built-in documentation. That means that when you enter for example ?AllContractions, there will be a nicely formatted message that informs you how to use AllContractions:


Pressing the blue >> link at the end of the message opens up the reference page of AllContractions in the documentation center:

All of the built-in documentation can also be found online, at http://www.xact.es/xtras/documentation/.
Besides the new documentation, there's a plethora of other changes under the hood. As always, see the changelog for more details.

Thursday, May 30, 2013

xTras v1.1.3

I've just posted a new version of my Mathematica package xTras. It fixes a couple of bugs and introduces some new functions. One of these functions is MakeTraceless, which takes any tensorial expression and returns its traceless version. For example:
  In:   MakeTraceless[RiemannCD[-a,-b,-c,-d]]
Out:   \( R_{abcd} + \frac{2 R \underset{1234}{Sym}(g_{ac} g_{bd})}{2 -3 d + d^2} + - \frac{4 \underset{1234}{Sym}(g_{bd} R_{ac})}{-2 + d} \)
The output uses the implicit symmetrizations of the SymManipulator package. But we can also symmetrize explicitly by expanding the symmetries:
  In:   ToCanonical@ExpandSym@MakeTraceless[RiemannCD[-a, -b, -c, -d]]
Out:   \(- \frac{g_{bd} R_{ac}}{-2 + d} + \frac{g_{bc} R_{ad}}{-2 + d} + \frac{g_{ad} R_{bc}}{-2 + d}  - \frac{g_{ac} R_{bd}}{-2 + d}  - \frac{g_{ad} g_{bc} R}{2  -3 d + d^2} + \frac{g_{ac} g_{bd} R}{2  -3 d + d^2} + R_{abcd} \)
Of course, this is just the Weyl tensor in d dimensions:
  In:   Simplification@ RiemannToWeyl@ExpandSym@MakeTraceless[RiemannCD[-a, -b, -c, -d]]
Out:  \(W_{abcd} \)
Another new function is ConstructDDIs, which construct dimensional dependent identities (DDIs). Say we have a two-dimensional manifold. We can then ask for a list of all DDIs which have one curvature tensor and two free indices:
  In:   ConstructDDIs[RiemannCD[a,b,c,d],IndexList[a,b]
Out:   \({R^{ab}  - \tfrac{1}{2} g^{ab} R} \)
It returns just one DDI, namely the vanishing of the Einstein tensor. This is well know fact, namely that gravity in two dimensions is purely topological, because the Einstein-Hilbert action is equal to the two-dimensional Euler density.

As always, you can grab the newest version of xTras from its www.xact.es/xtras, or have a look at the changelog for all the new features.

Friday, February 8, 2013

The Weyl group of C4


Time for a pretty picture! It's the Weyl group of the finite Lie algebra C4.

Although C4 is 'only' 36 dimensional, its Weyl group is a bit bigger and has 384 elements. The pictures doesn't show the elements of the Weyl group though, but rather all possible connections between them. If you looks closely the black dots aren't dots -- they're points where are lots of lines meet.

Thursday, January 31, 2013

Coxeter planes

Here are a few nice Coxeter projections of representations of finite Lie algebras. If you don't know what a Coxeter projection is, or a finite Lie algebra for that matter, have a look at my PhD thesis (from which I took these pictures). Or, visit John Stembridge's website for more information and pictures.

Update: some of these pictures do not show the full representation, but only a subset.


The orbits of the two highest dominant weights of the 1764 representation of A5.

The orbits of the two highest dominant weights of the 5985 representation of A17.

The orbits of the two highest dominant weights of the 442 representation of B6.

The adjoint representation of B19.

The adjoint representation of D10.

Thursday, January 3, 2013

Feynman's ode to a flower

Here's a beautiful animation by Fraser Davidson accompanying a soundbite from Richard Feynman. The soundbite is from a 1981 episode of BBC's Horizon, "The pleasure of finding things out", which, if you haven't seen it, I can wholeheartedly recommend.

Sunday, December 23, 2012

xTras 1.0.6

Just in time for the holidays, a new version of xTras, my xAct Mathematica package, has hit the selves. Version 1.0.6 updates AllContractions, which should be much faster. You can now compute all possible contractions of your favorite tensors in a reasonable amount of time (provided there aren't too many indices to contract over), like so:
In:    AllContractions[ RiemannCD[a,b,c,d]RiemannCD[e,f,g,h] ];
Out: { \( R^2, R_{ab} R^{ab}, R_{abcd} R^{abcd}, R_{acbd} R^{abcd} \) }
The last two contractions are actually not independent, but are related to each other via the Bianchi identity. But that's a multi-term symmetry, and unfortunately AllContractions doesn't take those into account.

Other functions, such as TensorCollect and SolveConstants should also see some speed improvements. And besides the usual bugfixes there are nice new functions such as SolveTensors (which can solve a system of linear tensorial equations in terms of tensors) and IndexConfigurations. The latter gives all possible independent index configurations of an expression. For example:
In:    IndexConfigurations[ metric[a,b]metric[c,d] ];
Out: { \(g^{ab} g^{cd}, g^{ac} g^{bd}, g^{ad} g^{bc}\) }
Here's another example:
In:    IndexConfigurations[ RiemannCD[a,b,c,d] ];
Out: { \(R^{abcd}, R^{acbd}, R^{adbc} \) }
Note that the three different index configurations of the Riemann tensor are actually not independent due to the Bianchi identity. Like AllContractions, IndexConfigurations doesn't take these multi-term symmetries into account.

xTras 1.0.6 has some more improvements; check the Changelog for details. As usual, the new version can be downloaded from its www.xact.es/xtras.

Wednesday, November 7, 2012

xAct notebooks

I put some notebooks for xAct on my website, at http://www.aei.mpg.de/~nutma/. There's an introductory notebook, and two more advanced ones covering the Noether procedure for spin 2 and some calculations for spin 3. Go have a look!

Update (30-04-2016): the above links are dead, but the majority of material in the notebooks have made its way into the xTras documentation as tutorials. The online version can be found here.

Sunday, March 25, 2012

xTras for xAct

I'm a big fan of xAct, a tensor algebra package for Mathematica. While there are other tensor packages for Mathematica on the market, xAct is by far the best. It canonicalizes tensorial expressions blazingly fast, and its perturbation capabilities are state-of-the-art. If you've always wanted to do second-order perturbations of four-derivative curvature tensors but were afraid the actual calculation might take you some weeks, xAct is your man. It does it in a few seconds, and more importantly, doesn't mess up minus signs.

In fact, I like xAct so much, I wrote an additional package for. It's aptly called xTras, and its available over on www.xact.es/xtras. It brings some functionality that I found missing in xAct, like computing equations of motion for the metric, perturbations around AdS spaces, and Young projectors (yes, this also includes Bianchi identities).

I'll demonstrate some of the new functionality by computing the linearization of the Einstein tensor around AdS spaces. Here goes!
First, open up Mathematica, and enter the following line:
   In:    <<xAct`xTras`
This loads the xTras package (assuming you're managed to download and install it). Next we'll define a manifold and a metric:
   In:    DefConstantSymbol[dimension,PrintAs->"D"]
   In:    DefManifold[M,dimension,IndexRange[a,f]]
   In:    DefMetric[-1,g[-a,-b],CD]
We'll be doing stuff on AdS spaces, which has a constant curvature. Hence we need to define a constant symbol to indicate that curvature:
   In:    DefConstantSymbol[L]
Now we're ready to define the standard Lagrangian for gravity with a cosmological constant:
   In:    lagrangian = RicciScalarCD[] -(dimension-2)(dimension-1)L
We'd like to compute the equations of motion that follow from this Lagrangian. To do so, we first write the command
   In:    DefMetricVariation[g,h,eps]
This command makes it possible to do covariant metric variations. It also registers the command VarL, which varies Lagrangians:
   In:    eom = VarL[g[a,b]][lagrangian] //TensorCollect
Out:    \( \frac{1}{2} (2 - 3 D + D^2) L g_{ab} + R_{ab} - \frac{1}{2} g_{ab} R\)
The equations of motion should allow for AdS spaces. To check this, we first generate a list of replacement rules for curvature tensors of the covariant derivative CD on symmetric spaces:
   In:    AdSrules = SymmetricSpaceRules[CD,L]
 And indeed, the equations of motion are zero for this background:
   In:    eom /. AdSrules // ToCanonical
Out:    \( 0 \)
This means we can perturb around this solution. So without any further ado, here's the linear perturbation of the Einstein tensor:
   In:    ExpandBackground[eom, BackgroundSolution -> AdSrules] // TensorCollect
Out:    \( (l -  D l) h^{1}{}_{ab} + \frac{1}{2} (-1 + D) l g_{ab} h^{1c}{}_{c} - \frac{1}{2} \triangledown_{a}\triangledown_{b}h^{1c}{}_{c} + \frac{1}{2} \triangledown_{c}\triangledown_{a}h^{1}{}_{b}{}^{c} + \frac{1}{2} \triangledown_{c}\triangledown_{b}h^{1}{}_{a}{}^{c} \)
                                      \(- \frac{1}{2} \triangledown_{c}\triangledown^{c}h^{1}{}_{ab} - \frac{1}{2} g_{ab} \triangledown_{d}\triangledown_{c}h^{1cd} + \frac{1}{2} g_{ab} \triangledown_{d}\triangledown^{d}h^{1c}{}_{c} \)
 And that's it! Granted, we could also have done this by hand. But the power of xAct is that it can do much more complicated calculations without breaking a sweat. If we would like to know the second order pertubation of the Einstein tensor, we can simply replace the above input by ExpandBackground[eom,2,BackgroundSolution->AdSrules]. Pretty cool, right?

Monday, March 29, 2010

Affine root systems

Currently I'm working on my PhD thesis. It isn't finished yet, but I decided the following images were worth a sneak peak:


Besides looking nice, the pictures actually convey some information. They're so-called Hasse diagrams of the root systems of a few affine Lie algebras. From left to right we have the following affine algebras: (a) A1+, (b) C2+, (c) D4+, (d) A8+, (e) D7+, and (f) E7+. But luckily you don't need to fully understand the mathematical background, which is admittedly quite complicated, to enjoy their beauty.

Tuesday, February 16, 2010

Matching fonts in Keynote and LaTeX

LaTeX is great if you want to typeset documents with lots of mathematics in them, but what if you want to make presentations with lots of math? Sure, there are LaTeX packages like Beamer with which you can straightforwardly make decent looking presentations using nothing but LaTeX. But none of those packages lets you easily control where items end up on a page, make subtle changes to overall lay-out, or add some motion to your slides.

Keynote does all of those things, and a bit more. Here's for example a slide of presentation I gave some time ago:


The things in the image are all created within Keynote (not in a separate drawing program like Adobe Illustrator), and some of them are even animated. This is simply impossible to do solely with LaTeX, and that's why I've been using Keynote for quite some time now for all my presentations.

However, there was always something annoying me: the fonts in formulae I got from LaTeXiT (a small program that lets you insert LaTeX formula in Keynote) didn't match the font over the overall presentation. And if you're a typesetting nerd like me, that's pretty annoying. Luckily, I found a solution. Here's an example with both type of fonts:


The difference is subtle, but certainly noticable. The greek letters haven't changed, but the others are in the same font in the second equation. Here is how you change fonts:

  1. First, go to the LaTeXiT preferences, and change the default configuration to use xelatex instead of pdflatex:

  2. Next, add the following to the LaTeXiT preamble:

    \usepackage{mathspec}
    \usepackage{xunicode}
    \usepackage{xltxtra}
    \setmainfont{Gill Sans}
    \setmathsfont(Digits,Latin,Greek){Gill Sans}


    Be sure to change the "Gill Sans" to match whatever font you're using in Keynote.

And that's it! After restarting LaTeXiT, all new equations you'll typeset will be in the correct font. Enjoy!

Sunday, January 3, 2010

End of the year lists

2009 is behind us, which can only mean one thing: endless amounts of end-of-the-year-lists! Around this time of the year every respectable music website or blogger will produce his or her list of best albums, best singles, and whatnot. For example, have a look at the lists of  Pitchfork, Paste, and Kindamuzik (Dutch). Having compiled my list for the Vera poll, it's a small effort to also put it here. So here are my two cents for 2009:



10. Built To Spill - There is no enemy 
MP3: Hindsight

Myspace


9. Throw Me The Statue - Createresque
MP3: Ancestors

Myspace

8. Wake The President - You can't change that boy
Myspace


7. Jay Reatard - Watch me fall
MP3: Wounded

Myspace


6. The Pains Of Being Pure At Heat - s/t

Myspace

5. Sunset Rubdown - Dragonslayer

Myspace


4. Phoenix - Wolfgang Amadeus Phoenix
MP3: 1901

Myspace

3. The Maccabees - Wall of arms

Myspace

2. Dan Auerbach - Keep it hid

Myspace


1. Bill Callahan - Sometimes I wish we were an eagle

Myspace





Sunday, November 1, 2009

Mac free software list

Having updated to Snow Leopard this weekend, I once more downloaded and installed the latest version of all the free applications I use. Almost all of them were compatible with Snow Leopard, a thing I checked beforehand for only a few of them. Here's a careful selection of the apps I couldn't live without:

Internet related:
  • Adium
    The multi-protocol instant messaging client for the Mac. Handy if you have MSN, ICQ, and Google Talk accounts (like me).
  • GlimmerBlocker
    The only adblocker for Safari that isn't implemented as a hack -- this one is actually a proxy that filters out the stuff you don't want to see.
  • Transmission
    Simply the best torrent client for OS X.
  • Google Notifier + Google + Growl
    A menu bar app that notifies you when there's new mail in you Gmail inbox. The Google + Growl utility makes sure the notifications are Growl compliant.
LaTeX:
  • BasicTex
    A TeX distribution that's small (54mb) but still has all you need.
  • LaTeXiT
    Unmissable app if you quickly want to typeset formulas and paste them into, say, Keynote.
  • TeXlipse
    A plugin for Eclipse that turns it into one of the most powerful LaTeX editors around.
System tools:
  • Growl
    A notification system for Mac OS X. Many programs are capable of using it, and it's a functionality that's lacking by default in OS X.
  • USB Overdrive
    The default mouse acceleration is really crappy on OS X. USB Overdrive lets you change it according to your own tastes.
  • CDto
    CDto adds a button to Finder that opens a Terminal window and changes its active directory to the Finder directory.
Media:
  • Plex
    Plex is a home theatre app that is much more versatile than Front Row. Amongst other things, it can pull content directly from the internet to your TV.
  • Perian
    Perian adds playback support to QuickTime for a whole range of media format.
  • Flip4Mac
    Adds WMV support to QuickTime.
  • ScrobblePod
    If you've got a Last.FM account, this little app is for you. It scrobbles all your plays in iTunes.
Other:
  • Jin
    Jin is the only chess client that runs on a Mac and supports the Free Internet Chess Server. So if you're a cheap bastard like me and enjoy a game of chess, Jin is the way to go.

Wednesday, October 21, 2009

Symmetry in and of nature



In part three of "What on earth has Teake been doing for the last four years?" I'll talk a little on how symmetry appears in nature. When considering this subject, it seems natural to think of symmetric things that appear in nature. Snowflakes, like the one above, are good examples, but also flowers, the wings of butterflies, and sea stars (to name a few) all show some form of symmetry. They fall into the category "things in nature that look kind of symmetric", but in fact have little or nothing to do with the physicist's concept of the symmetry of nature.

One definition of symmetry in physics is as follows: the symmetries of nature are those transformations that do not change the laws of physics. To illustrate this concept, have a look at the following four clocks:


The first clock obviously satisfies the laws of physics. We now apply two different transformations, namely a mirror operation and a time reversal operation. Both give a clock that is distinct from the original one -- you can see the dial moving in the opposite direction. So the clock is not invariant under these transformations, and thus they are not symmetries of the clock. However, there's nothing physically wrong with a clock running in the opposite direction, apart from the fact that it's broken. Therefore parity (a fancy word for a mirror operation) and time reversal are symmetries of the laws of physics of this particular system. In general parity and time reversal are broken, but that's another story.

As a side note, you can see that the combined actions of parity (C) and time reversal (T) do leave the clock invariant, so CT is a symmetry of the clock.

This concept of symmetry is quite powerful. For instance, Special Relativity can be derived by demanding that the laws of physics are invariant under translations, rotations, and boosts (which together make the Poincaré group). Modern physics is to a large extent build on similar considerations of symmetry. So the study of group theory is not just a nice mathematical exercise; it actually has some useful applications throughout the field of physics. In the upcoming blogposts on "What on earth has Teake been doing for the last four years?" I'll try to explain how I applied some fancy group theory to even fancier things like supergravity. Stay tuned!

Tuesday, October 20, 2009

Band rebus

Can you guess what bands the images below are supposed to represent? The answers can be found after the break!

  1.  
  2.   
In case you're wondering, I made these images for a popquiz I held with some friends. It was pretty fun, not in the least because of the Lego album covers we also put in.
Anyway, the answers are ... :

Saturday, October 17, 2009

More symmetry: continuous groups

In my previous post on "What on earth has Teake been doing for the last four years?" I tried to explain the concepts of symmetry and groups. Today we're going on step beyond, and see how they are related to algebras. Hold tight! It's going to be a bumpy ride ...

Let's first start of with the triangle. As we saw in the previous post it only had six distinct symmetries, and these symmetries formed a group. It's a discrete group because there are only a finite number of symmetries, and thus a finite number of elements in that group.
If you want objects with bigger symmetry, all you have to is increase the number of sides of your polygon. Here's for example the pentagon:


From now on we ignore the reflection symmetries and focus only on the rotational ones. It's easy to see the pentagon has six symmetries: rotations over 0˚, 72˚, 144˚, 216˚, and 288˚ all leave it invariant.


When we move up to the hendecagon (the 11-sided regular polygon), it will come as no surprise that the thing has 12 distinct rotational symmetries. But what happens if we crank the number of sides up to infinity? Then our polygon become a circle:



You can rotate it over any angle, and it remains the same. This means it has an infinite amount of symmetry! The mathematical object that describes these symmetries is still a group, but no longer a discrete (finite) one. The symmetry group of the circle is continuous. The reason why we call it continuous is because you can smoothly get from one rotation to another one by continuously applying infinitessimal (i.e. very small) rotations. Another way of phrasing this is to say that every angle between e.g. 72˚ and 144˚ corresponds to a symmetry. This was not so for the pentagon: in that case there are 'gaps' between the rotations. That's why that kind of symmetry is called discrete.

Continuous groups are known as Lie groups (pronounced as "lee"; they're named after Sophus Lie). They contain an infinite amount of elements. But because they're continuous we can parametrize the elements in one or more parameters. For the circle we can write any rotation over an angle θ as R(θ) as



This is just the rotation matrix in two dimensions. If R(θ) is still a group element, it should satisfy the group multiplication rule: R(θ1) • R(θ2) = R(θ1 + θ2). Or in plain English: the result of two succesive rotations over angles θ1 and θ2 should give a new rotation over an angle θ1 + θ2. Sure enough, if we brush up on our linear algebra and trigonometry, we find that



So group multiplication is indeed satisfied.
The above parametrization makes for easier bookkeeping of the infinite amount of group elements. But things can be simplified even further! Because the parametrization is continuous, we can take the derivative of R(θ) with respect to θ:





The magic happens when you consider the value of dR(θ)/dθ at zero angle, θ = 0 :



which we call T, for short. This thing is independent of the angle θ. What's more, you can recover all the rotations by simply exponentiating T:



We say that T generates the symmetry group of the circle. In proper mathematical lingo, it is called a generator. This single object captures all the important properties of the infinite symmetry group (well, almost all, but we'll not go into that right now). The bookkeeping now becomes very simply: we can just focus on the generator T, instead of the infinite amount of group elements.

You can show that for more complicated groups (e.g. the symmetry group of the sphere) the above simplification also holds. All the group elements can be led back to a finite number of generators (in the generic case there is more than one generator). These generators no longer are elements of a group. Instead, they form what is known as Lie algebra. But more on that in one of the upcoming episodes of "What on earth has Teake been doing for the last four years?"!

Saturday, October 3, 2009

Quarterly music round-up


September is behind us, and so are August and July. Time for a quarter-annual update on the stuff I listen to! Luckily Last.FM is not only useful for keeping track of concerts (as I wrote about earlier), but it also keeps track of your listening habits. The graph above is for example a visualization of my listening history over the last three months, made with the tool LastGraph. Last.FM itself produces plain text lists, like the top albums you've listened to. Here are mine:
  1. The Maccabees - Wall of arms
  2. Throw me the statue - Creaturesque
  3. Sunset Rubdown - Dragonslayer
  4. Bill Callahan - Sometimes I wish we were an eagle
  5. The Dodos - Time to die
  6. Phoenix - Wolfgang Amadeus Phoenix
  7. Dan Auerbach - Keep it hid
  8. The National - Boxer
  9. The Maccabees - Colour it in
  10. Jay Reatard - Watch me fall
Almost all are of this year (save no. 8 & 9), so there's a reasonable chance they will make it to my end-of-the-year list. But for that we'll have to wait another three months.

Tuesday, September 29, 2009

Symmetry

This is the first post of what eventually should become the "What on earth has Teake been doing for the last four years?"-series. Brace yourself: it's about maths and physics. Run while you still can!

I'll try to keep things simple by starting of with a concept that is as mundane as it is fascinating: symmetry. Not only makes it our world round, but it’s also what makes it go round. From the perfect circular wheels on our bikes and cars that deliver an enjoyable ride, to the error-correction protocols that keep e-mails from turning into junk; it’s literally all around us.

So what is symmetry exactly? A symmetry is an action on an object that, once you’re done performing it, does not change that object. It's a somewhat abstract definition, but take for example the triangle, which has 6 symmetries.  There are two different rotations (over 120˚ and 240˚), three reflections, and finally the action of doing nothing at all (yes, that's also a symmetry). You can try them out in the following applet. Clicking on the arrows causes the triangle to rotate and reflect.


This is all pretty straightforward, right? But things start to get interesting we you keep track of the effect of the different rotations and reflections. Let's paint the corners so we can see where they end up:


One thing you'll notice is that doing twice a clockwise rotation is equal to doing one counter-clockwise rotation. The same is true for any other combination of actions -- it will always yield the net effect of one single reflection or rotation. It might also happen that the triangle ends up in the original configuration, but remember that doing nothing is also a symmetry.

The combined actions describe what mathematicians call a group. A group is a set of elements plus a rule of multiplying those elements. Let's call the set G and the multiplication rule "•". Then the precise definition of a group (in which a, b are elements of the set G) is the validity of the following four statements:
  • Closure.
    The result of the operation ab is also in G.
  • Identity element.
    There exists an element 1 in G, such that for all elements a in G, the equation 1a = a1 = a holds.
  • Inverse element.
    There exists an element a-1 in G such that aa-1 = a-1a = 1.
  • Associativity.
    The equation (ab) • c = a • (bc) holds.
These four set of rules are called the group axioms. They might sound a bit abstract, but in fact, they're not. Let's have a look at our triangle again.


The symmetry actions are labeled as follows:
  • 1: identity element ("doing nothing at all").
  • y: counter-clockwise rotation by 120˚.
  • p: clockwise rotation by 120˚.
  • R: reflection in the top vertex.
  • G: reflection in the lower-right vertex.
  • B: reflection in the lower-left vertex.
We already noticed that the closure axiom holds. The existence of the identity element is also pretty obvious. What about the identity axiom? This indeed also holds: every action has an inverse. The reflections are their own inverse, whereas the rotations are each other's. The last thing to check is associativity. It's a bit harder to verify, but believe me, it holds too.

Just for completeness sake, here's one last version of the triangle applet. This one includes the group multiplication table, which keeps track of what happens when you first do the action in the first row, followed by the action in the first column. (If you didn't believe me on the validity of associativity you can use this table to check it.)


What I've shown you so far is that the symmetries of the triangle can be described in terms of the mathematical concept of a group. The importance of group theory lies in the fact that any symmetry you can think of can be described as a group, and that conversely all groups describe a symmetry.

By now the answer to the question "What on earth has Teake been doing for the last four years?" will hardly come as a surprise: it's group theory. More on that in part two of this series!