version 1.4, 2018/05/29 07:17:57
|
version 1.6, 2023/08/07 08:38:54
|
Line 1
|
Line 1
|
|
*> \brief \b DLAMSWLQ |
* |
* |
* Definition: |
* Definition: |
* =========== |
* =========== |
Line 18
|
Line 19
|
*> |
*> |
*> \verbatim |
*> \verbatim |
*> |
*> |
*> DLAMQRTS overwrites the general real M-by-N matrix C with |
*> DLAMSWLQ overwrites the general real M-by-N matrix C with |
*> |
*> |
*> |
*> |
*> SIDE = 'L' SIDE = 'R' |
*> SIDE = 'L' SIDE = 'R' |
Line 55
|
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 69
|
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 DOUBLE PRECISION array, dimension |
*> A is DOUBLE PRECISION array, dimension |
Line 101
|
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 188
|
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 202
|
Line 193
|
SUBROUTINE DLAMSWLQ( SIDE, TRANS, M, N, K, MB, NB, A, LDA, T, |
SUBROUTINE DLAMSWLQ( 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 249
|
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 |