22 integer,
intent(in) :: a(3,3)
23 integer,
intent(out) :: b(3,3)
26 m=a(1,1)*(a(2,2)*a(3,3)-a(3,2)*a(2,3)) &
27 +a(2,1)*(a(3,2)*a(1,3)-a(1,2)*a(3,3)) &
28 +a(3,1)*(a(1,2)*a(2,3)-a(2,2)*a(1,3))
29 if ((m /= 1).and.(m /= -1))
then 31 write(*,
'("Error(i3minv): cannot invert matrix")')
32 write(*,
'(" Determinant : ",I8)') m
36 b(1,1)=m*(a(2,2)*a(3,3)-a(2,3)*a(3,2))
37 b(2,1)=m*(a(2,3)*a(3,1)-a(2,1)*a(3,3))
38 b(3,1)=m*(a(2,1)*a(3,2)-a(2,2)*a(3,1))
39 b(1,2)=m*(a(1,3)*a(3,2)-a(1,2)*a(3,3))
40 b(2,2)=m*(a(1,1)*a(3,3)-a(1,3)*a(3,1))
41 b(3,2)=m*(a(1,2)*a(3,1)-a(1,1)*a(3,2))
42 b(1,3)=m*(a(1,2)*a(2,3)-a(1,3)*a(2,2))
43 b(2,3)=m*(a(1,3)*a(2,1)-a(1,1)*a(2,3))
44 b(3,3)=m*(a(1,1)*a(2,2)-a(1,2)*a(2,1))