23 November 2008 - 19:19SO(3) Rotation on Matrix Exponential Form

The derivation of the matrix for a general rotation in three dimensional Euclidean space is often encountered in strange forms. This is sometimes a bit puzzling until you have found your own way around it. In this post, I will not derive the expression, but show how the useful matrix exponential of the SO(3) generators is in fact producing a rotation about an arbitrary axis through some angle. [Note: SO(3) is the group of 3x3 orthogonal matrices with unit determinant].

Let the rotation matrix about an arbitrary rotation axis through an angle be denoted . The matrix satisfies and we can therefore pick and let be arbitrary. This way any double covering is avoided.

The infinitesimal generators of the SO(3) group is can be written as:

; ;

Which for example can be obtained by considering the generators of SO(2) (which is far more easier obtained if you are starting from scratch) and generalize them to three dimension. Note that you can form Hermitian matrices by defining . The generators satisfy the Lie algebra , where is the Levi-Civita symbol.

Consider the matrix , where the repeated index i is to be summed over. Now, since the generators are antisymmetric we can write: for some matrix . This is a general result from linear algebra, that any antisymmetric matrix can be decomposed like this (c.f. http://en.wikipedia.org/wiki/Antisymmetric_matrix). Hence,

The neat thing is that the exponential matrix containing is easy to evaluate. In fact, we probably already know the answer from the derivation of the generators in the first place.

This matrix is the well known matrix which produces rotations about the z-axis. The matrix can be expressed in terms of the generator by realizing that , where is the identity matrix:

Putting this result into the relation:



Which is the expression for a general rotation in three dimensional Euclidean space! Oh, that was easy to show, if you knew all the right algebra! Cheers.

No Comments | Tags: Mathematics

16 November 2008 - 18:37Result from Group Theory

In group theory Lagrange’s theorem is one of the most important in the theory of finite groups.

Theorem 2.6 (Lagrange’s theorem) The order of a subgroup H of a finite group G is a divisor of the order of G, i.e. |H| divides |G|.

One evident, but funny, implication of the theorem is in the answer of the following question: List all of the subgroups of any group whose order is a prime number.

Solution: According to Lagrange’s theorem, the order of a subgroup H of a group G must be a divisor of |G|. Since the divisors of a prime number are only the number itself and unity, the subgroups of a group of prime order must be either the unit element alone, H = {e}, or the group G itself, H = G, both of which are improper subgroups. Therefore, a group of prime order has no proper subgroups.

No Comments | Tags: Mathematics

8 December 2007 - 15:19The Inverse Function Theorem

I was working on methods for determining the inverse of a specific function. Namely, a two dimensional bijective vector function of the following kind:

In the particular problem the function is sampled on a regular grid so only a discrete map is available. It is therefore tempting to find the inverse by simply exchanging the arguments:

The problem with this naive approach is that the inverse function will properly not be represented on a regular grid and even if the function is bijective in its continuous representation the discrete sampling does not have to be so. Finally, neighbors in the discrete representation of the function does not have to be neighbors in the inverse representation, because the function is not necessarily conformal (does not preserve angles). This essentially means that if you want the inverse function represented on a regular grid you will have to do some linear interpolation between the non-regular grid points, which you do not know the neighbors of. It is therefore difficult and computational expensive to reach good results on a regular grid! (I have tried this by using a BFS algorithm to locate the neighbors and then a bresenhams rasterization algorithm in order to compute the linear interpolation at the regular grid points.)

Instead I turned to another method which would completely neglect these problems! Namely, exploiting the inverse function theorem. You might have encountered this theorem in its one dimensional version.

Let f: I->R be a monotonic function, which is differentiable in the interval I with f’(X) ≠ 0 for all x in I. The inverse function f^-1: J -> R is then differentiable and for all y in J the following holds:

In my application I need the generalized version to include the nature of higher dimensions

The Inverse Function Theorem
Let f: R^n -> R^n be continuously differentiable on some open set containing a, and suppose det(Jf(a))≠0 (J being the Jacobian). Then there is some open set V containing a and an open W containing f(a) such that f: V -> W has a continuous inverse f^-1: W -> V which is differentiable for all y in W.

In matrix representation this can be expressed as:

where J denotes the Jacobian.

Using this magnificent theorem it is possible to find the inverse function by simply solving the differential equation. In practice this can be done numerically using various methods (for example using Runge-Kutta methods).

For the specific case of two dimensions one will obtain two pairs of equations for which one will need to solve only one of the pair’s equations simultaneously. This means that it is possible to solve independently in either the x direction or the y direction. The two pairs of equations takes the form:


or


where

The inverse function can then be obtained on a regular grid and the only worry is whether the determinant of the Jacobian of the function is zero, because then the approach breaks down!

Useful Links
http://en.wikipedia.org/wiki/Inverse_function
http://en.wikipedia.org/wiki/Runge_kutta
http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm

No Comments | Tags: Mathematics