I recently got confused by the Euler matrices (the rotation matrices about the Euler angles) given by Mathematica. They seem inconsistent with the reference I found.

So I am referring to Arfken, 7th. From page 140-141 we find, enter image description here

We can see that by default Mathematica define the Euler matrices the same way as Arfken did: rotate the $x_3$ first then the $x_2'$ then the $x_3''$ again -- the (3,2,3) way in Mathematica. And both are rotated counterclockwise.

So when I put EulerMatrix[{$\alpha$, 0, 0},{3,2,3}] in Mathematica, I support to get the matrix $R_z(\alpha)$ in Arfken. And EulerMatrix[{0, $\beta$, 0},{3,2,3}] for $R_y(\beta)$, etc. But not, in Mathematica 11.0 I got: enter image description here

So Mathematica gives the inverse matrices of those defined by Arfken. I am confident to the Arfken's results and can solve problems with them. But somehow Mathematica seems define the Euler matrices or rotation matrices in a different way. So if you want to use those rotation matrices in Mathematica, you end up with the opposite rotation as you expected from Arfken's rotation matrices. Does anyone have a idea about this?

  • $\begingroup$ So basically Mathematica treats all the rotation transformation as active transformation while Arfken and maybe other math books define the Euler matrices as passive transformations. That's why we have inverse results here. $\endgroup$
    – Andrew
    Commented Sep 11, 2017 at 17:18
  • 3
    $\begingroup$ In either case, I would email [email protected] and tell them about your confusion. The documentation can always be improved and (I think) feedback helps make that happen. $\endgroup$
    – chuy
    Commented Sep 11, 2017 at 17:19
  • $\begingroup$ FWIW: if you post-multiply a vector with these matrices, you'd get the effect expected in Arfken and other refs. $\endgroup$ Commented Sep 11, 2017 at 18:23

1 Answer 1


Rotation matrices in Mathematica are transposed as compared to the most common convention. In MMA, use post-multiplication of a matrix with a vector to rotate the vector. First the matrix, then the vector. The common convention is to pre-multiply the vector with the matrix.

This is documented: documentation link. See under Details.

  • 1
    $\begingroup$ To use a very simple example: RotationMatrix[θ].{x, y} rotates {x, y} by θ anticlockwise, while {x, y}.RotationMatrix[θ] rotates {x, y} by θ clockwise, for positive θ. (The reverse happens for negative θ.) $\endgroup$ Commented Sep 12, 2017 at 18:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.