Diff for /rpl/lapack/lapack/zlamswlq.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 19 Line 19
 *>  *>
 *> \verbatim  *> \verbatim
 *>  *>
 *>    ZLAMQRTS overwrites the general real M-by-N matrix C with  *>    ZLAMSWLQ overwrites the general complex 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
 *>    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 of blocked  *>    where Q is a complex unitary matrix defined as the product of blocked
 *>    elementary reflectors computed by short wide LQ  *>    elementary reflectors computed by short wide LQ
 *>    factorization (ZLASWLQ)  *>    factorization (ZLASWLQ)
 *> \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. N >= M.  *>          The number of columns of the matrix C. N >= 0.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] K  *> \param[in] K
Line 70 Line 70
 *> \param[in] MB  *> \param[in] MB
 *> \verbatim  *> \verbatim
 *>          MB is INTEGER  *>          MB is INTEGER
 *>          The row block size to be used in the blocked QR.  *>          The row block size to be used in the blocked LQ.
 *>          M >= MB >= 1  *>          M >= MB >= 1
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] NB  *> \param[in] NB
 *> \verbatim  *> \verbatim
 *>          NB is INTEGER  *>          NB is INTEGER
 *>          The column block size to be used in the blocked QR.  *>          The column block size to be used in the blocked LQ.
 *>          NB > M.  *>          NB > M.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] NB  
 *> \verbatim  
 *>          NB is INTEGER  
 *>          The block size to be used in the blocked QR.  
 *>                MB > M.  
 *>  
 *> \endverbatim  
 *>  
 *> \param[in] A  *> \param[in] A
 *> \verbatim  *> \verbatim
 *>          A is COMPLEX*16 array, dimension  *>          A is COMPLEX*16 array, dimension
Line 102 Line 94
 *> \param[in] LDA  *> \param[in] LDA
 *> \verbatim  *> \verbatim
 *>          LDA is INTEGER  *>          LDA is INTEGER
 *>          The leading dimension of the array A.  *>          The leading dimension of the array A. LDA >= MAX(1,K).
 *>          If SIDE = 'L', LDA >= max(1,M);  
 *>          if SIDE = 'R', LDA >= max(1,N).  
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] T  *> \param[in] T
Line 171 Line 161
 *  =====================  *  =====================
 *>  *>
 *> \verbatim  *> \verbatim
 *> Short-Wide LQ (SWLQ) performs LQ by a sequence of orthogonal transformations,  *> Short-Wide LQ (SWLQ) performs LQ 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 upper diagonal entries of a block of NB rows of A:  *> where each Q(i) zeros out upper diagonal entries of a block of NB rows of A:
 *>   Q(1) zeros out the upper diagonal entries of rows 1:NB of A  *>   Q(1) zeros out the upper diagonal entries of rows 1:NB of A
Line 189 Line 179
 *> stored in columns [(i-1)*(NB-M)+M+1:i*(NB-M)+M] of A, and by upper triangular  *> stored in columns [(i-1)*(NB-M)+M+1:i*(NB-M)+M] of A, and by upper triangular
 *> block reflectors, stored in array T(1:LDT,(i-1)*M+1:i*M).  *> block reflectors, stored in array T(1:LDT,(i-1)*M+1:i*M).
 *> The last Q(k) may use fewer rows.  *> The last Q(k) may use fewer rows.
 *> For more information see Further Details in TPQRT.  *> For more information see Further Details in TPLQT.
 *>  *>
 *> For more details of the overall algorithm, see the description of  *> For more details of the overall algorithm, see the description of
 *> Sequential TSQR in Section 2.2 of [1].  *> Sequential TSQR in Section 2.2 of [1].
Line 203 Line 193
       SUBROUTINE ZLAMSWLQ( SIDE, TRANS, M, N, K, MB, NB, A, LDA, T,        SUBROUTINE ZLAMSWLQ( 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 250 Line 239
          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( K.LT.0 ) THEN
           INFO = -5
         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.MB .OR. MB.LT.1) THEN
         INFO = -5          INFO = -6
       ELSE IF( LDA.LT.MAX( 1, K ) ) THEN        ELSE IF( LDA.LT.MAX( 1, K ) ) THEN
         INFO = -9          INFO = -9
       ELSE IF( LDT.LT.MAX( 1, MB) ) THEN        ELSE IF( LDT.LT.MAX( 1, MB) ) THEN

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


CVSweb interface <joel.bertrand@systella.fr>