      SUBROUTINE PLMASD(I1,NBLOC,GS,IJT,AE)
C  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C  BUT : PLONGER LA MATRICE TRIANGULAIRE SUPERIEURE GS DANS LES
C  ---   NBLOC BLOCS DIAGONAUX DE LA MATRICE AE ET INITIALISER LES
C        AUTRES A ZERO
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C  PARAMETRES D'ENTREE :
C  -------------------
C  I1    : NOMBRE DE LIGNES ET COLONNES DU BLOC DIAGONAL
C  NBLOC : NOMBRE DE BLOCS DIAGONAUX DE I1 LIGNES A PORTER DANS AE
C  GS    : LE BLOC DIAGONAL GS STOCKE 1 2 4  ...
C                                       3 5  ...
C                                         6  ...
C  IJT   : PERMUTATION DES D.L. PAR COMPOSANTE => PAR NOEUD
C  PARAMETRE RESULTAT :
C  ------------------
C  AE     : MATRICE TRIANGULAIRE SUPERIEURE
C .......................................................................
c  programmeur : modulef
c ...............................................................
      DOUBLE PRECISION GS,AE
      DIMENSION GS(*),IJT(*),AE(*)
C     ------   LE BLOC DE COLONNES JJ   ------
      DO 6 JJ=1,NBLOC
         JJ1 = JJ - 1
         JJ2 = JJ1 * I1
C        ------   LE BLOC DE LIGNES II   ------
         DO 6 II=1,JJ
            N = 0
            II1 = II - 1
            II2 = II1 * I1
            III = I1
C           ------   LA COLONNE J DU BLOC JJ   ------
            DO 4 J=1,I1
               IF ( JJ .EQ. II ) III = J
               J1 = J + JJ2
               JP = IJT(J1)
C              ------   LA LIGNE I DU BLOC II   ------
               DO 3 I=1,III
                  K1 = I + II2
                  K2 = IJT(K1)
                  J2 = JP
                  IF ( K2 .LE. J2 ) GO TO 1
                  K  = K2
                  K2 = J2
                  J2 = K
    1             K = J2 * (J2 - 1) / 2 + K2
                  IF ( JJ .EQ. II ) GO TO 2
C                 ------   BLOC NON DIAGONAL A ANNULER   ------
                  AE(K) = 0.D0
                  GO TO 3
C                 ------   BLOC DIAGONAL   ------
    2             N = N + 1
                  AE(K) = GS(N)
    3          CONTINUE
    4       CONTINUE
    6 CONTINUE
      END
