version 1.2, 2017/06/17 11:06:15
|
version 1.3, 2018/05/29 06:55:16
|
Line 108
|
Line 108
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date December 2016 |
*> \date November 2017 |
* |
* |
*> \ingroup doubleGEcomputational |
*> \ingroup doubleGEcomputational |
* |
* |
Line 117
|
Line 117
|
*> |
*> |
*> \verbatim |
*> \verbatim |
*> |
*> |
*> The matrix V stores the elementary reflectors H(i) in the i-th column |
*> The matrix V stores the elementary reflectors H(i) in the i-th row |
*> below the diagonal. For example, if M=5 and N=3, the matrix V is |
*> above the diagonal. For example, if M=5 and N=3, the matrix V is |
*> |
*> |
*> V = ( 1 v1 v1 v1 v1 ) |
*> V = ( 1 v1 v1 v1 v1 ) |
*> ( 1 v2 v2 v2 ) |
*> ( 1 v2 v2 v2 ) |
Line 127
|
Line 127
|
*> |
*> |
*> where the vi's represent the vectors which define H(i), which are returned |
*> where the vi's represent the vectors which define H(i), which are returned |
*> in the matrix A. The 1's along the diagonal of V are not stored in A. |
*> in the matrix A. The 1's along the diagonal of V are not stored in A. |
*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/NB), where each |
*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each |
*> block is of order NB except for the last block, which is of order |
*> block is of order MB except for the last block, which is of order |
*> IB = K - (B-1)*NB. For each of the B blocks, a upper triangular block |
*> IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block |
*> reflector factor is computed: T1, T2, ..., TB. The NB-by-NB (and IB-by-IB |
*> reflector factor is computed: T1, T2, ..., TB. The MB-by-MB (and IB-by-IB |
*> for the last block) T's are stored in the NB-by-N matrix T as |
*> for the last block) T's are stored in the MB-by-K matrix T as |
*> |
*> |
*> T = (T1 T2 ... TB). |
*> T = (T1 T2 ... TB). |
*> \endverbatim |
*> \endverbatim |
Line 139
|
Line 139
|
* ===================================================================== |
* ===================================================================== |
SUBROUTINE DGELQT( M, N, MB, A, LDA, T, LDT, WORK, INFO ) |
SUBROUTINE DGELQT( M, N, MB, A, LDA, T, LDT, WORK, INFO ) |
* |
* |
* -- LAPACK computational routine (version 3.7.0) -- |
* -- LAPACK computational routine (version 3.8.0) -- |
* -- 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 |
* November 2017 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER INFO, LDA, LDT, M, N, MB |
INTEGER INFO, LDA, LDT, M, N, MB |
Line 158
|
Line 158
|
INTEGER I, IB, IINFO, K |
INTEGER I, IB, IINFO, K |
* .. |
* .. |
* .. External Subroutines .. |
* .. External Subroutines .. |
EXTERNAL DGEQRT2, DGEQRT3, DLARFB, XERBLA |
EXTERNAL DGEQRT2, DGELQT3, DGEQRT3, DLARFB, XERBLA |
* .. |
* .. |
* .. Executable Statements .. |
* .. Executable Statements .. |
* |
* |