Jump to content

Question on Special Orthogonal Group SO(3)


Recommended Posts

It's a subgroup of O(3), the set of 3x3 orthogonal matrices under matrix multiplication. Elements of O(3) can have a determinant of either +1 or -1. The "S" in SO(3) stands for "Special", and it is indicative of the fact that elements of SO(3) are those elements of O(3) which have a determinant of +1 only.

Link to comment
Share on other sites

It's a subgroup of O(3), the set of 3x3 orthogonal matrices under matrix multiplication. Elements of O(3) can have a determinant of either +1 or -1. The "S" in SO(3) stands for "Special", and it is indicative of the fact that elements of SO(3) are those elements of O(3) which have a determinant of +1 only.

 

subgroup of O(3). Group in the mathematical sense?

 

O(3) is the set of all 3x3 'orthogonal matrices' (reason for the letter O) under maxtrix mult.

 

Ok, so we are talking about a set of matrices.

 

O(3) is a set of matrices, a set of 3X3 matrices.

 

Additionally they have to be orthogonal. What's that mean again?

 

What makes a 3X3 matrix orthogonal?

 

S stands for special, ok...

 

So SO(3) is a subset of O(3).

 

Precisely, set SO(3) contains all the 3x3 orthogonal matrices of O(3) which have a determinant of +1, and only such matrices.

 

Followed you, and thank you so much Tom... again.

 

Kind regards

Link to comment
Share on other sites

subgroup of O(3). Group in the mathematical sense?

 

Yes.

 

Additionally they have to be orthogonal. What's that mean again?

 

What makes a 3X3 matrix orthogonal?

 

Orthogonal matricies have the property that RTR=RRT=I, where T stands for transpose and I stands for the identiy matrix.

Link to comment
Share on other sites

Group in the mathematical sense?

 

Yes.

 

Ok lets see if i remember the axioms of a group. Someone correct me if i am wrong, or incomplete in the answer.

 

Let X be a binary operation on a group.

Let A,B,C denote arbitrary elements of a group.

 

Axiom 1: Closure under the operation X.

Axiom 2: Operation X is associative. That is:

 

AX(BXC)=(AXB)XC

 

Hence usage of parenthesis are not necessary, since AXBXC is unambiguous.

 

Axiom 3: There is group element 1, such that:

 

1XA=A

 

Axiom 4: For any A, which is an element of a group, there is an element A* which is also an element of the group, such that:

 

AXA*=1

 

And if the operation X is commutative the group is Abelian.

 

---------------------------------------------------------------

Any errors in the above?

 

 

What does orthogonal mean again?

 

 

Orthogonal matricies have the property that RTR=RRT=I' date=' where T stands for transpose and I stands for the identiy matrix.[/quote']

 

Ok, a matrix R will be an orthogonal matrix, provide that matrix multiplication of it with its transpose, not only is commutive, but gives the product gives the identity matrix, and conversely.

 

Another way to think of it, is that if the transpose of a matrix is equivalent to its inverse, then the matrix is orthogonal, and conversely.

 

 

I know what the Identity matrix is, matrix with ones down the main diagonal, zeros everywhere else.

 

And the transpose, I need to recall this here...

 

 

You have to sort of rotate the matrix elements.

 

suppose

 

A = [3 4 7]

 

The transpose of matrix A, written AT, is the following column vector:

 

[3]

[4]

[7]

 

I wish latex was working.

 

 

Now, suppose that A is the following rows=m=2X3=n=columns matrix:

 

[3 4 7]

[6 2 9]

 

The transpose of matrix A is the following 3X2 matrix:

 

[3 6]

[4 2]

[7 9]

 

So element a11=3 of A is element a11 of A transpose.

Element a12=4 of A became element a21 of A transpose.

element a13=7 of A became element a31 of A transpose.

element a21 of A became element a12 of A transpose.

element a22 of A became element a22 of A transpose.

and element a23 of A became element a32 of A transpose.

 

So now I am wondering how to define the transpose of an arbitrary matrix A.

 

I could just cheat and use Wolfram.

 

Let A(MXN) stand for an arbitrary matrix with M rows, and N colums.

 

let 1< i <M

let 1< j <N

 

Let aij stand for an arbitrary element of the whole matrix A, where i gives the row the element is in, and j gives the column.

 

We are now in a position to be able to define the transpose of an arbitrary M by N matrix A, as follows:

 

aij of matrix A

 

is equal to

 

aji of matrix AT.

 

Hence, the transpose of A(MXN) is a new matrix B(NXM). In other words, the number of rows of A is the number of columns in A transpose, and the number of columns of A is the number of rows of A transpose.

 

Now, i have to recall more stuff.

 

det(A)

 

I already know the basic process, but to define it symbolically i need that cofactor stuff. Yes that's the word i was thinking of stuff.

 

 

SO(3) is the subset of elements A, of O(3), such that det(A)=+1.

Link to comment
Share on other sites

Question: What is so special about the elements of O(3) whose determinant is +1?

 

Mathematically they are special only in the sense that they are a special case of O(3). One could just as well regard as "special" the subgroup of O(3) whose determinants are -1.

 

Also' date=' what does SO(3) have to do with rotations?

[/quote']

 

The rotation matrices are members of SO(3). I don't recall if they are the only members, so someone else can answer that one. But a rotation matrix must be orthogonal because orthogonal matrices are norm-preserving. That is, the length of a vector does not change under an orthogonal transformation. Since rotations do not alter the norm of a vector, orthogonality is a necessary condition for rotation matrices. A further necessary condition is that the determinant has to be +1 instead of -1. If the determinant is -1 it turns out you do not get a continuous transformation, and continuity is als a necessary condtion for rotations. Elements A of O(3) with det(A)=-1 are used for discrete transformations, such as space inversion (parity).

Link to comment
Share on other sites

Mathematically they are special only in the sense that they are a special case of O(3). One could just as well regard as "special" the subgroup of O(3) whose determinants are -1.

 

 

 

The rotation matrices are members of SO(3). I don't recall if they are the only members' date=' so someone else can answer that one. But a rotation matrix must be orthogonal because orthogonal matrices are [i']norm-preserving[/i]. That is, the length of a vector does not change under an orthogonal transformation. Since rotations do not alter the norm of a vector, orthogonality is a necessary condition for rotation matrices. A further necessary condition is that the determinant has to be +1 instead of -1. If the determinant is -1 it turns out you do not get a continuous transformation, and continuity is als a necessary condtion for rotations. Elements A of O(3) with det(A)=-1 are used for discrete transformations, such as space inversion (parity).

 

Ok, thank you.

 

Can you show me a basic example of something, which forces me to use 90% of the ideas here?

 

PS: Just so you know, the reason I asked the question, is because I am trying to understand gyroscopes, precession, nutation, spin, roll, pitch, yaw, Euler angles, that kind of thing. In the process of trying to understand gyroscopic motion, I came across SO(3), and it seemed connected to most of the things i just listed, as well as something called quaternions, developed by William Rowan Hamilton. So I am trying to learn all these new things, just to understand how a gyroscope works.

 

If I could understand just this one thing, I would probably understand the whole of classical mechanics, at least that is how it is beginning to look to me. Another thing of possible interest, is that all of this seems related to the Sagnac effect, which Geistkiesel and Tom Swanson and I were discussing in some other thread. I now realize that mechanical gyroscopes can be replaced with optical ones, which are based upon the "Sagnac effect." And Dr. Swanson also mentioned, that the linear sagnac effect was somehow related to the Michelson Morely experiment.

 

So I can see some kind of synthesis that can happen, if I learn the right things. I expect to use linear algebra to understand the gyroscope, possibly quaternions, possibly Euler angles, and all of that stuff seems centered on SO(3).

Link to comment
Share on other sites

Can you show me a basic example of something' date=' which forces me to use 90% of the ideas here?

[/quote']

 

Yes: Rotate the vector v=<x,y,z> about the z-axis by an angle of 90 degrees. You would take the rotation matrix for the z-axis and plug in phi=90:

 

      [0  -1   0]
R[sub]z[/sub](90)=[1   0   0]
      [0   0   1]

 

You would find the rotated vector v' by multiplying Rz(90) and v, in that order.

 

If I could understand just this one thing, I would probably understand the whole of classical mechanics, at least that is how it is beginning to look to me.

 

Not likely, since rotations don't include translations, which also figure prominently in classical mechanics.

Link to comment
Share on other sites

Rotate the vector v=<x' date='y,z> about the z-axis by an angle of 90 degrees. You would take the rotation matrix for the z-axis and plug in phi=90:

 

      [0  -1   0]
R[sub]z[/sub](90)=[1   0   0]
      [0   0   1]

 

You would find the rotated vector [b']v[/b]' by multiplying Rz(90) and v, in that order.

 

Alright, this is a place to start.

 

Rotation Matrix

 

Rz ( F )

 

You start with a three dimensional rectangular coordinate system, and x axis, a y axis, and a z axis, meeting at the origin (0,0,0).

 

Let V(x,y,z)=<x,y,z>=xi+yj+zk denote an arbitrary position vector in the frame.

 

Now, we want to "rotate that vector about the z axis, by 90 degrees."

 

I'm not sure how to visualize this.

 

My question is how do you come up with the rotation matrix in the first place.

 

I don't see it just yet.

 

I understand the last part though.

 

Once I have Rz ( F ), i let phi =90 to get:

 

Rz ( 90 )

 

Which is the matrix you gave.

 

Then matrix multiplication gives the answer to the question.

 

Rz ( 90 ) V = answer

Link to comment
Share on other sites

My question is how do you come up with the rotation matrix in the first place.

 

Start by looking at a vector v=<x' date='y> in the xy-plane. Then rotate the axes by an angle A and see what the new components are. You should get:

 

[b']v[/b]'=<xcos(A)+ysin(A),-xsin(A)+ycos(A)>

 

You should be able to write the RHS of the above equation as a matrix times the original vector v. That matrix is:

 

[cos(A)  sin(A)]
[-sin(A)  cos(A)]

 

Now consider that what you have really done here is rotate the coordinate system about the z-axis. Recognizing that if our vector v had a z-component so that v=<x,y,z>, the z-component would clearly be unchanged. So we have:

 

     [cos(A)   sin(A)   0]
R[sub]z[/sub](A)=[-sin(A)   cos(A)  0]
     [0         0       1]

 

A similar analysis can be used to obtain Rx(A) and Ry(A).

Link to comment
Share on other sites

Start by looking at a vector v=<x' date='y> in the xy-plane. Then rotate the axes by an angle A and see what the new components are. You should get:

[/quote']

 

Ok this is all that I've read of your answer so far, and I'm just going to try and do this much without reading the answer yet.

 

Consider an arbitrary position vector in an XY plane.

 

It's tail is located at the origin (0,0), and the tip is at some arbitrary point in the plane, say (x,y).

 

There are many ways we can express this vector.

 

V=V(x,y) = <x,y>=xi+yj=xe1+ye2

 

There should be a little hat ^ over the einheitsvektors (sp?) but latex isn't working so boldface will have to do.

 

So we have an arbitrary vector, in an arbitrary plane to start off with.

 

Now, we want to be able to discuss, mathematically, a rotation of this vector in the plane, not a frame rotation, the vector is to rotate.

 

So we are going to have it rotate through an angle A.

 

So consider the circle, of radius |V| (magnitude of vector V), with center at the origin.

 

The distance from any point on the circumference of said circle, can be expressed in terms of the coordinates on the axes of the frame, by using the Pythagorean theorem.

 

Before the vector rotates, the following statement is true in the frame:

 

|V| = (x2+y2)1/2

 

Now, after the vector has rotated through the angle A, the statement above is false in the frame, but another statement which used to be false is now true, namely:

 

|V| = ((x2)2+(y2)2)1/2

 

Where

(x2, y2)

 

is the point in the frame, where the tip of the vector V is now, after being rotated through angle A.

 

I drew a little diagram, to help me out. At this point, I want formulas with A in them.

 

x2 =

y2 =

 

Ok I got stuck at this part for a little while, but i think i figured out. What I am going to do, is use the law of cosines. There will be a vector triangle.

 

One side of the vector triangle will be the initial vector, then you add the vector (whose magnitude is the length of a chord), and then you get the final position vector v`.

 

This way, I can write the final vector in terms of A, since by the law of cosines the square of the chord length C satisfies:

 

c^2 = R^2 +R^2 - 2R^2 cos(A)

 

where R=|V|=radius of the circle.

 

If this doesn't work, then I'm gonna need help on this part, but it should work. I don't know if I'll get Tom's answer but we'll see.

Link to comment
Share on other sites

Now' date=' we want to be able to discuss, mathematically, a rotation of this vector in the plane, not a frame rotation, the vector is to rotate.

 

I don't know if I'll get Tom's answer but we'll see.[/quote']

 

You will not get my answer because you are not solving the same problem. As I said my answer is for what happens when you rotate the frame, not the vector. If you rotate the vector instead of the frame then you will obtain an answer that is equivalent to replacing A by -A in my answer.

Link to comment
Share on other sites

You will not get my answer because you are not solving the same problem. As I said my answer is for what happens when you rotate the frame, not the vector.

 

Ok, I see that now. In your initial post, you said rotate the vector, and then later you said, rotate the axes.

 

they are not the same problem.

 

Moving this to the algebra forum since it has little to do with classical mechanics.

 

No problem Dave.

 

As I said my answer is for what happens when you rotate the frame, not the vector. If you rotate the vector instead of the frame then you will obtain an answer that is equivalent to replacing A by -A in my answer.

 

This is quite subtle Tom.

 

Ok I'm gonna draw a new diagram, and see if i can get your answer.

 

Start by looking at a vector v=<x' date='y> in the xy-plane. Then rotate the axes by an angle A and see what the new components are. You should get:

 

[b']v[/b]'=<xcos(A)+ysin(A),-xsin(A)+ycos(A)>

 

I have a question. Is A necessarily positive?

 

Orientation Methods

 

We have vector <x,y> in unprimed frame S.

 

The same vector is <x`,y`> in frame S`

 

Frame S` has the same origin as frame S, but is rotated slightly by angle A.

 

Now, if A=0, then S=S`, but it is not the case that A=0.

 

I made a drawing, and I have A = 30 degrees, and the vector V is in the first quadrant of S, at about 80 degrees to the x axis of S, and 50 degrees from the x` axis of S`.

Link to comment
Share on other sites

Whoops, I sure did change the problem from one post to the next, didn't I? The matrices I cited are in fact for rotating the axes counterclockwise by an angle A. If the angle is negative it means that you are rotating clockwise. Note that a counterclockwise rotation of the axes will give you the same answer as a clockwise rotation of the vector.

 

Gotta go.

Link to comment
Share on other sites

I found this, and was wondering about it. Id like to hear some thoughts on this.

 

Progammer lashes out at quaternions

 

From what I have gathered, a computer programmer, Diana Gruber, wrote an article about how terrible it is to use quaternion algebra to develop the rotation matrices. What made the whole thing notable, was because she works for some 3D gaming site, or something along those lines.

 

I read through her article, which was subsequently lambasted in the post at the link above, and in her article, she actually goes through extensive effort, using classical trignometry, to develop rotation formulae.

 

But, then I read the post at the link above, and the person there mentions SO(3), here:

 

 

Diana Gruber has written a very interesting article about Quaternions for the Gamedev site; if you haven't read it yet' date=' you can find it here. It's certainly worth reading as one person's perspective on the issue. Unfortunately, I also find it to be inaccurate (or at least misrepresentative) on several counts. Mrs. Gruber is welcome to her own opinions on whether quaternions are worthwhile for her own programming efforts, but at the same time obviously a lot of people _have_ implemented quaternion-based rotations for their graphics and physics engines, and physicists (not just mathematicians) have been actively using them since Hamilton discovered them (as the most convenient representation of the double cover of SO(3) by S^3, to put it in the most technical terms) so I think there's at least some empirical evidence that they _do_ indeed do something 'that couldn't be done more easily using more traditional mathematics', to use her phrase. But she's also wrong about some of the specifics; here's why I think so.

 

Firstly, Mrs. Gruber compares building a rotation from a quaternion to building a rotation from a rotation angle and an axis; I won't reproduce the formulas but you can get them from her article. Her implication is that building from a rotation angle is easier, but let's count. [/quote']

 

 

I'd like to have a look at the quaternion approach.

 

Anyone know it?

Link to comment
Share on other sites

Whoops' date=' I sure did change the problem from one post to the next, didn't I? The matrices I cited are in fact for rotating the [b']axes[/b] counterclockwise by an angle A. If the angle is negative it means that you are rotating clockwise. Note that a counterclockwise rotation of the axes will give you the same answer as a clockwise rotation of the vector.

 

 

Ok. "The matrices you cited are in fact for rotating the axes counterclockwise by an angle A." Hmmmm

Link to comment
Share on other sites

From what I have gathered' date=' a computer programmer, Diana Gruber, wrote an article about how terrible it is to use quaternion algebra to develop the rotation matrices.

 

I read through her article, which was subsequently lambasted in the post at the link above, and in her article, she actually goes through extensive effort, using classical trignometry, to develop rotation formulae.

[/quote']

 

Neither classical trigonometry nor quaternions is the way to go. The quickest, most direct route to the rotation matrices is to use complex exponentials. This is the case for 2 reasons:

 

1. Complex numbers in C1 can be represented as vectors that obey the same algebra as real vectors in R2.

2. Exponentials are easier to work with than trigonometric functions by several orders of magnitude.

 

That said let's develop our formula.

 

Let z=x+iy be a complex number with the usual vector representation. Its polar form is z=r exp(iB), where B is the angle the vector makes with the polar axis. Now rotate the vector clockwise (remember this is the same as rotating the axes counterclockwise) by an angle A. The new complex number is z'=r exp[i(B-A)]=r exp(iB)exp(-iA)=x'+iy'.

 

Now the question is: What are x' and y'? Noting that r exp(B)=x+iy, we have:

 

x'+iy'=(x+iy)[cos(A)-i sin(A)]

x'+iy'=[x cos(A)+y sin(A)]+i[-x sin(A)+y cos(A)]

 

or...

 

x'=x cos(A)+y sin(A)

y'=-x sin(A)+y cos(A)

 

And we're done.

Link to comment
Share on other sites

Neither classical trigonometry nor quaternions is the way to go. The quickest' date=' most direct route to the rotation matrices is to use complex exponentials. This is the case for 2 reasons:

 

1. Complex numbers in C[sup']1[/sup] can be represented as vectors that obey the same algebra as real vectors in R2.

2. Exponentials are easier to work with than trigonometric functions by several orders of magnitude.

 

That said let's develop our formula.

 

Let z=x+iy be a complex number with the usual vector representation. Its polar form is z=r exp(iB), where B is the angle the vector makes with the polar axis. Now rotate the vector clockwise (remember this is the same as rotating the axes counterclockwise) by an angle A. The new complex number is z'=r exp[i(B-A)]=r exp(iB)exp(-iA)=x'+iy'.

 

Now the question is: What are x' and y'? Noting that r exp(B)=x+iy, we have:

 

x'+iy'=(x+iy)[cos(A)-i sin(A)]

x'+iy'=[x cos(A)+y sin(A)]+i[-x sin(A)+y cos(A)]

 

or...

 

x'=x cos(A)+y sin(A)

y'=-x sin(A)+y cos(A)

 

And we're done.

 

Thanks Tom

 

PS: Rotating the axes isn't the same as rotating the vector, but I like what you did here. I'm also going to have a look at this quaternion thing, i think thats a goofy name but whatever, ummm in the thread above, with Diana Gruber and someone else having a semi-friendly discussion, eventually Diana quoted some formulas obtained by Gibbs, which i am going to have a look at, but from what I gathered, the main thing about Gibbs' approach was that he avoided using the square root of negative one. The thread was on the whole... very illuminating. Also, there was mention of Gimbal lock.

 

Regards

Link to comment
Share on other sites

The operations are indeed interchangable if you remember to negate the angle.

 

But there is a difference in the physics. But see i know you know that, as well as I do. Also, i began reading an article on Geometric algebra, that seems related somehow.

 

Kind regards

Link to comment
Share on other sites

What physics? We're talking math here.

 

Anyway your statement that the physics will be different is not true in general. Any closed system (that is any system that is not influenced by work, forces, or moments from external sources) is rotationally invariant, and hence rotating the system has no effect on the physics of that system. For these systems there is no difference between rotating the physical apparatus and rotating the axes we refer it to. This symmetry of rotational invariance is in fact what gives rise to conservation of angular momentum.

 

If your statement were true in general, and the physics of a system really did always depend on the angular orientation of that system, angular momentum would never be conserved.

Link to comment
Share on other sites

What physics? We're talking math here.

 

Anyway your statement that the physics will be different is not true in general. Any closed system (that is any system that is not influenced by work' date=' forces, or moments from external sources) is rotationally invariant, and hence rotating the system has no effect on the physics of that system.

[/quote']

 

I have a simple way to show you what i mean.

 

Suppose that you are standing on the moon, and you are looking straight ahead of you, and you see the sun off in the distance, but otherwise just moon horizon, and black sky.

 

Now, suppose that you have in your hand, a steel cross, to represent an x axis and a y axis, and suppose you are holding it out in front of you, so that the origin of it covers the sun.

 

You can still see the sun, because its too big to totally block, but you get the idea.

 

Now, think of the axes of this steel cross as vectors. The steel thing is finite, so your "vectors" have a finite length, they also have mass too, but ignore that, and electrical properties, but ignore all that too.

 

Now, the two axes of the steel cross currenly lie in one XY plane.

 

Now, i say, "rotate the steel cross 90 degrees" in the XY plane.

 

What do you do? Do you rotate it counterclockwise or clockwise?

 

Lets suppose you rotated it counterclockwise.

 

Ok so you can remember this.

 

YOu can remember the state of the universe, how it ended up. You were standing on the moon, looking right at the sun, and initially the x axis of an steel cross was parallel to the moon's horizon, and the y axis was perpendicular to the moon's horizon, then you rotated the steel cross 90 degrees counterclockwise and stopped.

 

In what was done here, i will say that "the vector was rotated"

 

Now, suppose that there is literally no gravity on this moon, so that if you release the steel cross, it will not fall to the moons surface, it will hover where it is in relation to your eye, and continue to block out the sun for the most part. Or if it does fall, let it do so imperceptibly slowly.

 

Now, instead of rotating the steel cross, rotate the frame.

 

Rotate the frame by 90 degrees.

 

Is the final state of the universe the same as before? Or something different?

 

When I say rotate the frame, I don't mean rotate the cross.

 

In other words, you are turned.

 

And you are turned in such a way that:

 

The x axis of the cross now appears vertical to you, and the y axis horizontal.

 

And if you want, let the moon have been rotated too, so that your feet are still on it.

 

There is a difference in the final state of things.

 

Because the cross wasn't touched, it's X axis still points to alpha centauri.

 

In the first case, when the steel cross was rotated, the x axis of the cross went from pointing at alpha centauri, to pointing to the constellation ursa minor.

 

This is the physical difference i was thinking of.

 

Regards

Link to comment
Share on other sites

Is the final state of the universe the same as before? Or something different?

 

But the state of the universe is not what is meant by "the physics" of the universe. That term refers to "the laws of physics", which determine the way in which physical states evolve in time. Obviously a rotation of a reference frame results in a different description of a physical state from the point of view of that frame. The point is that, as long as there is rotational invariance, the physics is unchanged after rotating the physical system by an angle A, and that this is no different than rotating the axes by an angle -A.

 

But none of this is about SO(3), which is what we were talking about.

 

To see that rotating the axes by an angle A is the same as rotating the vector by an angle -A all you have to do is show that the rotation matrices are identical (and they are).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.