Files
sics/difrac/sgmtml.f
2000-02-18 15:54:23 +00:00

24 lines
914 B
Fortran

C-----------------------------------------------------------------------
C 4*4 matrix multiply for the space group routine
C-----------------------------------------------------------------------
SUBROUTINE SGMTML (X,I,Y,J,Z,K)
DIMENSION X(5,4,24),Y(5,4,24),Z(5,4,24)
DO 100 L = 1,4
DO 100 M = 1,4
Z(L,M,K) = 0.0
DO 100 N = 1,4
Z(L,M,K) = Z(L,M,K) + Y(L,N,J)*X(N,M,I)
100 CONTINUE
Z(1,4,K) = AMOD(5.0 + Z(1,4,K),1.0)
Z(2,4,K) = AMOD(5.0 + Z(2,4,K),1.0)
Z(3,4,K) = AMOD(5.0 + Z(3,4,K),1.0)
Z(5,1,K) = 81*(2*Z(1,1,K) + 3*Z(1,2,K) + 4*Z(1,3,K)) +
$ 9*(2*Z(2,1,K) + 3*Z(2,2,K) + 4*Z(2,3,K)) +
$ 2*Z(3,1,K) + 3*Z(3,2,K) + 4*Z(3,3,K)
Z(5,2,K) = 1728*Z(1,4,K) + 144*Z(2,4,K) + 12*Z(3,4,K)
Z(5,3,K) = 0.0
Z(5,4,K) = 0.0
CONTINUE
RETURN
END