version 1.4, 2020/05/21 21:46:01
|
version 1.5, 2023/08/07 08:39:00
|
Line 28
|
Line 28
|
*> where: |
*> where: |
*> |
*> |
*> Q is a M-by-M orthogonal matrix, stored on exit in an implicit |
*> Q is a M-by-M orthogonal matrix, stored on exit in an implicit |
*> form in the elements below the digonal of the array A and in |
*> form in the elements below the diagonal of the array A and in |
*> the elemenst of the array T; |
*> the elements of the array T; |
*> |
*> |
*> R is an upper-triangular N-by-N matrix, stored on exit in |
*> R is an upper-triangular N-by-N matrix, stored on exit in |
*> the elements on and above the diagonal of the array A. |
*> the elements on and above the diagonal of the array A. |
Line 57
|
Line 57
|
*> \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 QR. |
*> MB > N. |
*> MB > 0. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in] NB |
*> \param[in] NB |
Line 164
|
Line 164
|
SUBROUTINE DLATSQR( M, N, MB, NB, A, LDA, T, LDT, WORK, |
SUBROUTINE DLATSQR( M, N, MB, NB, A, LDA, T, LDT, WORK, |
$ LWORK, INFO) |
$ LWORK, INFO) |
* |
* |
* -- LAPACK computational routine (version 3.9.0) -- |
* -- 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. -- |
* November 2019 |
|
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER INFO, LDA, M, N, MB, NB, LDT, LWORK |
INTEGER INFO, LDA, M, N, MB, NB, LDT, LWORK |
Line 203
|
Line 202
|
INFO = -1 |
INFO = -1 |
ELSE IF( N.LT.0 .OR. M.LT.N ) THEN |
ELSE IF( N.LT.0 .OR. M.LT.N ) THEN |
INFO = -2 |
INFO = -2 |
ELSE IF( MB.LE.N ) THEN |
ELSE IF( MB.LT.1 ) THEN |
INFO = -3 |
INFO = -3 |
ELSE IF( NB.LT.1 .OR. ( NB.GT.N .AND. N.GT.0 )) THEN |
ELSE IF( NB.LT.1 .OR. ( NB.GT.N .AND. N.GT.0 )) THEN |
INFO = -4 |
INFO = -4 |
ELSE IF( LDA.LT.MAX( 1, M ) ) THEN |
ELSE IF( LDA.LT.MAX( 1, M ) ) THEN |
INFO = -5 |
INFO = -6 |
ELSE IF( LDT.LT.NB ) THEN |
ELSE IF( LDT.LT.NB ) THEN |
INFO = -8 |
INFO = -8 |
ELSE IF( LWORK.LT.(N*NB) .AND. (.NOT.LQUERY) ) THEN |
ELSE IF( LWORK.LT.(N*NB) .AND. (.NOT.LQUERY) ) THEN |