1 SUBROUTINE INV3X3(A,B,IERR) 2C 3C Inversion matrice 3 x 3 4C 5 DIMENSION A(3,3),B(3,3) 6C 7 DET = A(1,1)*A(2,2)*A(3,3) + A(1,2)*A(2,3)*A(3,1) 8 1 + A(1,3)*A(3,2)*A(2,1) - A(1,3)*A(2,2)*A(3,1) 9 2 - A(1,2)*A(2,1)*A(3,3) - A(1,1)*A(2,3)*A(3,2) 10 IF (DET.EQ.0.) THEN 11cc PRINT*,'MATRICE NON INVERSIBLE' 12cc STOP 13 IERR = 1 14 RETURN 15 ELSE 16 IF (ABS(DET).LT.1.E-05) THEN 17 IERR = -1 18 ELSE 19 IERR = 0 20 ENDIF 21 USDET = 1./DET 22 ENDIF 23C 24 B(1,1) = ( A(2,2)*A(3,3) - A(2,3)*A(3,2) ) * USDET 25 B(1,2) = ( A(1,3)*A(3,2) - A(1,2)*A(3,3) ) * USDET 26 B(1,3) = ( A(1,2)*A(2,3) - A(2,2)*A(1,3) ) * USDET 27 B(2,1) =-( A(2,1)*A(3,3) - A(2,3)*A(3,1) ) * USDET 28 B(2,2) = ( A(1,1)*A(3,3) - A(1,3)*A(3,1) ) * USDET 29 B(2,3) =-( A(1,1)*A(2,3) - A(1,3)*A(2,1) ) * USDET 30 B(3,1) = ( A(2,1)*A(3,2) - A(2,2)*A(3,1) ) * USDET 31 B(3,2) =-( A(1,1)*A(3,2) - A(1,2)*A(3,1) ) * USDET 32 B(3,3) = ( A(2,2)*A(1,1) - A(2,1)*A(1,2) ) * USDET 33C 34 END 35 36