From 423813d7201d03a44692489922f9341b7073c7cc Mon Sep 17 00:00:00 2001 From: Neil Lindquist Date: Thu, 14 Jul 2022 11:03:38 -0400 Subject: [PATCH] Fix workspace query for *syevd and *heevd routines --- SRC/cheevd.f | 2 +- SRC/dsyevd.f | 2 +- SRC/ssyevd.f | 2 +- SRC/zheevd.f | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SRC/cheevd.f b/SRC/cheevd.f index 9a4a1efb7d..2ddf74b985 100644 --- a/SRC/cheevd.f +++ b/SRC/cheevd.f @@ -284,7 +284,7 @@ SUBROUTINE CHEEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LIWMIN = 1 END IF LOPT = MAX( LWMIN, N + - $ ILAENV( 1, 'CHETRD', UPLO, N, -1, -1, -1 ) ) + $ N*ILAENV( 1, 'CHETRD', UPLO, N, -1, -1, -1 ) ) LROPT = LRWMIN LIOPT = LIWMIN END IF diff --git a/SRC/dsyevd.f b/SRC/dsyevd.f index edbe896fe8..eaaecd8d98 100644 --- a/SRC/dsyevd.f +++ b/SRC/dsyevd.f @@ -257,7 +257,7 @@ SUBROUTINE DSYEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LWMIN = 2*N + 1 END IF LOPT = MAX( LWMIN, 2*N + - $ ILAENV( 1, 'DSYTRD', UPLO, N, -1, -1, -1 ) ) + $ N*ILAENV( 1, 'DSYTRD', UPLO, N, -1, -1, -1 ) ) LIOPT = LIWMIN END IF WORK( 1 ) = LOPT diff --git a/SRC/ssyevd.f b/SRC/ssyevd.f index 8b90d9263c..ac0d0284d3 100644 --- a/SRC/ssyevd.f +++ b/SRC/ssyevd.f @@ -255,7 +255,7 @@ SUBROUTINE SSYEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, LWMIN = 2*N + 1 END IF LOPT = MAX( LWMIN, 2*N + - $ ILAENV( 1, 'SSYTRD', UPLO, N, -1, -1, -1 ) ) + $ N*ILAENV( 1, 'SSYTRD', UPLO, N, -1, -1, -1 ) ) LIOPT = LIWMIN END IF WORK( 1 ) = LOPT diff --git a/SRC/zheevd.f b/SRC/zheevd.f index a6484eb032..7f58c7f726 100644 --- a/SRC/zheevd.f +++ b/SRC/zheevd.f @@ -284,7 +284,7 @@ SUBROUTINE ZHEEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, RWORK, LIWMIN = 1 END IF LOPT = MAX( LWMIN, N + - $ ILAENV( 1, 'ZHETRD', UPLO, N, -1, -1, -1 ) ) + $ N*ILAENV( 1, 'ZHETRD', UPLO, N, -1, -1, -1 ) ) LROPT = LRWMIN LIOPT = LIWMIN END IF