Thanks to all that read my previous post, “Sexy Standard Model Symmetries”. Most probably did not notice quite a few technical exchanges between David Halliday and myself. I was pretty darn sure I had a way to represent electroweak symmetry using quaternions. David was pretty darn sure I did not. Such exchanges can go on for some time, unless one party finally sees that they were in fact wrong on the facts. That doesn’t happen often. It did happen here, and I was the one who was wrong. This blog will go into my mistakes, and generate a few more animations which may open up new views.

I have not taken a class on group theory.The International School of Manila generated this image
 I do not say that with a classic fringe physicist false pride bluff (“Although I have not studied the subject, I know where they are wrong”, NOT). Instead it puts me in a defensive posture, hoping to pick up accurate definitions, adjusting as necessary. I have the dodge ball mentality when playing against the more experienced kids: I am going to get hit a few times, but I will survive. If I get lucky, I might catch one of these things flying by me.[click or skip a reading of this blog]

Let me review the fundamentals of group theory I know:
1. There are a set of members for a group.
2. A group has a binary operation (call it multiplication, but addition also works, but don’t use both at once).
3. A group has an identity  (usually 1 for * and 0 for +) such that a member of the group times the identity gets back that member.
4. One member of the group times another member yields another member of the group.
5. Every element has an inverse.
When working on group theory, stick to one operation. I will do that here, 100% multiplication.

A representation of a group defines what is the math widget one is working on, along with the rule for multiplication. The representation could be all kinds of things, but I will work exclusively with quaternions over the field of real numbers, using the standard quaternion rule for multiplication.

One unusual way I approach these issues is by generating animations. One must be careful not to be misled by pictures. The animations must be consistent with what is already well known about groups. A reason I do this is because a visualization uses different sections (and larger parts) of the brain. I have demonstrated sloppiness with language, but am making a good faith effort to speak more precisely. Most folks avoid making images with the same faithful content as the algebra. It is my dream that practice will become commonplace in the future.

Enough pre-ramble. On to the unitary group U(1). This is a unit circle in a complex plane. One way I decided to parameterize quaternions to represent this group was as the norm of a quaternion like so:

I grabbed a specific quaternion (1, 2, 0, 0), then multiplied it by itself a thousand times. This is the picture that resulted:

Animation 1: U(1)
A perfect circle appears in the Right-Left+time complex plane. Time marches forward in the Up-Down+time and Near-Far+time complex planes. The animation creates a straight line in space. The highest speeds happen at the creation and annihilation events. The slowest speeds happen at the turnaround point.

I also spent time thinking about this parameterization:

Nothing but an imaginary goes in. Looks like it destroys the scalar of the quaternion. When I animated 300 of these multiplied by each other, it looked identical. This has now become a core method to my approach: if it looks identical in the animation, then it is identical. The three complex planes were the same, so the animations were too. Case closed.

The algebra is simple. There exists an imaginary number c, such that:

How a group is parameterized within a quaternion representation does not matter. So David said a few times a few different ways. The pictures agree.

I decided to stick to the normalization parameterization. I wrote some tools to play with this parameterization. One was to vary a or b or c or d or ab or ac or ad or bc or bd or cd or abc or abd or bcd or abcd for a quaternion (a, b, c, d). When doing experiments, I use a shotgun. If I just vary a in my normalized parameterization of U(1), it looks the same as varying just b. Both looked the same as varying both together.

Here is a small observation that I found interesting. In animation 1, I used one complex number and filled up the animation with powers of that one. I then started tossing in random numbers found on the real line. That also worked. Visually they are the same.

Take that observation on to SU(2). Work with the quaternion (1, 2, 3, 4), normalize it, multiply that 300 times, and voila:

Animation 2: not SU(2)
Oops. This looks much like U(1), only tilted. It is easy enough to imagine a one parameter way of writing the group U(1) to do this:

This animation is NOT a way to represent the group SU(2). Didn’t I say in “Sexy Standard Model Symmetries” blog that this was a way to represent SU(2)? Check, yup, I did. I have thought so for quite some time. Now I think I was wrong. Damn, I wish I was always right like Tommaso. A property of the group U(1) as a quaternion misguided me.

Consider what really using R^4 looks like. Here is an animation where I try to fill up a cube of spacetime.

Animation 3: trying to be solid spacetime
Some will complain that this blinks. I tried to avoid that by using 100,000 quaternions, then 300,000, then 1,500,000. 1.5 million quaternions try to fill in eight seconds of spacetime, and do not giving a steady picture. This was kind of fun. The image that demanded more resources that I could provide (the 5 and 15 mil efforts failed on a mac mini) with was to fill spacetime with a smooth dull wall.

When I vary all 4 numbers that go into the normalization, I get this animation of SU(2):

Animation 4: SU(2)
This is consistent with what people expect to see for the group SU(2): the surface of a sphere. The sphere starts at the point (-1, 0, 0, 0). It reaches its maximum radius at time = 0, touching the extremes of +/-1 at Up-Down, Near-Far, Right-Left complex planes. One member of this group times any other will end up in a third member, all three probably in different frames of this animation. The multiplication will not commute because we are covering all the angles in spacetime with this one.  

Some 600k quaternions where used in this animation. Here is a detail I find of interest. I plucked out 2000 random values for (a, b, c, d). For each of those, I took 300 products of those because I found that 300 would make a smooth U(1) animation. This means that much of the SU(2) animation is getting filled up with U(1) groups.

What does it look like if only three numbers are varied instead of four? I was not sure if for the one I didn’t vary, should I put in a zero or some value, say 0.5? When unsure, shotgun man tries both.

Animation 5: set y=0, vary the others (watch the shadow)

Animation 6: set y=.5, vary the others

Neither of these are animations of groups. Many values are missing. In the set of quaternions shown there should be a few pairs whose products would show up in the empty spaces. This shows that it is easy enough to make animations that are not of groups. What is a little curious about that observation is the group SU(2) has a Lie algebra that has 3 elements in it, yet here I am varying four real numbers. Hopefully this is just 3 complex numbers with the same real is the same as 4 reals.

What I had wanted was an animation of electroweak symmetry, U(1)xSU(2). What I got was SU(2) with as many U(1) groups inside as I choose to calculate. That sounds more subtle than lifting something from Prof. Glashow's Nobel prize winning work. I’ll take what is behind door number 2.


Software available via:
git clone git:// 

animation 1: U(1)
./q_graph -command "g_u1_n 1 2 0 0 1000" -width 180 -height 180 -fps 8 -duration 8 -box 1.2 -loop 0 -out u1
animation 2: not SU(2)
q_graph -command "g_u1_n 1 2 3 4 300" -width 100 -height 100 -fps 8 -duration 8 -box 1.2 -loop 0 -out not_rand.1234
animation 3: solid spacetime
q_graph -command "q_random_n_11 1500000" -width 100 -height 100 -fps 8 -duration 8 -box 1.2 -loop 0 -out solid
animation 4: SU(2)
q_graph -command "q_random_n_11 2000 | g_u1_n 300" -width 100 -height 100 -fps 8 -duration 8 -box 1.2 -loop 0 -out rand.su2
animation 5: y=0 
q_graph -command "q_random_n_11_txz 500 | g_u1_n 300" -width 100 -height 100 -fps 8 -duration 8 -box 1.2 -loop 0 -out rand.txz.zeros 
animation 6: y=.5
q_graph -command "q_random_n_11_txz 1500 | q_add 0 0 .5 0 | g_u1_n 300" -width 100 -height 100 -fps 8 -duration 8 -box 1.2 -loop 0 -out rand.txz.notzero

snarky puzzle: Be a flatlander. Imagine what it looks like if only 2 numbers are varied for the non-zero constant animation. Wear a bow tie to the celebration of your correct answer.

Late next Monday: Gotta Get 16 Gamma Girls