C CUBROT    SOURCE    CHAT      07/10/22    21:15:36     5921
      SUBROUTINE CUBROT(X,RR)
      implicit real*8(A-H,O-Z)
      implicit integer (I-N)


*      SUBROUTINE CUBEROT(X,RR)
*
*
*      IMPLICIT NONE
*
*
* ---   VARIABLES GLOBALES
*
*      REAL *8 X(24)
*
*      REAL *8 RR(3,3)
       dimension X(24),RR(3,3)
*
*
* ---   VARIABLES LOCALES
*
*      REAL *8 AUX,AA
*
*
      DIMENSION VB(8,3)
      DATA VB/-1.D0, 1.D0, 1.D0,-1.D0,-1.D0, 1.D0, 1.D0,-1.D0,
     &        -1.D0,-1.D0, 1.D0, 1.D0,-1.D0,-1.D0, 1.D0, 1.D0,
     &        -1.D0,-1.D0,-1.D0,-1.D0, 1.D0, 1.D0, 1.D0, 1.D0/
*
      RR(1,1)= - X(1)  +  X(4)  +  X(7)  -   X(10)
     &                  - X(13) +  X(16) +  X(19) -   X(22)
      RR(1,2)= - X(2)  +  X(5)  +  X(8)  -   X(11)
     &                  - X(14) +  X(17) +  X(20) -   X(23)
      RR(1,3)= - X(3)  +  X(6)  +  X(9)  -   X(12)
     &                  - X(15) +  X(18) +  X(21) -   X(24)
*
      RR(2,1)= - X(1)  -  X(4)  +  X(7)  +   X(10)
     &                  - X(13) -  X(16) +  X(19) +  X(22)
      RR(2,2)= - X(2)  -  X(5)  +  X(8)  +   X(11)
     &                  - X(14) -  X(17) +  X(20) +  X(23)
      RR(2,3)= - X(3)  -  X(6)  +  X(9)  +   X(12)
     &                  - X(15) -  X(18) +  X(21) +  X(24)
*
      AUX= RR(1,1)*RR(1,1)+RR(1,2)*RR(1,2)+RR(1,3)*RR(1,3)
      AA = RR(1,1)*RR(2,1)+RR(1,2)*RR(2,2)+RR(1,3)*RR(2,3)
      AA = -(AA/AUX)
*
      RR(2,1)= RR(2,1) + AA*RR(1,1)
      RR(2,2)= RR(2,2) + AA*RR(1,2)
      RR(2,3)= RR(2,3) + AA*RR(1,3)
*
      RR(3,1)= RR(1,2)*RR(2,3) - RR(1,3)*RR(2,2)
      RR(3,2)= RR(1,3)*RR(2,1) - RR(1,1)*RR(2,3)
      RR(3,3)= RR(1,1)*RR(2,2) - RR(1,2)*RR(2,1)
*
      AUX = SQRT(AUX)
      RR(1,1)= RR(1,1)/AUX
      RR(1,2)= RR(1,2)/AUX
      RR(1,3)= RR(1,3)/AUX
*
      AUX = SQRT(RR(2,1)*RR(2,1)+RR(2,2)*RR(2,2)+RR(2,3)*RR(2,3))
      RR(2,1)= RR(2,1)/AUX
      RR(2,2)= RR(2,2)/AUX
      RR(2,3)= RR(2,3)/AUX
*
      AUX = SQRT(RR(3,1)*RR(3,1)+RR(3,2)*RR(3,2)+RR(3,3)*RR(3,3))
      RR(3,1)= RR(3,1)/AUX
      RR(3,2)= RR(3,2)/AUX
      RR(3,3)= RR(3,3)/AUX
*
*
      RETURN
      END


