version 1.1, 2017/06/17 11:02:50
|
version 1.6, 2023/08/07 08:38:59
|
Line 1
|
Line 1
|
|
*> \brief \b DLASWLQ |
* |
* |
* Definition: |
* Definition: |
* =========== |
* =========== |
Line 18
|
Line 19
|
*> |
*> |
*> \verbatim |
*> \verbatim |
*> |
*> |
*> DLASWLQ computes a blocked Short-Wide LQ factorization of a |
*> DLASWLQ computes a blocked Tall-Skinny LQ factorization of |
*> M-by-N matrix A, where N >= M: |
*> a real M-by-N matrix A for M <= N: |
*> A = L * Q |
*> |
|
*> A = ( L 0 ) * Q, |
|
*> |
|
*> where: |
|
*> |
|
*> Q is a n-by-N orthogonal matrix, stored on exit in an implicit |
|
*> form in the elements above the diagonal of the array A and in |
|
*> the elements of the array T; |
|
*> L is a lower-triangular M-by-M matrix stored on exit in |
|
*> the elements on and below the diagonal of the array A. |
|
*> 0 is a M-by-(N-M) zero matrix, if M < N, and is not stored. |
|
*> |
*> \endverbatim |
*> \endverbatim |
* |
* |
* Arguments: |
* Arguments: |
Line 48
|
Line 60
|
*> \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 QR. |
*> NB > M. |
*> NB > 0. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in,out] A |
*> \param[in,out] A |
*> \verbatim |
*> \verbatim |
*> A is DOUBLE PRECISION array, dimension (LDA,N) |
*> A is DOUBLE PRECISION array, dimension (LDA,N) |
*> On entry, the M-by-N matrix A. |
*> On entry, the M-by-N matrix A. |
*> On exit, the elements on and bleow the diagonal |
*> On exit, the elements on and below the diagonal |
*> of the array contain the N-by-N lower triangular matrix L; |
*> of the array contain the N-by-N lower triangular matrix L; |
*> the elements above the diagonal represent Q by the rows |
*> the elements above the diagonal represent Q by the rows |
*> of blocked V (see Further Details). |
*> of blocked V (see Further Details). |
Line 150
|
Line 162
|
SUBROUTINE DLASWLQ( M, N, MB, NB, A, LDA, T, LDT, WORK, LWORK, |
SUBROUTINE DLASWLQ( M, N, MB, NB, A, LDA, T, LDT, WORK, LWORK, |
$ INFO) |
$ 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, LWORK, LDT |
INTEGER INFO, LDA, M, N, MB, NB, LWORK, LDT |
Line 191
|
Line 202
|
INFO = -2 |
INFO = -2 |
ELSE IF( MB.LT.1 .OR. ( MB.GT.M .AND. M.GT.0 )) THEN |
ELSE IF( MB.LT.1 .OR. ( MB.GT.M .AND. M.GT.0 )) THEN |
INFO = -3 |
INFO = -3 |
ELSE IF( NB.LE.M ) THEN |
ELSE IF( NB.LT.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.MB ) THEN |
ELSE IF( LDT.LT.MB ) THEN |
INFO = -8 |
INFO = -8 |
ELSE IF( ( LWORK.LT.M*MB) .AND. (.NOT.LQUERY) ) THEN |
ELSE IF( ( LWORK.LT.M*MB) .AND. (.NOT.LQUERY) ) THEN |