1 : C INVALM SOURCE CHAT 05/01/13 00:42:15 5004 2 : SUBROUTINE INVALM(D,LL,MM,KERRE,PREC) 3 : C 4 : C INVERSION D UNE MATRICE MM,MM CONTENUE DS UNE MATRICE LL,LL 5 : C CETTE MATRICE EST DANS LE COIN SUPERIEUR GAUCHE 6 : C 7 : IMPLICIT INTEGER(I-N) 8 : IMPLICIT REAL*8(A-H,O-Z) 9 : DIMENSION D(1) 10 : C 11 : KERRE=0 12 : DO 200 N=1,MM 13 : NN=LL*(N-1)+N 14 : DIAG=D(NN) 15 : IF(ABS(DIAG).LE.PREC) THEN 16 : KERRE=49 17 : RETURN 18 : ENDIF 19 : DIAG=1./DIAG 20 : DO 100 J=1,MM 21 : NJ=LL*(N-1)+J 22 : 100 D(NJ)=-D(NJ)*DIAG 23 : DO 150 I=1,MM 24 : IN=LL*(I-1)+N 25 : IF(I.EQ.N) GO TO 150 26 : DO 140 J=1,MM 27 : IF(J.EQ.N) GO TO 140 28 : NJ=LL*(N-1)+J 29 : IJ=LL*(I-1)+J 30 : D(IJ)=D(IJ)+D(IN)*D(NJ) 31 : 140 CONTINUE 32 : 150 D(IN)=D(IN)*DIAG 33 : 200 D(NN)=DIAG 34 : RETURN 35 : END 36 :
© Cast3M 2003 - All rights reserved.
Disclaimer