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.

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.

Doug

Software available via:

git clone git://quaternions.git.sourceforge.net/gitroot/quaternions/quaternions

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

Sexy Standard Model Symmetries 2: Experimental Corrections

## Comments

Doug:

Your Animation 6:

doesn't appear to be a case of y being constrained to .5. Even treating the y=.5 constraint as only applied to the y component of the quaternion (q) fed into the normalization expression q/|q|, you are still missing parts only due to not having fed in elements with sufficiently large t, x, and z components. (Looking at your code, I see that this is exactly the case here.)

David

Your Animation 6:

doesn't appear to be a case of y being constrained to .5. Even treating the y=.5 constraint as only applied to the y component of the quaternion (q) fed into the normalization expression q/|q|, you are still missing parts only due to not having fed in elements with sufficiently large t, x, and z components. (Looking at your code, I see that this is exactly the case here.)

David

David Halliday | 05/03/11 | 12:44 PM

David:

Good catch. The amount of y missing looked arbitrary. Will try this command:

-command "q_random_n_11_txz 1500 | q_x_scalar 5 | q_add 0 0 .5 0 | g_u1_n 300"

to see if that fills up the sphere. Will do that tonight and edit this reply with the image (and, edit the post once the new animation is in hand).

Doug

Good catch. The amount of y missing looked arbitrary. Will try this command:

-command "q_random_n_11_txz 1500 | q_x_scalar 5 | q_add 0 0 .5 0 | g_u1_n 300"

to see if that fills up the sphere. Will do that tonight and edit this reply with the image (and, edit the post once the new animation is in hand).

Doug

Doug Sweetser | 05/03/11 | 13:01 PM

David:

I did some variations, and have not quite achieved the goal in mind (visually = SU(2)). The first two altered only the value of y. I thought 0.9 would cover more area, 0.1 less, but it turns out I had those reversed.

Animation r.1: y=0.9 is narrower

q_graph -command "q_random_n_11_txz 1000 | q_add 0 0 .9 0 | q_x_scalar 5| g_u1_n 300"

Animation r.2: y=0.1 covers more

q_graph -command "q_random_n_11_txz 1000 | q_x_scalar 5 | q_add 0 0 .5 0 | g_u1_n 300"

I like how this one looks like the Death Star in Star Wars under construction.

This time I tossed a bigger scalar multiplier and more points

Animation r.3: scalar multiplier of 15, 900k quaternions

q_graph -command "q_random_n_11_txz 3000 | q_x_scalar 15 | q_add 0 0 .5 0 | g_u1_n 300"

Notice that one can still see stuff missing along the radius. There are now new areas in the Up-Down+time complex plan that have less coverage.

This could be an artifact of the software. Yet it could be that values at y=0 don't get included. It helps to pick a smaller y value. I would have to come up with an analytic reason why such values would not be included. That would be an interesting observation if it could be supported.

Doug

I did some variations, and have not quite achieved the goal in mind (visually = SU(2)). The first two altered only the value of y. I thought 0.9 would cover more area, 0.1 less, but it turns out I had those reversed.

Animation r.1: y=0.9 is narrower

q_graph -command "q_random_n_11_txz 1000 | q_add 0 0 .9 0 | q_x_scalar 5| g_u1_n 300"

Animation r.2: y=0.1 covers more

q_graph -command "q_random_n_11_txz 1000 | q_x_scalar 5 | q_add 0 0 .5 0 | g_u1_n 300"

I like how this one looks like the Death Star in Star Wars under construction.

This time I tossed a bigger scalar multiplier and more points

Animation r.3: scalar multiplier of 15, 900k quaternions

q_graph -command "q_random_n_11_txz 3000 | q_x_scalar 15 | q_add 0 0 .5 0 | g_u1_n 300"

Notice that one can still see stuff missing along the radius. There are now new areas in the Up-Down+time complex plan that have less coverage.

This could be an artifact of the software. Yet it could be that values at y=0 don't get included. It helps to pick a smaller y value. I would have to come up with an analytic reason why such values would not be included. That would be an interesting observation if it could be supported.

Doug

Doug Sweetser | 05/04/11 | 11:47 AM

Doug:

The missing bands within your last movie have to be software artifacts (probably some aspect of your random numbers, or some other source of discreteness.

Unfortunately, the only way to recover the y=0 portion is to take arbitrarily large values for the other parameters (as they approach infinity, the values approaching y=0 are recovered).

It's really another illustration of how this particular parameterization has more than one way of obtaining each element of the normalized quaternions (a representation of SU(2)).

David

The missing bands within your last movie have to be software artifacts (probably some aspect of your random numbers, or some other source of discreteness.

Unfortunately, the only way to recover the y=0 portion is to take arbitrarily large values for the other parameters (as they approach infinity, the values approaching y=0 are recovered).

It's really another illustration of how this particular parameterization has more than one way of obtaining each element of the normalized quaternions (a representation of SU(2)).

David

David Halliday | 05/04/11 | 16:28 PM

Very nice. :)

I'm very glad our discussions appear to have helped.

By the way, on the exponential representation of SU(2):

exp(0,b,c,d) = exp(0, |(b,c,d)| (b,c,d)/|(b,c,d)|)

(where (b,c,d) is the three vector with these three components, so, of course, |(b,c,d)| = sqrt(b

^{2}+ c^{2}+ d^{2})). Going further, since the square of any unit quaternion with a zero scalar part (so a unit three vector) is -1 (so any such unit three vector is a square root of negative one), we have:exp(0,b,c,d) = exp(0, |(b,c,d)| (b,c,d)/|(b,c,d)|)=( cos(|(b,c,d)|), sin(|(b,c,d)|) (b,c,d)/|(b,c,d)| ).

Of course, it is apparent that this is a normalized quaternion. Furthermore, one should be able to see that all normalized quaternions can be written in this way. So this is a rather straight forward way of parameterizing such using only three real parameters, rather than using four while "throwing away" the magnitude (or, equivalently, constraining the magnitude to be one).

Incidentally, the elements that go into the exponentials, above, are, in actuality, the elements of the Lie algebra su(2) (the algebra of quaternions with zero as the scalar part, where the multiplication operation of the algebra is the Lie bracket [a,b] = (ab - ba), where ab and ba use the quaternion multiplication operation).

I hope this helps further.

David