* PACKAGE DEIGEN  !" $@NO3X(J $@8GM-CM2r@O(J
*
*"  [HIS] 93/01/15(takepiro) IMSL $@%k!<%A%s;HMQ(J
*
**********************************************************************
      SUBROUTINE LEIGEN
     M            ( AMAT   , 
     O              EIGVLR , EIGVLI  ,
     O              EIGVCR , EIGVCI  ,
     I              MATDIM              )
*
#ifdef SYS_IBMS
      INCLUDE   (ZCDIM)                      !" 
      INCLUDE   (ZLDIM)                      !" $@3J;RE@?t(J, $@GH?t(J
#else
#include        "zcdim.F"                    !" 
#include        "zldim.F"                    !" $@78?t9TNs$NBg$-$5(J
#endif
*
*   [MODIFY] 
      REAL      AMAT  ( MATDMX, MATDMX )     !" $@78?t9TNs(J
*
*   [OUTPUT] 
      REAL      EIGVLR( MATDMX )             !" $@8GM-CM<B?tIt(J
      REAL      EIGVLI( MATDMX )             !" $@8GM-CM5u?tIt(J
      REAL      EIGVCR( MATDMX, MATDMX )     !" $@8GM-%Y%/%H%k<B?tIt(J
      REAL      EIGVCI( MATDMX, MATDMX )     !" $@8GM-%Y%/%H%k5u?tIt(J
*
*   [INPUT] 
      INTEGER   MATDIM                       !" $@7W;;$9$k<!85(J
*
*   [INTERNAL WORK] 
c$$$      COMMON    /COMWRK/ 
*
      COMPLEX   EVAL( MATDMX )               !" $@8GM-CM(J
      COMPLEX   EVEC( MATDMX, MATDMX )       !" $@8GM-%Y%/%H%k(J
*
      INTEGER   J, K
*
*"  < 1. $@8GM-CM(J, $@8GM-%Y%/%H%k$N7W;;(J > 
*
      CALL DEVCRG
     I      ( MATDIM , AMAT , MATDMX , 
     O        EVAL   , EVEC , 
     I        MATDMX                   )
*
*"  < 2 . $@8GM-CM$NF~$l49$((J >
*
      DO 100 K = 1, MATDIM
         EIGVLR( K ) = REAL( EVAL(MATDIM-K+1) )
         EIGVLI( K ) = AIMAG( EVAL(MATDIM-K+1) )
 100  CONTINUE 
*
*"  < 3. $@8GM-%Y%/%H%k$NF~$l49$((J >
*
      DO 1000 K = 1, MATDIM
         DO 1000 J = 1, MATDIM
            EIGVCR( J,K ) = REAL( EVEC( J,MATDIM-K+1 ) )
            EIGVCI( J,K ) = AIMAG( EVEC( J,MATDIM-K+1 ) )
 1000 CONTINUE
*
      RETURN
      END
