C PIVLI     SOURCE    CB215821  16/04/21    21:17:57     8920
      SUBROUTINE PIVLI(A,B,M,L,LU)
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION A(M,M),B(M)
C
C TEST de consistance numérique
C
      DO 125 I=1,LU
      DO 126 K=1,LU
C
      IF (ABS(A(I,K)).LE.1.E-6) THEN
      A(I,K)=1.E-6
      ENDIF
      CONTINUE
      IF (ABS(B(I)).LE.1.E-6) THEN
      B(I)=1.E-6
      ENDIF
C
 126  CONTINUE
 125  CONTINUE
C
      SUP=ABS(A(L,L))
      NUM=L
      EF=1.E-10
C
      DO 30 I=L+1,LU
C
      IF (ABS(A(I,L)).GT.SUP) THEN
      SUP=ABS(A(I,L))
      NUM=I
      ENDIF
C
   30 CONTINUE
C
       IF (SUP.LT.EF) THEN
C      PRINT*
C      PRINT*, 'IL N EXISTE AUCUNE VALEUR DE RESOLUTION'
C      PRINT*
C      PRINT*, 'LA MATRICE N EST PAS INVERSIBLE'
C      PRINT*
       STOP
       ENDIF
C
      DO 35 I=L,LU
C
      T=A(L,I)
      A(L,I)=A(NUM,I)
      A(NUM,I)=T
C
   35 CONTINUE
C
      T=B(L)
      B(L)=B(NUM)
      B(NUM)=T
C
      RETURN
      END





