Merge pull request #4842 from martin-frbg/lapack1030

Fix typos and sytrd boundary workspace (Reference-LAPACK PR 1030)
This commit is contained in:
Martin Kroeker 2024-08-05 22:23:44 +02:00 committed by GitHub
commit ae9e0e36c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 27 additions and 20 deletions

View File

@ -163,7 +163,8 @@
*> \endverbatim *> \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 computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
@ -193,7 +194,8 @@
COMPLEX EI COMPLEX EI
* .. * ..
* .. External Subroutines .. * .. External Subroutines ..
EXTERNAL CAXPY, CGEHD2, CGEMM, CLAHR2, CLARFB, CTRMM, EXTERNAL CAXPY, CGEHD2, CGEMM, CLAHR2, CLARFB,
$ CTRMM,
$ XERBLA $ XERBLA
* .. * ..
* .. Intrinsic Functions .. * .. Intrinsic Functions ..
@ -230,7 +232,7 @@
IF( NH.LE.1 ) THEN IF( NH.LE.1 ) THEN
LWKOPT = 1 LWKOPT = 1
ELSE ELSE
NB = MIN( NBMAX, ILAENV( 1, 'DGEHRD', ' ', N, ILO, IHI, NB = MIN( NBMAX, ILAENV( 1, 'CGEHRD', ' ', N, ILO, IHI,
$ -1 ) ) $ -1 ) )
LWKOPT = N*NB + TSIZE LWKOPT = N*NB + TSIZE
END IF END IF

View File

@ -139,7 +139,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \ingroup complexHEcomputational *> \ingroup hetrd
* *
*> \par Further Details: *> \par Further Details:
* ===================== * =====================
@ -188,7 +188,8 @@
*> \endverbatim *> \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 computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
@ -225,7 +226,8 @@
* .. External Functions .. * .. External Functions ..
LOGICAL LSAME LOGICAL LSAME
INTEGER ILAENV INTEGER ILAENV
EXTERNAL LSAME, ILAENV REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* .. * ..
* .. Executable Statements .. * .. Executable Statements ..
* *
@ -249,8 +251,8 @@
* Determine the block size. * Determine the block size.
* *
NB = ILAENV( 1, 'CHETRD', UPLO, N, -1, -1, -1 ) NB = ILAENV( 1, 'CHETRD', UPLO, N, -1, -1, -1 )
LWKOPT = N*NB LWKOPT = MAX( 1, N*NB )
WORK( 1 ) = LWKOPT WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF END IF
* *
IF( INFO.NE.0 ) THEN IF( INFO.NE.0 ) THEN
@ -367,7 +369,7 @@
$ TAU( I ), IINFO ) $ TAU( I ), IINFO )
END IF END IF
* *
WORK( 1 ) = LWKOPT WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN RETURN
* *
* End of CHETRD * End of CHETRD

View File

@ -18,7 +18,7 @@
*> *>
*> \verbatim *> \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. *> using the compact WY representation of Q.
*> \endverbatim *> \endverbatim
* *
@ -93,7 +93,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \ingroup doubleGEcomputational *> \ingroup gelqt
* *
*> \par Further Details: *> \par Further Details:
* ===================== * =====================

View File

@ -74,7 +74,7 @@
*> A is REAL array, dimension *> A is REAL array, dimension
*> (LDA,M) if SIDE = 'L', *> (LDA,M) if SIDE = 'L',
*> (LDA,N) if SIDE = 'R' *> (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 *> \endverbatim
*> *>
*> \param[in] LDA *> \param[in] LDA

View File

@ -20,7 +20,7 @@
*> *>
*> \verbatim *> \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' *> SIDE = 'L' SIDE = 'R'
*> TRANS = 'N': Q C C Q *> TRANS = 'N': Q C C Q
@ -145,7 +145,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \ingroup doubleGEcomputational *> \ingroup gemlqt
* *
* ===================================================================== * =====================================================================
SUBROUTINE SGEMLQT( SIDE, TRANS, M, N, K, MB, V, LDV, T, LDT, SUBROUTINE SGEMLQT( SIDE, TRANS, M, N, K, MB, V, LDV, T, LDT,

View File

@ -188,7 +188,8 @@
*> \endverbatim *> \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 computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
@ -248,7 +249,7 @@
* Determine the block size. * Determine the block size.
* *
NB = ILAENV( 1, 'SSYTRD', UPLO, N, -1, -1, -1 ) NB = ILAENV( 1, 'SSYTRD', UPLO, N, -1, -1, -1 )
LWKOPT = N*NB LWKOPT = MAX( 1, N*NB )
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF END IF
* *
@ -316,7 +317,8 @@
* Update the unreduced submatrix A(1:i-1,1:i-1), using an * 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 * 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 ) $ LDA, WORK, LDWORK, ONE, A, LDA )
* *
* Copy superdiagonal elements back into A, and diagonal * Copy superdiagonal elements back into A, and diagonal

View File

@ -139,7 +139,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \ingroup complex16HEcomputational *> \ingroup hetrd
* *
*> \par Further Details: *> \par Further Details:
* ===================== * =====================
@ -188,7 +188,8 @@
*> \endverbatim *> \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 computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
@ -249,7 +250,7 @@
* Determine the block size. * Determine the block size.
* *
NB = ILAENV( 1, 'ZHETRD', UPLO, N, -1, -1, -1 ) NB = ILAENV( 1, 'ZHETRD', UPLO, N, -1, -1, -1 )
LWKOPT = N*NB LWKOPT = MAX( 1, N*NB )
WORK( 1 ) = LWKOPT WORK( 1 ) = LWKOPT
END IF END IF
* *