We use four ways of expressing an attitude:
We have routines that let you flow freely between these different represenations. The basic routines do actual math, others just call the basic routines in a certain order. Here is a table that shows how we do the transformations.
Attitude Matrix  Quaternion  Euler Axis  Euler Angles  

Attitude Matrix 


A > E axis 1211 
129 1210 
E14 
Quaternion  1213b 


Q > A A > E axis 
Q > A A > E angles 
Euler Axis  127b  1211 (E7a) 


E axis > A A > E angles 
Euler Angles  1220  E10  E angles > A A > E axis 


How to use this table: the row indicates where you are, the columns where you want to be.
For example, the routine that converts quaternions into Euler angles (row 2 column 4) first converts the quaternion into an attitude matrix, and that into Euler angles. That particular routine does no math.
When converting an attitude matrix into an Euler axis representation, the table (row 1 column 3) shows that Wertz Equations 129 and 1210 are evaluated (i.e. the math is done here, no other routines called).