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