--- rpl/lapack/lapack/dlamtsqr.f 2020/05/21 21:45:59 1.5 +++ rpl/lapack/lapack/dlamtsqr.f 2023/08/07 08:38:54 1.6 @@ -56,15 +56,14 @@ *> \param[in] N *> \verbatim *> N is INTEGER -*> The number of columns of the matrix C. M >= N >= 0. +*> The number of columns of the matrix C. N >= 0. *> \endverbatim *> *> \param[in] K *> \verbatim *> K is INTEGER *> The number of elementary reflectors whose product defines -*> the matrix Q. -*> N >= K >= 0; +*> the matrix Q. M >= K >= 0; *> *> \endverbatim *> @@ -196,10 +195,9 @@ SUBROUTINE DLAMTSQR( SIDE, TRANS, M, N, K, MB, NB, A, LDA, T, $ LDT, C, LDC, WORK, LWORK, INFO ) * -* -- LAPACK computational routine (version 3.7.1) -- +* -- LAPACK computational routine -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* June 2017 * * .. Scalar Arguments .. CHARACTER SIDE, TRANS @@ -215,7 +213,7 @@ * .. * .. Local Scalars .. LOGICAL LEFT, RIGHT, TRAN, NOTRAN, LQUERY - INTEGER I, II, KK, LW, CTR + INTEGER I, II, KK, LW, CTR, Q * .. * .. External Functions .. LOGICAL LSAME @@ -234,8 +232,10 @@ RIGHT = LSAME( SIDE, 'R' ) IF (LEFT) THEN LW = N * NB + Q = M ELSE LW = MB * NB + Q = N END IF * INFO = 0 @@ -243,13 +243,15 @@ INFO = -1 ELSE IF( .NOT.TRAN .AND. .NOT.NOTRAN ) THEN INFO = -2 - ELSE IF( M.LT.0 ) THEN + ELSE IF( M.LT.K ) THEN INFO = -3 ELSE IF( N.LT.0 ) THEN INFO = -4 ELSE IF( K.LT.0 ) THEN INFO = -5 - ELSE IF( LDA.LT.MAX( 1, K ) ) THEN + ELSE IF( K.LT.NB .OR. NB.LT.1 ) THEN + INFO = -7 + ELSE IF( LDA.LT.MAX( 1, Q ) ) THEN INFO = -9 ELSE IF( LDT.LT.MAX( 1, NB) ) THEN INFO = -11