C INVALM SOURCE CHAT 05/01/13 00:42:15 5004 SUBROUTINE INVALM(D,LL,MM,KERRE,PREC) C C INVERSION D UNE MATRICE MM,MM CONTENUE DS UNE MATRICE LL,LL C CETTE MATRICE EST DANS LE COIN SUPERIEUR GAUCHE C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION D(1) C KERRE=0 DO 200 N=1,MM NN=LL*(N-1)+N DIAG=D(NN) IF(ABS(DIAG).LE.PREC) THEN KERRE=49 RETURN ENDIF DIAG=1./DIAG DO 100 J=1,MM NJ=LL*(N-1)+J 100 D(NJ)=-D(NJ)*DIAG DO 150 I=1,MM IN=LL*(I-1)+N IF(I.EQ.N) GO TO 150 DO 140 J=1,MM IF(J.EQ.N) GO TO 140 NJ=LL*(N-1)+J IJ=LL*(I-1)+J D(IJ)=D(IJ)+D(IN)*D(NJ) 140 CONTINUE 150 D(IN)=D(IN)*DIAG 200 D(NN)=DIAG RETURN END