Download kpinv3.eso

Back to the list

   1 : C KPINV3    SOURCE    CHAT      05/01/13    01:04:23     5004           
   2 :       SUBROUTINE  KPINV3(A,D)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 :       DIMENSION A(3,3),D(3,3)
   6 : C
   7 : C     calcul de D=A-1
   8 : C
   9 : C     Y1 A11 + Y2 A12 + Y3 A13 = B1
  10 : C     Y1 A21 + Y2 A22 + Y3 A23 = B2
  11 : C     Y1 A31 + Y2 A32 + Y3 A33 = B3
  12 : C
  13 :       A11 = A(1,1)
  14 :       A12 = A(1,2)
  15 :       A13 = A(1,3)
  16 :       A21 = A(2,1)
  17 :       A22 = A(2,2)
  18 :       A23 = A(2,3)
  19 :       A31 = A(3,1)
  20 :       A32 = A(3,2)
  21 :       A33 = A(3,3)
  22 : 
  23 :       DELTA= (A11*A22*A33 + A21*A32*A13 + A31*A12*A23)
  24 :      &      -(A31*A22*A13 + A21*A12*A33 + A11*A32*A23)
  25 :       DDD=DABS(DELTA)
  26 :       IF(DDD.LT.1D-20) THEN
  27 :        WRITE(6,*) '>PINV3 : matrice singuliere'
  27 :        CALL ARRET(0)
  28 :        RETURN
  29 :       ELSE
  30 : 
  31 :        D(1,1) = (A22*A33-A32*A23)/DELTA
  32 :        D(2,1) = (A31*A23-A21*A33)/DELTA
  33 :        D(3,1) = (A21*A32-A31*A22)/DELTA
  34 : 
  35 :        D(1,2) = (A32*A13-A12*A33)/DELTA
  36 :        D(2,2) = (A11*A33-A31*A13)/DELTA
  37 :        D(3,2) = (A31*A12-A11*A32)/DELTA
  38 : 
  39 :        D(1,3) = (A12*A23-A22*A13)/DELTA
  40 :        D(2,3) = (A21*A13-A11*A23)/DELTA
  41 :        D(3,3) = (A11*A22-A21*A12)/DELTA
  42 : 
  43 :       ENDIF
  44 :       RETURN
  45 :       END
  46 :  
  47 :  

© Cast3M 2003 - All rights reserved.
Disclaimer