*DECK ALLUM
      SUBROUTINE ALLUM(L4,ASS,VEC,Z,MU1,IMA)
*
*-----------------------------------------------------------------------
*
* MULTIPLICATION OF A GENERAL MATRIX IN COMPRESSED DIAGONAL STORAGE
* MODE BY A VECTOR. Z=ASS*VEC
*
* INPUT PARAMETERS:
*    L4 : ORDER OF THE COEFFICIENT MATRIX.
*   ASS : COEFFICIENT MATRIX IN COMPRESSED DIAGONAL STORAGE MODE.
*         DIMENSION ASS(IMA(L4))
*   VEC : VECTOR TO MULTIPLY. DIMENSION VEC(L4)
*   MU1 : POSITION OF EACH DIAGONAL ELEMENT IN VECTOR ASS.
*   IMA : POSITION OF THE FIRST NON-ZERO COLUMN ELEMENT IN VECTOR ASS.
*         DIMENSION MU1(L4),IMA(L4)
*
* OUTPUT PARAMETER:
*     Z : SOLUTION OF THE MULTIPLICATION. DIMENSION Z(L4)
*
*-------------------------------------- AUTHOR: A. HEBERT ; 15/09/89 ---
*
      DIMENSION ASS(*),MU1(*),IMA(*),Z(*),VEC(*)
      KEY1=MU1(1)
      Z(1)=ASS(KEY1)*VEC(1)
      DO 40 I=2,L4
      ZK=0.0
      DO 30 J=IMA(I-1)-MU1(I)+I+1,I
      KEY1=KEY1+1
   30 ZK=ZK+ASS(KEY1)*VEC(J)
      Z(I)=ZK
      ZK=VEC(I)
      DO 40 J=I-1,MU1(I)+I-IMA(I),-1
      KEY1=KEY1+1
   40 Z(J)=Z(J)+ASS(KEY1)*ZK
      RETURN
      END
