From bce48d4a1342546f13ab7efb4b2f2d80edc930c2 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 5 Aug 2024 17:37:07 +0200 Subject: [PATCH] Fix typos and sytrd boundary workspace (Reference-LAPACK PR 1030) --- lapack-netlib/SRC/cgehrd.f | 8 +++++--- lapack-netlib/SRC/chetrd.f | 14 ++++++++------ lapack-netlib/SRC/sgelqt.f | 4 ++-- lapack-netlib/SRC/sgemlq.f | 2 +- lapack-netlib/SRC/sgemlqt.f | 4 ++-- lapack-netlib/SRC/ssytrd.f | 8 +++++--- lapack-netlib/SRC/zhetrd.f | 7 ++++--- 7 files changed, 27 insertions(+), 20 deletions(-) diff --git a/lapack-netlib/SRC/cgehrd.f b/lapack-netlib/SRC/cgehrd.f index 7ba87cc01b..35bd2e668c 100644 --- a/lapack-netlib/SRC/cgehrd.f +++ b/lapack-netlib/SRC/cgehrd.f @@ -163,7 +163,8 @@ *> \endverbatim *> * ===================================================================== - SUBROUTINE CGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO ) + SUBROUTINE CGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, + $ INFO ) * * -- LAPACK computational routine -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- @@ -193,7 +194,8 @@ SUBROUTINE CGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO ) COMPLEX EI * .. * .. External Subroutines .. - EXTERNAL CAXPY, CGEHD2, CGEMM, CLAHR2, CLARFB, CTRMM, + EXTERNAL CAXPY, CGEHD2, CGEMM, CLAHR2, CLARFB, + $ CTRMM, $ XERBLA * .. * .. Intrinsic Functions .. @@ -230,7 +232,7 @@ SUBROUTINE CGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO ) IF( NH.LE.1 ) THEN LWKOPT = 1 ELSE - NB = MIN( NBMAX, ILAENV( 1, 'DGEHRD', ' ', N, ILO, IHI, + NB = MIN( NBMAX, ILAENV( 1, 'CGEHRD', ' ', N, ILO, IHI, $ -1 ) ) LWKOPT = N*NB + TSIZE END IF diff --git a/lapack-netlib/SRC/chetrd.f b/lapack-netlib/SRC/chetrd.f index 52b9a895a9..34c74959dc 100644 --- a/lapack-netlib/SRC/chetrd.f +++ b/lapack-netlib/SRC/chetrd.f @@ -139,7 +139,7 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \ingroup complexHEcomputational +*> \ingroup hetrd * *> \par Further Details: * ===================== @@ -188,7 +188,8 @@ *> \endverbatim *> * ===================================================================== - SUBROUTINE CHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) + SUBROUTINE CHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, + $ INFO ) * * -- LAPACK computational routine -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- @@ -225,7 +226,8 @@ SUBROUTINE CHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) * .. External Functions .. LOGICAL LSAME INTEGER ILAENV - EXTERNAL LSAME, ILAENV + REAL SROUNDUP_LWORK + EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK * .. * .. Executable Statements .. * @@ -249,8 +251,8 @@ SUBROUTINE CHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) * Determine the block size. * NB = ILAENV( 1, 'CHETRD', UPLO, N, -1, -1, -1 ) - LWKOPT = N*NB - WORK( 1 ) = LWKOPT + LWKOPT = MAX( 1, N*NB ) + WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) END IF * IF( INFO.NE.0 ) THEN @@ -367,7 +369,7 @@ SUBROUTINE CHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) $ TAU( I ), IINFO ) END IF * - WORK( 1 ) = LWKOPT + WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) RETURN * * End of CHETRD diff --git a/lapack-netlib/SRC/sgelqt.f b/lapack-netlib/SRC/sgelqt.f index b5a4c21b30..343da9f49a 100644 --- a/lapack-netlib/SRC/sgelqt.f +++ b/lapack-netlib/SRC/sgelqt.f @@ -18,7 +18,7 @@ *> *> \verbatim *> -*> DGELQT computes a blocked LQ factorization of a real M-by-N matrix A +*> SGELQT computes a blocked LQ factorization of a real M-by-N matrix A *> using the compact WY representation of Q. *> \endverbatim * @@ -93,7 +93,7 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \ingroup doubleGEcomputational +*> \ingroup gelqt * *> \par Further Details: * ===================== diff --git a/lapack-netlib/SRC/sgemlq.f b/lapack-netlib/SRC/sgemlq.f index 7e4d9bf656..5793e6ea71 100644 --- a/lapack-netlib/SRC/sgemlq.f +++ b/lapack-netlib/SRC/sgemlq.f @@ -74,7 +74,7 @@ *> A is REAL array, dimension *> (LDA,M) if SIDE = 'L', *> (LDA,N) if SIDE = 'R' -*> Part of the data structure to represent Q as returned by DGELQ. +*> Part of the data structure to represent Q as returned by SGELQ. *> \endverbatim *> *> \param[in] LDA diff --git a/lapack-netlib/SRC/sgemlqt.f b/lapack-netlib/SRC/sgemlqt.f index bb128c824d..1cb882cb4e 100644 --- a/lapack-netlib/SRC/sgemlqt.f +++ b/lapack-netlib/SRC/sgemlqt.f @@ -20,7 +20,7 @@ *> *> \verbatim *> -*> DGEMLQT overwrites the general real M-by-N matrix C with +*> SGEMLQT overwrites the general real M-by-N matrix C with *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q C C Q @@ -145,7 +145,7 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \ingroup doubleGEcomputational +*> \ingroup gemlqt * * ===================================================================== SUBROUTINE SGEMLQT( SIDE, TRANS, M, N, K, MB, V, LDV, T, LDT, diff --git a/lapack-netlib/SRC/ssytrd.f b/lapack-netlib/SRC/ssytrd.f index f4fbecdc94..fda10d3720 100644 --- a/lapack-netlib/SRC/ssytrd.f +++ b/lapack-netlib/SRC/ssytrd.f @@ -188,7 +188,8 @@ *> \endverbatim *> * ===================================================================== - SUBROUTINE SSYTRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) + SUBROUTINE SSYTRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, + $ INFO ) * * -- LAPACK computational routine -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- @@ -248,7 +249,7 @@ SUBROUTINE SSYTRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) * Determine the block size. * NB = ILAENV( 1, 'SSYTRD', UPLO, N, -1, -1, -1 ) - LWKOPT = N*NB + LWKOPT = MAX( 1, N*NB ) WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) END IF * @@ -316,7 +317,8 @@ SUBROUTINE SSYTRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) * Update the unreduced submatrix A(1:i-1,1:i-1), using an * update of the form: A := A - V*W**T - W*V**T * - CALL SSYR2K( UPLO, 'No transpose', I-1, NB, -ONE, A( 1, I ), + CALL SSYR2K( UPLO, 'No transpose', I-1, NB, -ONE, A( 1, + $ I ), $ LDA, WORK, LDWORK, ONE, A, LDA ) * * Copy superdiagonal elements back into A, and diagonal diff --git a/lapack-netlib/SRC/zhetrd.f b/lapack-netlib/SRC/zhetrd.f index 5b7d6546cc..7a64e228fc 100644 --- a/lapack-netlib/SRC/zhetrd.f +++ b/lapack-netlib/SRC/zhetrd.f @@ -139,7 +139,7 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \ingroup complex16HEcomputational +*> \ingroup hetrd * *> \par Further Details: * ===================== @@ -188,7 +188,8 @@ *> \endverbatim *> * ===================================================================== - SUBROUTINE ZHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) + SUBROUTINE ZHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, + $ INFO ) * * -- LAPACK computational routine -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- @@ -249,7 +250,7 @@ SUBROUTINE ZHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO ) * Determine the block size. * NB = ILAENV( 1, 'ZHETRD', UPLO, N, -1, -1, -1 ) - LWKOPT = N*NB + LWKOPT = MAX( 1, N*NB ) WORK( 1 ) = LWKOPT END IF *