SLA_IMXV

Apply 3D Reverse Rotation

ACTION:
Multiply a 3-vector by the inverse of a rotation matrix (single precision).
CALL:
CALL sla_IMXV (RM, VA, VB)
GIVEN:
 RM R(3,3) rotation matrix VA R(3) vector to be rotated

RETURNED:
 VB R(3) result vector

NOTES:
(1)
This routine performs the operation:

b = M${}^{T}\cdot$a

where a and b are the 3-vectors VA and VB respectively, and M is the $3×3$ matrix RM.
(2)
The main function of this routine is apply an inverse rotation; under these circumstances, M is orthogonal, with its inverse the same as its transpose.
(3)
To comply with the ANSI Fortran 77 standard, VA and VB must not be the same array. The routine is, in fact, coded so as to work properly on the VAX and many other systems even if this rule is violated, something that is not, however, recommended.