C INVMAT SOURCE PV 20/09/26 21:17:28 10724 SUBROUTINE INVMAT(MAT,MATRIK,IRET) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) c ************************************** C * ROUTINE d inversion de MATRIK * C * Diagonale * C * MAT : MATRIK entree * C * MATRIK : MATRIK :sortie * C * MATRIK est la matrice inverse de * C * MAT sous forme matrice elementaire * C * est sous forme morse * C ************************************** -INC SMMATRIK POINTEUR MAT.MATRIK SEGACT MAT IF (MAT.IRIGEL(7,1).NE.5) THEN WRITE(6,*) 'Impossible d inverser une' WRITE(6,*) 'matrice non diagonale' IRET=1 RETURN END IF SEGDES MAT CALL MCOPY(MAT,MATRIK) SEGACT MATRIK*MOD IMATRI=IRIGEL(4,1) SEGACT IMATRI NBSOUS=LIZAFM(/1) NBME=LIZAFM(/2) DO I=1,NBSOUS DO J=1,NBME IZAFM=LIZAFM(I,J) SEGACT IZAFM*MOD NBEL=AM(/1) DO K=1,NBEL AM(K,1,1)=1/AM(K,1,1) END DO SEGDES IZAFM END DO END DO SEGDES IMATRI SEGDES MATRIK END