--- rpl/lapack/lapack/dtpmqrt.f 2012/08/22 09:48:27 1.2 +++ rpl/lapack/lapack/dtpmqrt.f 2015/11/26 11:44:20 1.6 @@ -55,7 +55,7 @@ *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'C': Transpose, apply Q**T. +*> = 'T': Transpose, apply Q**T. *> \endverbatim *> *> \param[in] M @@ -175,7 +175,7 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date April 2012 +*> \date November 2015 * *> \ingroup doubleOTHERcomputational * @@ -216,10 +216,10 @@ SUBROUTINE DTPMQRT( SIDE, TRANS, M, N, K, L, NB, V, LDV, T, LDT, $ A, LDA, B, LDB, WORK, INFO ) * -* -- LAPACK computational routine (version 3.4.1) -- +* -- LAPACK computational routine (version 3.6.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* April 2012 +* November 2015 * * .. Scalar Arguments .. CHARACTER SIDE, TRANS @@ -235,7 +235,7 @@ * .. * .. Local Scalars .. LOGICAL LEFT, RIGHT, TRAN, NOTRAN - INTEGER I, IB, MB, LB, KF, Q + INTEGER I, IB, MB, LB, KF, LDAQ, LDVQ * .. * .. External Functions .. LOGICAL LSAME @@ -257,10 +257,12 @@ TRAN = LSAME( TRANS, 'T' ) NOTRAN = LSAME( TRANS, 'N' ) * - IF( LEFT ) THEN - Q = M + IF ( LEFT ) THEN + LDVQ = MAX( 1, M ) + LDAQ = MAX( 1, K ) ELSE IF ( RIGHT ) THEN - Q = N + LDVQ = MAX( 1, N ) + LDAQ = MAX( 1, M ) END IF IF( .NOT.LEFT .AND. .NOT.RIGHT ) THEN INFO = -1 @@ -274,13 +276,13 @@ INFO = -5 ELSE IF( L.LT.0 .OR. L.GT.K ) THEN INFO = -6 - ELSE IF( NB.LT.1 .OR. NB.GT.K ) THEN + ELSE IF( NB.LT.1 .OR. (NB.GT.K .AND. K.GT.0) ) THEN INFO = -7 - ELSE IF( LDV.LT.MAX( 1, Q ) ) THEN + ELSE IF( LDV.LT.LDVQ ) THEN INFO = -9 ELSE IF( LDT.LT.NB ) THEN INFO = -11 - ELSE IF( LDA.LT.MAX( 1, M ) ) THEN + ELSE IF( LDA.LT.LDAQ ) THEN INFO = -13 ELSE IF( LDB.LT.MAX( 1, M ) ) THEN INFO = -15