<< Chapter < Page Chapter >> Page >

Where V and W T are the matrices of left and right eigenvectors, respectively, of the covariance matrix C X Y T . This formula ensures that U is orthonormal (the reader should carry out the high-level matrix multiplication and verify this fact).

The only remaining detail to take care of is to make sure that U is a proper rotation, as discussed before. It could indeed happen that det(U)=-1 if its rows/columns do not make up a right-handed system. When this happens, we need to compromise between two goals: maximizing Tr( Y T X' ) and respecting the constraint that det(U)=+1 . Therefore, we need to settle for the second largest value of Tr( Y T X' ) . It is easy to see what the second largest value is; since:

then the second largest value occurs when T 11 T 22 +1 and T 33 -1 . Now, we have that T cannot be the identity matrix as before, but instead it has the lower-right corner set to -1. Now we finally have a unified way to represent the solution. If det(C)>0 , T is the identity; otherwise, it has a -1 as its last element. Finally, these facts can be expressed in a single formula for the optimal rotation U by stating:

where d sign(det(C)) . In the light of the preceding derivation, all the facts that have been presented as a proof can be succinctly put as an algorithm for computing the optimal rotation to align two data sets x and y :

    Optimal rotation

  • Build the 3xN matrices X and Y containing, for the sets x and y respectively, the coordinates for each of the N atoms after centering the atoms by subtracting the centroids.
  • Compute the covariance matrix C X Y T
  • Compute the SVD (Singular Value Decomposition) of C V S W T
  • Compute d sign(det(C))
  • Compute the optimal rotation U as

Optimal alignment for lrmsd using quaternions

Another way of solving the optimal rotation for the purposes of computing the lRMSD between two conformations is to use quaternions . These provide a very compact way of representing rotations (only 4 numbers as compared to 9 or 16 for a rotation matrix) and are extremely easy to normalize after performing operations on them. Next, a general introduction to quaternions is given, and then they will be used to compute the optimal rotation between two point sets.

Introduction to quaternions

Quaternions are an extension of complex numbers. Recall that complex numbers are numbers of the form a + bi, where a and b are real numbers and i is the canonical imaginary number, equal to the square root of -1. Quaternions add two more imaginary numbers, j and k. These numbers are related by the set of equalities in the following figure:

Equation relating the imaginary elements i, j and k

Properties of quaternion arithmetic follow directly from these equalities.
These equalities give rise to some unusual properties, especially with respect to multiplication.

Multiplication table for the imaginary elements i, j and k

Note that multiplication of i, j, and k is anti-commutative .

Given this definition of i, j, and k, we can now define a quaternion.

Definition of a quaternion

A quaternion is a number of the above form, where a, b, c, and d are real-valued scalars and i, j, and k are imaginary numbers as defined above.
Based on the definitions of i, j and k, we can also derive rules for addition and multiplication of quaternions. Assume we have two quaternions, p and q, defined as follows:

Quaternions p and q

Definition of quaternions p and q for later use.
Addition of p and q is fairly intuitive:

Addition of quaternions p and q

Quaternion addition closely resembles vector addition. Corresponding coefficients are added to yield the sum quaternion. This operation is associative and commutative.
The dot product and magnitude of a quaternion also closely resemble those operations for vectors. Note that a unit quaternion is a quaternion with magnitude 1 under this definition:

Dot (inner) product of p and q

The dot product of quaternions is analogous to the dot product of vectors.

Magnitude of quaternion p

As with vectors, the square of the magnitude of p is the dot product of p with itself.
Multiplication, however, is not, due to the definitions of i, j, and k:

Multiplication of quaternions p and q

This result can be confirmed by carrying out long multiplication of p and q. There is no analog in vector arithmetic for quaternion multiplication.
Quaternion multiplication also has two equivalent matrix forms which will become relevant later in the derivation of the alignment method:

Multiplication of quaternions p and q, matrix forms

Note that quaternions can be represented as column vectors with the imaginary components omitted. This allows vector notation to be used for many quaternion operations, including multiplication. The quaternion a + bi + cj + dk, for example, may be represented by a column vector of the form [a, b, c, d].
These useful properties of quaternion multiplication can be derived easily using the matrix form for multiplication, or they can be proved by carrying out the products:

Some properties of quaternion multiplication

Some useful properties. q* is the quaternion conjugate, a-bi-cj-dk

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Geometric methods in structural computational biology. OpenStax CNX. Jun 11, 2007 Download for free at http://cnx.org/content/col10344/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Geometric methods in structural computational biology' conversation and receive update notifications?

Ask