1 : C INVER3 SOURCE CHAT 05/01/13 00:42:42 5004 2 : C INVER3 SOURCE INSL 24/10/96 3 : SUBROUTINE INVER3(A,B) 4 : C 5 : IMPLICIT INTEGER(I-N) 6 : IMPLICIT REAL*8 (A-H,O-Z) 7 : DIMENSION A(3,3),B(3,3) 8 : C 9 : C INVERSION MANUELLE D UNE MATRICE 3X3 10 : C (A)**-1=(B) 11 : C 12 : PREC=1.D-8 13 : C CALCUL DU DETERMINANT 14 : DELTA=A(1,1)*A(2,2)*A(3,3)+A(1,2)*A(2,3)*A(3,1)+ 15 : A A(2,1)*A(3,2)*A(1,3)-A(3,1)*A(2,2)*A(1,3)- 16 : B A(2,1)*A(1,2)*A(3,3)-A(3,2)*A(2,3)*A(1,1) 17 : IF(DELTA .GT. -PREC .AND. DELTA .LT. PREC) THEN 18 : WRITE(*,*) ' ** ERREUR ** DETERMINANT NUL',DELTA 19 : STOP 20 : ELSE 21 : B(1,1)= (A(2,2)*A(3,3)-A(3,2)*A(2,3))/DELTA 22 : B(2,1)=-(A(1,2)*A(3,3)-A(3,2)*A(1,3))/DELTA 23 : B(3,1)= (A(1,2)*A(2,3)-A(2,2)*A(1,3))/DELTA 24 : B(1,2)=-(A(2,1)*A(3,3)-A(3,1)*A(2,3))/DELTA 25 : B(2,2)= (A(1,1)*A(3,3)-A(3,1)*A(1,3))/DELTA 26 : B(3,2)=-(A(1,1)*A(2,3)-A(2,1)*A(1,3))/DELTA 27 : B(1,3)= (A(2,1)*A(3,2)-A(3,1)*A(2,2))/DELTA 28 : B(2,3)=-(A(1,1)*A(3,2)-A(3,1)*A(1,2))/DELTA 29 : B(3,3)= (A(1,1)*A(2,2)-A(2,1)*A(1,2))/DELTA 30 : C TRANSPOSONS 31 : T=B(1,2) 32 : B(1,2)=B(2,1) 33 : B(2,1)=T 34 : T=B(1,3) 35 : B(1,3)=B(3,1) 36 : B(3,1)=T 37 : T=B(2,3) 38 : B(2,3)=B(3,2) 39 : B(3,2)=T 40 : ENDIF 41 : RETURN 42 : END 43 : 44 : 45 :
© Cast3M 2003 - All rights reserved.
Disclaimer