INTERFACE LA_SYEV
SUBROUTINE SSYEV( JOBZ, UPLO, N, A, LDA, W, &
WORK, LWORK, INFO )
USE LA_PRECISION, ONLY: WP SP
CHARACTER( LEN = 1 ), INTENT( IN ) :: JOBZ, UPLO
INTEGER, INTENT( IN ) :: LDA, LWORK, N
INTEGER, INTENT( OUT ) :: INFO
REAL( WP ), INTENT( INOUT ) :: A( LDA, * )
REAL( WP ), INTENT( OUT ) :: W( * )
REAL( WP ), INTENT( OUT ) :: WORK( * )
END SUBROUTINE SSYEV
SUBROUTINE DSYEV( JOBZ, UPLO, N, A, LDA, W, &
WORK, LWORK, INFO )
USE LA_PRECISION, ONLY: WP DP
CHARACTER( LEN = 1 ), INTENT( IN ) :: JOBZ, UPLO
INTEGER, INTENT( IN ) :: LDA, LWORK, N
INTEGER, INTENT( OUT ) :: INFO
REAL( WP ), INTENT( INOUT ) :: A( LDA, * )
REAL( WP ), INTENT( OUT ) :: W( * )
REAL( WP ), INTENT( OUT ) :: WORK( * )
END SUBROUTINE DSYEV
END INTERFACE
INTERFACE LA_HEEV
SUBROUTINE CHEEV( JOBZ, UPLO, N, A, LDA, W, &
WORK, LWORK, RWORK, INFO )
USE LA_PRECISION, ONLY: WP SP
CHARACTER( LEN = 1 ), INTENT( IN ) :: JOBZ, UPLO
INTEGER, INTENT( IN ) :: LDA, LWORK, N
INTEGER, INTENT( OUT ) :: INFO
COMPLEX( WP ), INTENT( INOUT ) :: A( LDA, * )
REAL( WP ), INTENT( OUT ) :: W( * ), RWORK( * )
COMPLEX( WP ), INTENT( OUT ) :: WORK( * )
END SUBROUTINE CHEEV
SUBROUTINE ZHEEV( JOBZ, UPLO, N, A, LDA, W, &
WORK, LWORK, RWORK, INFO )
USE LA_PRECISION, ONLY: WP DP
CHARACTER( LEN = 1 ), INTENT( IN ) :: JOBZ, UPLO
INTEGER, INTENT( IN ) :: LDA, LWORK, N
INTEGER, INTENT( OUT ) :: INFO
COMPLEX( WP ), INTENT( INOUT ) :: A( LDA, * )
REAL( WP ), INTENT( OUT ) :: W( * ), RWORK( * )
COMPLEX( WP ), INTENT( OUT ) :: WORK( * )
END SUBROUTINE ZHEEV
END INTERFACE