**==mtx_diag.f  
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      SUBROUTINE  MTX_DIAG (S,R,N)
C
C Purpose: Makes a diagonal matrix R using column vector S
C
C      IMPLICIT NONE
C
      INTEGER  N
      REAL     S(N), R(N,N)
C
C
C-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
C Local Variables:
C
      INTEGER  I, J
C
C------------------------------------------------------------------------------
C
      DO 30 J = 1 , N
         DO 20 I = 1 , N
            IF (I.EQ.J) THEN
               R(I,J) = S(I)
            ELSE
               R(I,J) = 0.0
            END IF
 20      CONTINUE
 30   CONTINUE
C
      RETURN
      END
