      SUBROUTINE CVMULT(M,S3,B,MX,W)
C
C     THIS SUBROUTINE DOES COMPLEX MATRIX TIMES VECTOR (S3*B)
C     MULTIPLICATION. THE RESULT IS STORED IN B.
C
      IMPLICIT REAL*8 (A-H,O-Z)
      COMPLEX*16 S3(MX,MX),B(MX)
      COMPLEX*16 W(MX)
      COMPLEX*16 SUM
C
      DO 200 II=1,M
C
      SUM=DCMPLX(0.0,0.0)
      DO 100 I=1,M
      SUM=SUM+S3(II,I)*B(I)
  100 CONTINUE
C
      W(II)=SUM
C
  200 CONTINUE
C
      DO 300 II=1,M
      B(II)=W(II)
  300 CONTINUE
C
      RETURN
      END
