Télécharger inver3.eso

Retour à la liste

Numérotation des lignes :

  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.  
  46.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales