version 1.1, 2017/06/17 11:02:55
|
version 1.5, 2023/08/07 08:39:32
|
Line 1
|
Line 1
|
|
*> \brief \b ZLATSQR |
* |
* |
* Definition: |
* Definition: |
* =========== |
* =========== |
Line 18
|
Line 19
|
*> |
*> |
*> \verbatim |
*> \verbatim |
*> |
*> |
*> SLATSQR computes a blocked Tall-Skinny QR factorization of |
*> ZLATSQR computes a blocked Tall-Skinny QR factorization of |
*> an M-by-N matrix A, where M >= N: |
*> a complex M-by-N matrix A for M >= N: |
*> A = Q * R . |
*> |
|
*> A = Q * ( R ), |
|
*> ( 0 ) |
|
*> |
|
*> where: |
|
*> |
|
*> Q is a M-by-M orthogonal matrix, stored on exit in an implicit |
|
*> form in the elements below the diagonal of the array A and in |
|
*> the elements of the array T; |
|
*> |
|
*> R is an upper-triangular N-by-N matrix, stored on exit in |
|
*> the elements on and above the diagonal of the array A. |
|
*> |
|
*> 0 is a (M-N)-by-N zero matrix, and is not stored. |
|
*> |
*> \endverbatim |
*> \endverbatim |
* |
* |
* Arguments: |
* Arguments: |
Line 149
|
Line 164
|
SUBROUTINE ZLATSQR( M, N, MB, NB, A, LDA, T, LDT, WORK, |
SUBROUTINE ZLATSQR( M, N, MB, NB, A, LDA, T, LDT, WORK, |
$ LWORK, INFO) |
$ LWORK, INFO) |
* |
* |
* -- LAPACK computational routine (version 3.7.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. -- |
* December 2016 |
|
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER INFO, LDA, M, N, MB, NB, LDT, LWORK |
INTEGER INFO, LDA, M, N, MB, NB, LDT, LWORK |
Line 188
|
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 |