Diff for /rpl/lapack/lapack/zlamtsqr.f between versions 1.5 and 1.6

version 1.5, 2020/05/21 21:46:07 version 1.6, 2023/08/07 08:39:29
Line 25 Line 25
 *>                 SIDE = 'L'     SIDE = 'R'  *>                 SIDE = 'L'     SIDE = 'R'
 *> TRANS = 'N':      Q * C          C * Q  *> TRANS = 'N':      Q * C          C * Q
 *> TRANS = 'C':      Q**H * C       C * Q**H  *> TRANS = 'C':      Q**H * C       C * Q**H
 *>      where Q is a real orthogonal matrix defined as the product  *>      where Q is a complex unitary matrix defined as the product
 *>      of blocked elementary reflectors computed by tall skinny  *>      of blocked elementary reflectors computed by tall skinny
 *>      QR factorization (ZLATSQR)  *>      QR factorization (ZLATSQR)
 *> \endverbatim  *> \endverbatim
Line 56 Line 56
 *> \param[in] N  *> \param[in] N
 *> \verbatim  *> \verbatim
 *>          N is INTEGER  *>          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  *> \endverbatim
 *>  *>
 *> \param[in] K  *> \param[in] K
 *> \verbatim  *> \verbatim
 *>          K is INTEGER  *>          K is INTEGER
 *>          The number of elementary reflectors whose product defines  *>          The number of elementary reflectors whose product defines
 *>          the matrix Q.  *>          the matrix Q. M >= K >= 0;
 *>          N >= K >= 0;  
 *>  *>
 *> \endverbatim  *> \endverbatim
 *>  *>
Line 72 Line 71
 *> \verbatim  *> \verbatim
 *>          MB is INTEGER  *>          MB is INTEGER
 *>          The block size to be used in the blocked QR.  *>          The block size to be used in the blocked QR.
 *>          MB > N. (must be the same as DLATSQR)  *>          MB > N. (must be the same as ZLATSQR)
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] NB  *> \param[in] NB
Line 87 Line 86
 *>          A is COMPLEX*16 array, dimension (LDA,K)  *>          A is COMPLEX*16 array, dimension (LDA,K)
 *>          The i-th column must contain the vector which defines the  *>          The i-th column must contain the vector which defines the
 *>          blockedelementary reflector H(i), for i = 1,2,...,k, as  *>          blockedelementary reflector H(i), for i = 1,2,...,k, as
 *>          returned by DLATSQR in the first k columns of  *>          returned by ZLATSQR in the first k columns of
 *>          its array argument A.  *>          its array argument A.
 *> \endverbatim  *> \endverbatim
 *>  *>
Line 164 Line 163
 *  =====================  *  =====================
 *>  *>
 *> \verbatim  *> \verbatim
 *> Tall-Skinny QR (TSQR) performs QR by a sequence of orthogonal transformations,  *> Tall-Skinny QR (TSQR) performs QR by a sequence of unitary transformations,
 *> representing Q as a product of other orthogonal matrices  *> representing Q as a product of other unitary matrices
 *>   Q = Q(1) * Q(2) * . . . * Q(k)  *>   Q = Q(1) * Q(2) * . . . * Q(k)
 *> where each Q(i) zeros out subdiagonal entries of a block of MB rows of A:  *> where each Q(i) zeros out subdiagonal entries of a block of MB rows of A:
 *>   Q(1) zeros out the subdiagonal entries of rows 1:MB of A  *>   Q(1) zeros out the subdiagonal entries of rows 1:MB of A
Line 196 Line 195
       SUBROUTINE ZLAMTSQR( SIDE, TRANS, M, N, K, MB, NB, A, LDA, T,        SUBROUTINE ZLAMTSQR( SIDE, TRANS, M, N, K, MB, NB, A, LDA, T,
      $        LDT, C, LDC, WORK, LWORK, INFO )       $        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,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     June 2017  
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       CHARACTER         SIDE, TRANS        CHARACTER         SIDE, TRANS
Line 215 Line 213
 *     ..  *     ..
 *     .. Local Scalars ..  *     .. Local Scalars ..
       LOGICAL    LEFT, RIGHT, TRAN, NOTRAN, LQUERY        LOGICAL    LEFT, RIGHT, TRAN, NOTRAN, LQUERY
       INTEGER    I, II, KK, LW, CTR        INTEGER    I, II, KK, LW, CTR, Q
 *     ..  *     ..
 *     .. External Functions ..  *     .. External Functions ..
       LOGICAL            LSAME        LOGICAL            LSAME
Line 234 Line 232
       RIGHT   = LSAME( SIDE, 'R' )        RIGHT   = LSAME( SIDE, 'R' )
       IF (LEFT) THEN        IF (LEFT) THEN
         LW = N * NB          LW = N * NB
           Q = M
       ELSE        ELSE
         LW = M * NB          LW = M * NB
           Q = N
       END IF        END IF
 *  *
       INFO = 0        INFO = 0
Line 243 Line 243
          INFO = -1           INFO = -1
       ELSE IF( .NOT.TRAN .AND. .NOT.NOTRAN ) THEN        ELSE IF( .NOT.TRAN .AND. .NOT.NOTRAN ) THEN
          INFO = -2           INFO = -2
       ELSE IF( M.LT.0 ) THEN        ELSE IF( M.LT.K ) THEN
         INFO = -3          INFO = -3
       ELSE IF( N.LT.0 ) THEN        ELSE IF( N.LT.0 ) THEN
         INFO = -4          INFO = -4
       ELSE IF( K.LT.0 ) THEN        ELSE IF( K.LT.0 ) THEN
         INFO = -5          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          INFO = -9
       ELSE IF( LDT.LT.MAX( 1, NB) ) THEN        ELSE IF( LDT.LT.MAX( 1, NB) ) THEN
         INFO = -11          INFO = -11

Removed from v.1.5  
changed lines
  Added in v.1.6


CVSweb interface <joel.bertrand@systella.fr>