CS 221 -- Some properties of
rotations:
Let the rotation matrix be U. U is a 3x3 matrix that transforms a vector (rank 3) into another vector of rank 3 (say Ua = b ). U is special since it preserves the distance between any two vectors, i.e. ||a1 - a2|| = ||Ua1 - Ua2|| = ||b1 - b2|| with no inversion. Alternatively we may require that U tU = I and det(U) = 1.
Every 3D rotation can be
described as 2D rotations with three angles. Another option is to use a
rotation around a single axis (to be determined). Two angles determines the
direction of the axis and the last angle is a rotation around that axis
A vector along the rotation
axis – eR will not be affected by applying U on it. Hence we have UeR =
eR. The rotation axis is
an eigenvector of U with
eigenvalue 1.
Here is a simple MATLAB
example:
Type in -
% find rotation axis
u = [0 1 0 ; -1 0 0 ; 0 0 1]
[v,d] = eig(u);
v
d
output
u =
0
1 0
-1
0 0
0
0 1
v =
0.7071 0.7071 0
0 + 0.7071i 0 - 0.7071i
0
0 0
1.0000
d =
0 + 1.0000i 0
0
0
0 - 1.0000i 0
0 0
1.0000
Our prime problem here is the
determination of U such that the
distance between two protein shapes will be minimal. Each of the Ca
-s in a protein has a three-dimensional vector (
rn - components x, y, and z) that determines its location in space. The distance (square) between two proteins
with the same number of amino acids is:
with the constraints U
tU = I and det(U)
= 1.
Here we shall not produce a
detailed proof of the final result (if interested in a proof check W. Kabsch,
Acta Crys. A32,922-923(1976) and A34,8270838(1978)) but will give the final
results and “qualitative rationale”.
We wish to find U that
minimizes D. To do that we
differentiate D with respect to
one of the U elements, say uij and set the result to zero.

Is the solution U =
RS-1? NO! This solution does not satisfy (in
general) the conditions for a rotation matrix. So this is a place in which we
are not precise. It is necessary to build the constraints into the optimization
problem.
Note that R is an asymmetric matrix while S is a
symmetric matrix. Because R is
asymmetric, it has left and right eigenvectors. That is we have
where mi is the eigenvalue and ai and ai are the right and left eigenvectors respectively.
Note that for this matrix equation the sign of the eigenvalue cannot be
determined uniquely.
Consider the product R
tR: it is a symmetric matrix. Since U
tU = I, the product is equal S tS. Assuming
that the matrix is not degenerate, the eigenvector of S is the same as of S t (S is
symmetric); then the eigenvector of S is the same as the right eigenvector of
R.
Consider further (US
-
R)ai = (miUai
-
bimi) =
0. Hence
U rotates the vector ai to the vector bi. More explicitly (in aik , the i is
the vector component and the k is the Cartesian index) which defines for our
purposes the rotation matrix (up to the det(U ) condition)

To compute D it is not
necessary to compute U

If the determinant of U is negative, sk (k is the index
of the smallest eigenvalue) is –1
Otherwise it is one.