diff options
author | julielangou <julie@cs.utk.edu> | 2017-03-18 10:22:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-18 10:22:04 -0700 |
commit | 4506e47617765c0e13d9d9fb3c6458dbfeda8dbb (patch) | |
tree | 95309e52b1b22578cc10e09db51b8be474dba167 /SRC | |
parent | 06f63681c5c9ada2371e43c48d2fde6265a590e0 (diff) | |
parent | 1ca9c52562cec809a6f77eb3a61c7838ad58fb11 (diff) | |
download | lapack-4506e47617765c0e13d9d9fb3c6458dbfeda8dbb.tar.gz lapack-4506e47617765c0e13d9d9fb3c6458dbfeda8dbb.tar.bz2 lapack-4506e47617765c0e13d9d9fb3c6458dbfeda8dbb.zip |
Merge pull request #134 from echeresh/doc_fix
Fixes for mistakes in documentation in ?GETSLS, ?(SY|HE)TRS_AA, ?LAM?(SWLQ|TSQR), ?(GE|TP)M?(LQ|QR)T(|2|3)
Diffstat (limited to 'SRC')
46 files changed, 215 insertions, 207 deletions
diff --git a/SRC/cgelqt.f b/SRC/cgelqt.f index 5bead535..8037ac59 100644 --- a/SRC/cgelqt.f +++ b/SRC/cgelqt.f @@ -101,8 +101,8 @@ *> *> \verbatim *> -*> The matrix V stores the elementary reflectors H(i) in the i-th column -*> below the diagonal. For example, if M=5 and N=3, the matrix V is +*> The matrix V stores the elementary reflectors H(i) in the i-th row +*> above the diagonal. For example, if M=5 and N=3, the matrix V is *> *> V = ( 1 v1 v1 v1 v1 ) *> ( 1 v2 v2 v2 ) @@ -111,11 +111,11 @@ *> *> 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. -*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/NB), where each -*> block is of order NB except for the last block, which is of order -*> IB = K - (B-1)*NB. 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 -*> for the last block) T's are stored in the NB-by-N matrix T as +*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each +*> block is of order MB except for the last block, which is of order +*> IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block +*> 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 MB-by-K matrix T as *> *> T = (T1 T2 ... TB). *> \endverbatim diff --git a/SRC/cgelqt3.f b/SRC/cgelqt3.f index 751cb613..48a0e74d 100644 --- a/SRC/cgelqt3.f +++ b/SRC/cgelqt3.f @@ -92,8 +92,8 @@ *> *> \verbatim *> -*> The matrix V stores the elementary reflectors H(i) in the i-th column -*> below the diagonal. For example, if M=5 and N=3, the matrix V is +*> The matrix V stores the elementary reflectors H(i) in the i-th row +*> above the diagonal. For example, if M=5 and N=3, the matrix V is *> *> V = ( 1 v1 v1 v1 v1 ) *> ( 1 v2 v2 v2 ) diff --git a/SRC/cgemlqt.f b/SRC/cgemlqt.f index e4c991a7..24319057 100644 --- a/SRC/cgemlqt.f +++ b/SRC/cgemlqt.f @@ -18,16 +18,16 @@ *> *> \verbatim *> -*> CGEMQRT overwrites the general real M-by-N matrix C with +*> CGEMLQT overwrites the general real M-by-N matrix C with *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q C C Q -*> TRANS = 'C': Q**C C C Q**C +*> TRANS = 'C': Q**H C C Q**H *> *> where Q is a complex orthogonal matrix defined as the product of K *> elementary reflectors: *> -*> Q = H(1) H(2) . . . H(K) = I - V C V**C +*> Q = H(1) H(2) . . . H(K) = I - V T V**H *> *> generated using the compact WY representation as returned by CGELQT. *> @@ -40,15 +40,15 @@ *> \param[in] SIDE *> \verbatim *> SIDE is CHARACTER*1 -*> = 'L': apply Q or Q**C from the Left; -*> = 'R': apply Q or Q**C from the Right. +*> = 'L': apply Q or Q**H from the Left; +*> = 'R': apply Q or Q**H from the Right. *> \endverbatim *> *> \param[in] TRANS *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'C': Transpose, apply Q**C. +*> = 'C': Transpose, apply Q**H. *> \endverbatim *> *> \param[in] M @@ -82,7 +82,9 @@ *> *> \param[in] V *> \verbatim -*> V is COMPLEX array, dimension (LDV,K) +*> V is COMPLEX array, dimension +*> (LDV,M) if SIDE = 'L', +*> (LDV,N) if SIDE = 'R' *> The i-th row must contain the vector which defines the *> elementary reflector H(i), for i = 1,2,...,k, as returned by *> DGELQT in the first K rows of its array argument A. @@ -91,16 +93,14 @@ *> \param[in] LDV *> \verbatim *> LDV is INTEGER -*> The leading dimension of the array V. -*> If SIDE = 'L', LDA >= max(1,M); -*> if SIDE = 'R', LDA >= max(1,N). +*> The leading dimension of the array V. LDV >= max(1,K). *> \endverbatim *> *> \param[in] T *> \verbatim *> T is COMPLEX array, dimension (LDT,K) *> The upper triangular factors of the block reflectors -*> as returned by DGELQT, stored as a MB-by-M matrix. +*> as returned by DGELQT, stored as a MB-by-K matrix. *> \endverbatim *> *> \param[in] LDT @@ -113,7 +113,7 @@ *> \verbatim *> C is COMPLEX array, dimension (LDC,N) *> On entry, the M-by-N matrix C. -*> On exit, C is overwritten by Q C, Q**C C, C Q**C or C Q. +*> On exit, C is overwritten by Q C, Q**H C, C Q**H or C Q. *> \endverbatim *> *> \param[in] LDC diff --git a/SRC/cgeqrt.f b/SRC/cgeqrt.f index 2b8bb698..b6a31967 100644 --- a/SRC/cgeqrt.f +++ b/SRC/cgeqrt.f @@ -133,7 +133,7 @@ *> block is of order NB except for the last block, which is of order *> IB = K - (B-1)*NB. 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 -*> 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 NB-by-K matrix T as *> *> T = (T1 T2 ... TB). *> \endverbatim diff --git a/SRC/cgetsls.f b/SRC/cgetsls.f index 56fb8063..f5910b32 100644 --- a/SRC/cgetsls.f +++ b/SRC/cgetsls.f @@ -53,7 +53,7 @@ *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': the linear system involves A; -*> = 'C': the linear system involves A**C. +*> = 'C': the linear system involves A**H. *> \endverbatim *> *> \param[in] M diff --git a/SRC/chetrs_aa.f b/SRC/chetrs_aa.f index f6640c50..94bd94ef 100644 --- a/SRC/chetrs_aa.f +++ b/SRC/chetrs_aa.f @@ -66,7 +66,7 @@ *> of the matrix B. NRHS >= 0. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is COMPLEX array, dimension (LDA,N) *> Details of factors computed by CHETRF_AA. diff --git a/SRC/clamswlq.f b/SRC/clamswlq.f index fd19f0af..569397a7 100644 --- a/SRC/clamswlq.f +++ b/SRC/clamswlq.f @@ -23,7 +23,7 @@ *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q * C C * Q -*> TRANS = 'T': Q**T * C C * Q**T +*> TRANS = 'T': Q**H * C C * Q**H *> where Q is a real orthogonal matrix defined as the product of blocked *> elementary reflectors computed by short wide LQ *> factorization (CLASWLQ) @@ -35,21 +35,21 @@ *> \param[in] SIDE *> \verbatim *> SIDE is CHARACTER*1 -*> = 'L': apply Q or Q**T from the Left; -*> = 'R': apply Q or Q**T from the Right. +*> = 'L': apply Q or Q**H from the Left; +*> = 'R': apply Q or Q**H from the Right. *> \endverbatim *> *> \param[in] TRANS *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'T': Transpose, apply Q**T. +*> = 'C': Transpose, apply Q**H. *> \endverbatim *> *> \param[in] M *> \verbatim *> M is INTEGER -*> The number of rows of the matrix A. M >=0. +*> The number of rows of the matrix C. M >=0. *> \endverbatim *> *> \param[in] N @@ -88,12 +88,14 @@ *> *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim -*> A is COMPLEX array, dimension (LDA,K) +*> A is COMPLEX array, dimension +*> (LDA,M) if SIDE = 'L', +*> (LDA,N) if SIDE = 'R' *> The i-th row must contain the vector which defines the blocked *> elementary reflector H(i), for i = 1,2,...,k, as returned by -*> DLASWLQ in the first k rows of its array argument A. +*> CLASWLQ in the first k rows of its array argument A. *> \endverbatim *> *> \param[in] LDA @@ -123,7 +125,7 @@ *> \verbatim *> C is COMPLEX array, dimension (LDC,N) *> On entry, the M-by-N matrix C. -*> On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. +*> On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. *> \endverbatim *> *> \param[in] LDC @@ -219,7 +221,7 @@ * .. * .. Local Scalars .. LOGICAL LEFT, RIGHT, TRAN, NOTRAN, LQUERY - INTEGER I, II, KK, LW , CTR + INTEGER I, II, KK, LW, CTR * .. * .. External Functions .. LOGICAL LSAME diff --git a/SRC/clamtsqr.f b/SRC/clamtsqr.f index a787caab..69acac54 100644 --- a/SRC/clamtsqr.f +++ b/SRC/clamtsqr.f @@ -23,7 +23,7 @@ *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q * C C * Q -*> TRANS = 'C': Q**C * C C * Q**C +*> TRANS = 'C': Q**H * C C * Q**H *> where Q is a real orthogonal matrix defined as the product *> of blocked elementary reflectors computed by tall skinny *> QR factorization (CLATSQR) @@ -35,15 +35,15 @@ *> \param[in] SIDE *> \verbatim *> SIDE is CHARACTER*1 -*> = 'L': apply Q or Q**T from the Left; -*> = 'R': apply Q or Q**T from the Right. +*> = 'L': apply Q or Q**H from the Left; +*> = 'R': apply Q or Q**H from the Right. *> \endverbatim *> *> \param[in] TRANS *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'C': Conjugate Transpose, apply Q**C. +*> = 'C': Conjugate Transpose, apply Q**H. *> \endverbatim *> *> \param[in] M @@ -81,7 +81,7 @@ *> N >= NB >= 1. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is COMPLEX array, dimension (LDA,K) *> The i-th column must contain the vector which defines the @@ -117,7 +117,7 @@ *> \verbatim *> C is COMPLEX array, dimension (LDC,N) *> On entry, the M-by-N matrix C. -*> On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. +*> On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. *> \endverbatim *> *> \param[in] LDC diff --git a/SRC/claswlq.f b/SRC/claswlq.f index 8b77142d..4c23d3ba 100644 --- a/SRC/claswlq.f +++ b/SRC/claswlq.f @@ -55,7 +55,7 @@ *> \verbatim *> A is COMPLEX array, dimension (LDA,N) *> 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; *> the elements above the diagonal represent Q by the rows *> of blocked V (see Further Details). diff --git a/SRC/csytrs_aa.f b/SRC/csytrs_aa.f index 6fedf912..2e2713d6 100644 --- a/SRC/csytrs_aa.f +++ b/SRC/csytrs_aa.f @@ -66,7 +66,7 @@ *> of the matrix B. NRHS >= 0. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is REAL array, dimension (LDA,N) *> Details of factors computed by CSYTRF_AA. diff --git a/SRC/ctplqt.f b/SRC/ctplqt.f index 322b6dc5..4aa96499 100644 --- a/SRC/ctplqt.f +++ b/SRC/ctplqt.f @@ -56,8 +56,8 @@ *> *> \param[in,out] A *> \verbatim -*> A is COMPLEX array, dimension (LDA,N) -*> On entry, the lower triangular N-by-N matrix A. +*> A is COMPLEX array, dimension (LDA,M) +*> On entry, the lower triangular M-by-M matrix A. *> On exit, the elements on and below the diagonal of the array *> contain the lower triangular matrix L. *> \endverbatim @@ -65,7 +65,7 @@ *> \param[in] LDA *> \verbatim *> LDA is INTEGER -*> The leading dimension of the array A. LDA >= max(1,N). +*> The leading dimension of the array A. LDA >= max(1,M). *> \endverbatim *> *> \param[in,out] B @@ -129,26 +129,26 @@ *> C = [ A ] [ B ] *> *> -*> where A is an lower triangular N-by-N matrix, and B is M-by-N pentagonal +*> where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal *> matrix consisting of a M-by-(N-L) rectangular matrix B1 on left of a M-by-L *> upper trapezoidal matrix B2: *> [ B ] = [ B1 ] [ B2 ] *> [ B1 ] <- M-by-(N-L) rectangular -*> [ B2 ] <- M-by-L upper trapezoidal. +*> [ B2 ] <- M-by-L lower trapezoidal. *> *> The lower trapezoidal matrix B2 consists of the first L columns of a -*> N-by-N lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, +*> M-by-M lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, *> B is rectangular M-by-N; if M=L=N, B is lower triangular. *> *> The matrix W stores the elementary reflectors H(i) in the i-th row *> above the diagonal (of A) in the M-by-(M+N) input matrix C *> [ C ] = [ A ] [ B ] -*> [ A ] <- lower triangular N-by-N +*> [ A ] <- lower triangular M-by-M *> [ B ] <- M-by-N pentagonal *> *> so that W can be represented as *> [ W ] = [ I ] [ V ] -*> [ I ] <- identity, N-by-N +*> [ I ] <- identity, M-by-M *> [ V ] <- M-by-N, same form as B. *> *> Thus, all of information needed for W is contained on exit in B, which diff --git a/SRC/ctplqt2.f b/SRC/ctplqt2.f index 1c9b128e..d1e28849 100644 --- a/SRC/ctplqt2.f +++ b/SRC/ctplqt2.f @@ -48,7 +48,7 @@ *> *> \param[in,out] A *> \verbatim -*> A is COMPLEX array, dimension (LDA,N) +*> A is COMPLEX array, dimension (LDA,M) *> On entry, the lower triangular M-by-M matrix A. *> On exit, the elements on and below the diagonal of the array *> contain the lower triangular matrix L. @@ -57,7 +57,7 @@ *> \param[in] LDA *> \verbatim *> LDA is INTEGER -*> The leading dimension of the array A. LDA >= max(1,N). +*> The leading dimension of the array A. LDA >= max(1,M). *> \endverbatim *> *> \param[in,out] B @@ -116,7 +116,7 @@ *> C = [ A ][ B ] *> *> -*> where A is an lower triangular N-by-N matrix, and B is M-by-N pentagonal +*> where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal *> matrix consisting of a M-by-(N-L) rectangular matrix B1 left of a M-by-L *> upper trapezoidal matrix B2: *> @@ -132,13 +132,13 @@ *> above the diagonal (of A) in the M-by-(M+N) input matrix C *> *> C = [ A ][ B ] -*> [ A ] <- lower triangular N-by-N +*> [ A ] <- lower triangular M-by-M *> [ B ] <- M-by-N pentagonal *> *> so that W can be represented as *> *> W = [ I ][ V ] -*> [ I ] <- identity, N-by-N +*> [ I ] <- identity, M-by-M *> [ V ] <- M-by-N, same form as B. *> *> Thus, all of information needed for W is contained on exit in B, which diff --git a/SRC/ctpmlqt.f b/SRC/ctpmlqt.f index b326d6a2..76414fc0 100644 --- a/SRC/ctpmlqt.f +++ b/SRC/ctpmlqt.f @@ -19,9 +19,9 @@ *> *> \verbatim *> -*> CTPMQRT applies a complex orthogonal matrix Q obtained from a -*> "triangular-pentagonal" real block reflector H to a general -*> real matrix C, which consists of two blocks A and B. +*> CTPMLQT applies a complex orthogonal matrix Q obtained from a +*> "triangular-pentagonal" complex block reflector H to a general +*> complex matrix C, which consists of two blocks A and B. *> \endverbatim * * Arguments: @@ -30,15 +30,15 @@ *> \param[in] SIDE *> \verbatim *> SIDE is CHARACTER*1 -*> = 'L': apply Q or Q**C from the Left; -*> = 'R': apply Q or Q**C from the Right. +*> = 'L': apply Q or Q**H from the Left; +*> = 'R': apply Q or Q**H from the Right. *> \endverbatim *> *> \param[in] TRANS *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'C': Transpose, apply Q**C. +*> = 'C': Transpose, apply Q**H. *> \endverbatim *> *> \param[in] M @@ -111,7 +111,7 @@ *> (LDA,K) if SIDE = 'R' *> On entry, the K-by-N or M-by-K matrix A. *> On exit, A is overwritten by the corresponding block of -*> Q*C or Q**C*C or C*Q or C*Q**C. See Further Details. +*> Q*C or Q**H*C or C*Q or C*Q**H. See Further Details. *> \endverbatim *> *> \param[in] LDA @@ -127,7 +127,7 @@ *> B is COMPLEX array, dimension (LDB,N) *> On entry, the M-by-N matrix B. *> On exit, B is overwritten by the corresponding block of -*> Q*C or Q**C*C or C*Q or C*Q**C. See Further Details. +*> Q*C or Q**H*C or C*Q or C*Q**H. See Further Details. *> \endverbatim *> *> \param[in] LDB @@ -188,11 +188,11 @@ *> *> If TRANS='N' and SIDE='L', C is on exit replaced with Q * C. *> -*> If TRANS='C' and SIDE='L', C is on exit replaced with Q**C * C. +*> If TRANS='C' and SIDE='L', C is on exit replaced with Q**H * C. *> *> If TRANS='N' and SIDE='R', C is on exit replaced with C * Q. *> -*> If TRANS='C' and SIDE='R', C is on exit replaced with C * Q**C. +*> If TRANS='C' and SIDE='R', C is on exit replaced with C * Q**H. *> \endverbatim *> * ===================================================================== diff --git a/SRC/dgelqt.f b/SRC/dgelqt.f index b11e9d6e..8f8d40c4 100644 --- a/SRC/dgelqt.f +++ b/SRC/dgelqt.f @@ -117,8 +117,8 @@ *> *> \verbatim *> -*> The matrix V stores the elementary reflectors H(i) in the i-th column -*> below the diagonal. For example, if M=5 and N=3, the matrix V is +*> The matrix V stores the elementary reflectors H(i) in the i-th row +*> above the diagonal. For example, if M=5 and N=3, the matrix V is *> *> V = ( 1 v1 v1 v1 v1 ) *> ( 1 v2 v2 v2 ) @@ -127,11 +127,11 @@ *> *> 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. -*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/NB), where each -*> block is of order NB except for the last block, which is of order -*> IB = K - (B-1)*NB. 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 -*> for the last block) T's are stored in the NB-by-N matrix T as +*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each +*> block is of order MB except for the last block, which is of order +*> IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block +*> 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 MB-by-K matrix T as *> *> T = (T1 T2 ... TB). *> \endverbatim diff --git a/SRC/dgelqt3.f b/SRC/dgelqt3.f index b0bb242a..9970b09e 100644 --- a/SRC/dgelqt3.f +++ b/SRC/dgelqt3.f @@ -109,8 +109,8 @@ *> *> \verbatim *> -*> The matrix V stores the elementary reflectors H(i) in the i-th column -*> below the diagonal. For example, if M=5 and N=3, the matrix V is +*> The matrix V stores the elementary reflectors H(i) in the i-th row +*> above the diagonal. For example, if M=5 and N=3, the matrix V is *> *> V = ( 1 v1 v1 v1 v1 ) *> ( 1 v2 v2 v2 ) diff --git a/SRC/dgemlqt.f b/SRC/dgemlqt.f index 41a517a2..fad4c453 100644 --- a/SRC/dgemlqt.f +++ b/SRC/dgemlqt.f @@ -6,7 +6,7 @@ * http://www.netlib.org/lapack/explore-html/ * *> \htmlonly -*> Download DGEMQRT + dependencies +*> Download DGEMLQT + dependencies *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dgemlqt.f"> *> [TGZ]</a> *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dgemlqt.f"> @@ -35,7 +35,7 @@ *> *> \verbatim *> -*> DGEMQRT overwrites the general real M-by-N matrix C with +*> DGEMLQT overwrites the general real M-by-N matrix C with *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q C C Q @@ -99,7 +99,9 @@ *> *> \param[in] V *> \verbatim -*> V is DOUBLE PRECISION array, dimension (LDV,K) +*> V is DOUBLE PRECISION array, dimension +*> (LDV,M) if SIDE = 'L', +*> (LDV,N) if SIDE = 'R' *> The i-th row must contain the vector which defines the *> elementary reflector H(i), for i = 1,2,...,k, as returned by *> DGELQT in the first K rows of its array argument A. @@ -108,16 +110,14 @@ *> \param[in] LDV *> \verbatim *> LDV is INTEGER -*> The leading dimension of the array V. -*> If SIDE = 'L', LDA >= max(1,M); -*> if SIDE = 'R', LDA >= max(1,N). +*> The leading dimension of the array V. LDV >= max(1,K). *> \endverbatim *> *> \param[in] T *> \verbatim *> T is DOUBLE PRECISION array, dimension (LDT,K) *> The upper triangular factors of the block reflectors -*> as returned by DGELQT, stored as a MB-by-M matrix. +*> as returned by DGELQT, stored as a MB-by-K matrix. *> \endverbatim *> *> \param[in] LDT diff --git a/SRC/dgeqrt.f b/SRC/dgeqrt.f index 6856bac0..33d079e1 100644 --- a/SRC/dgeqrt.f +++ b/SRC/dgeqrt.f @@ -133,7 +133,7 @@ *> block is of order NB except for the last block, which is of order *> IB = K - (B-1)*NB. 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 -*> 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 NB-by-K matrix T as *> *> T = (T1 T2 ... TB). *> \endverbatim diff --git a/SRC/dlamswlq.f b/SRC/dlamswlq.f index 8dc6df8a..8430ca19 100644 --- a/SRC/dlamswlq.f +++ b/SRC/dlamswlq.f @@ -49,7 +49,7 @@ *> \param[in] M *> \verbatim *> M is INTEGER -*> The number of rows of the matrix A. M >=0. +*> The number of rows of the matrix C. M >=0. *> \endverbatim *> *> \param[in] N @@ -88,9 +88,11 @@ *> *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim -*> A is DOUBLE PRECISION array, dimension (LDA,K) +*> A is DOUBLE PRECISION array, dimension +*> (LDA,M) if SIDE = 'L', +*> (LDA,N) if SIDE = 'R' *> The i-th row must contain the vector which defines the blocked *> elementary reflector H(i), for i = 1,2,...,k, as returned by *> DLASWLQ in the first k rows of its array argument A. diff --git a/SRC/dlamtsqr.f b/SRC/dlamtsqr.f index 9ba45901..d4801645 100644 --- a/SRC/dlamtsqr.f +++ b/SRC/dlamtsqr.f @@ -81,7 +81,7 @@ *> N >= NB >= 1. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is DOUBLE PRECISION array, dimension (LDA,K) *> The i-th column must contain the vector which defines the diff --git a/SRC/dlaswlq.f b/SRC/dlaswlq.f index 2830711a..41f99992 100644 --- a/SRC/dlaswlq.f +++ b/SRC/dlaswlq.f @@ -55,7 +55,7 @@ *> \verbatim *> A is DOUBLE PRECISION array, dimension (LDA,N) *> 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; *> the elements above the diagonal represent Q by the rows *> of blocked V (see Further Details). diff --git a/SRC/dsytrs_aa.f b/SRC/dsytrs_aa.f index b572581e..0dafa895 100644 --- a/SRC/dsytrs_aa.f +++ b/SRC/dsytrs_aa.f @@ -66,7 +66,7 @@ *> of the matrix B. NRHS >= 0. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is DOUBLE PRECISION array, dimension (LDA,N) *> Details of factors computed by DSYTRF_AA. diff --git a/SRC/dtplqt.f b/SRC/dtplqt.f index b312c501..a5a92744 100644 --- a/SRC/dtplqt.f +++ b/SRC/dtplqt.f @@ -73,8 +73,8 @@ *> *> \param[in,out] A *> \verbatim -*> A is DOUBLE PRECISION array, dimension (LDA,N) -*> On entry, the lower triangular N-by-N matrix A. +*> A is DOUBLE PRECISION array, dimension (LDA,M) +*> On entry, the lower triangular M-by-M matrix A. *> On exit, the elements on and below the diagonal of the array *> contain the lower triangular matrix L. *> \endverbatim @@ -82,7 +82,7 @@ *> \param[in] LDA *> \verbatim *> LDA is INTEGER -*> The leading dimension of the array A. LDA >= max(1,N). +*> The leading dimension of the array A. LDA >= max(1,M). *> \endverbatim *> *> \param[in,out] B @@ -146,26 +146,26 @@ *> C = [ A ] [ B ] *> *> -*> where A is an lower triangular N-by-N matrix, and B is M-by-N pentagonal +*> where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal *> matrix consisting of a M-by-(N-L) rectangular matrix B1 on left of a M-by-L *> upper trapezoidal matrix B2: *> [ B ] = [ B1 ] [ B2 ] *> [ B1 ] <- M-by-(N-L) rectangular -*> [ B2 ] <- M-by-L upper trapezoidal. +*> [ B2 ] <- M-by-L lower trapezoidal. *> *> The lower trapezoidal matrix B2 consists of the first L columns of a -*> N-by-N lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, +*> M-by-M lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, *> B is rectangular M-by-N; if M=L=N, B is lower triangular. *> *> The matrix W stores the elementary reflectors H(i) in the i-th row *> above the diagonal (of A) in the M-by-(M+N) input matrix C *> [ C ] = [ A ] [ B ] -*> [ A ] <- lower triangular N-by-N +*> [ A ] <- lower triangular M-by-M *> [ B ] <- M-by-N pentagonal *> *> so that W can be represented as *> [ W ] = [ I ] [ V ] -*> [ I ] <- identity, N-by-N +*> [ I ] <- identity, M-by-M *> [ V ] <- M-by-N, same form as B. *> *> Thus, all of information needed for W is contained on exit in B, which diff --git a/SRC/dtplqt2.f b/SRC/dtplqt2.f index 7e87e6c5..beb5ad6b 100644 --- a/SRC/dtplqt2.f +++ b/SRC/dtplqt2.f @@ -65,7 +65,7 @@ *> *> \param[in,out] A *> \verbatim -*> A is DOUBLE PRECISION array, dimension (LDA,N) +*> A is DOUBLE PRECISION array, dimension (LDA,M) *> On entry, the lower triangular M-by-M matrix A. *> On exit, the elements on and below the diagonal of the array *> contain the lower triangular matrix L. @@ -74,7 +74,7 @@ *> \param[in] LDA *> \verbatim *> LDA is INTEGER -*> The leading dimension of the array A. LDA >= max(1,N). +*> The leading dimension of the array A. LDA >= max(1,M). *> \endverbatim *> *> \param[in,out] B @@ -133,7 +133,7 @@ *> C = [ A ][ B ] *> *> -*> where A is an lower triangular N-by-N matrix, and B is M-by-N pentagonal +*> where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal *> matrix consisting of a M-by-(N-L) rectangular matrix B1 left of a M-by-L *> upper trapezoidal matrix B2: *> @@ -149,13 +149,13 @@ *> above the diagonal (of A) in the M-by-(M+N) input matrix C *> *> C = [ A ][ B ] -*> [ A ] <- lower triangular N-by-N +*> [ A ] <- lower triangular M-by-M *> [ B ] <- M-by-N pentagonal *> *> so that W can be represented as *> *> W = [ I ][ V ] -*> [ I ] <- identity, N-by-N +*> [ I ] <- identity, M-by-M *> [ V ] <- M-by-N, same form as B. *> *> Thus, all of information needed for W is contained on exit in B, which diff --git a/SRC/sgelqt.f b/SRC/sgelqt.f index 786255d1..f9b21098 100644 --- a/SRC/sgelqt.f +++ b/SRC/sgelqt.f @@ -100,8 +100,8 @@ *> *> \verbatim *> -*> The matrix V stores the elementary reflectors H(i) in the i-th column -*> below the diagonal. For example, if M=5 and N=3, the matrix V is +*> The matrix V stores the elementary reflectors H(i) in the i-th row +*> above the diagonal. For example, if M=5 and N=3, the matrix V is *> *> V = ( 1 v1 v1 v1 v1 ) *> ( 1 v2 v2 v2 ) @@ -110,11 +110,11 @@ *> *> 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. -*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/NB), where each -*> block is of order NB except for the last block, which is of order -*> IB = K - (B-1)*NB. 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 -*> for the last block) T's are stored in the NB-by-N matrix T as +*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each +*> block is of order MB except for the last block, which is of order +*> IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block +*> 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 MB-by-K matrix T as *> *> T = (T1 T2 ... TB). *> \endverbatim diff --git a/SRC/sgelqt3.f b/SRC/sgelqt3.f index b94fc278..9b888746 100644 --- a/SRC/sgelqt3.f +++ b/SRC/sgelqt3.f @@ -92,8 +92,8 @@ *> *> \verbatim *> -*> The matrix V stores the elementary reflectors H(i) in the i-th column -*> below the diagonal. For example, if M=5 and N=3, the matrix V is +*> The matrix V stores the elementary reflectors H(i) in the i-th row +*> above the diagonal. For example, if M=5 and N=3, the matrix V is *> *> V = ( 1 v1 v1 v1 v1 ) *> ( 1 v2 v2 v2 ) diff --git a/SRC/sgemlqt.f b/SRC/sgemlqt.f index 47074342..dc842244 100644 --- a/SRC/sgemlqt.f +++ b/SRC/sgemlqt.f @@ -18,7 +18,7 @@ *> *> \verbatim *> -*> DGEMQRT overwrites the general real M-by-N matrix C with +*> DGEMLQT overwrites the general real M-by-N matrix C with *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q C C Q @@ -82,7 +82,9 @@ *> *> \param[in] V *> \verbatim -*> V is REAL array, dimension (LDV,K) +*> V is REAL array, dimension +*> (LDV,M) if SIDE = 'L', +*> (LDV,N) if SIDE = 'R' *> The i-th row must contain the vector which defines the *> elementary reflector H(i), for i = 1,2,...,k, as returned by *> DGELQT in the first K rows of its array argument A. @@ -91,16 +93,14 @@ *> \param[in] LDV *> \verbatim *> LDV is INTEGER -*> The leading dimension of the array V. -*> If SIDE = 'L', LDA >= max(1,M); -*> if SIDE = 'R', LDA >= max(1,N). +*> The leading dimension of the array V. LDV >= max(1,K). *> \endverbatim *> *> \param[in] T *> \verbatim *> T is REAL array, dimension (LDT,K) *> The upper triangular factors of the block reflectors -*> as returned by DGELQT, stored as a MB-by-M matrix. +*> as returned by DGELQT, stored as a MB-by-K matrix. *> \endverbatim *> *> \param[in] LDT diff --git a/SRC/sgeqrt.f b/SRC/sgeqrt.f index d8b9fade..ed8bac49 100644 --- a/SRC/sgeqrt.f +++ b/SRC/sgeqrt.f @@ -133,7 +133,7 @@ *> block is of order NB except for the last block, which is of order *> IB = K - (B-1)*NB. 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 -*> 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 NB-by-K matrix T as *> *> T = (T1 T2 ... TB). *> \endverbatim diff --git a/SRC/slamswlq.f b/SRC/slamswlq.f index ccdddbb3..f3238b6d 100644 --- a/SRC/slamswlq.f +++ b/SRC/slamswlq.f @@ -18,7 +18,7 @@ *> *> \verbatim *> -*> DLAMQRTS overwrites the general real M-by-N matrix C with +*> SLAMSWLQ overwrites the general real M-by-N matrix C with *> *> *> SIDE = 'L' SIDE = 'R' @@ -26,7 +26,7 @@ *> TRANS = 'T': Q**T * C C * Q**T *> where Q is a real orthogonal matrix defined as the product of blocked *> elementary reflectors computed by short wide LQ -*> factorization (DLASWLQ) +*> factorization (SLASWLQ) *> \endverbatim * * Arguments: @@ -49,7 +49,7 @@ *> \param[in] M *> \verbatim *> M is INTEGER -*> The number of rows of the matrix A. M >=0. +*> The number of rows of the matrix C. M >=0. *> \endverbatim *> *> \param[in] N @@ -88,12 +88,14 @@ *> *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim -*> A is REAL array, dimension (LDA,K) +*> A is REAL array, dimension +*> (LDA,M) if SIDE = 'L', +*> (LDA,N) if SIDE = 'R' *> The i-th row must contain the vector which defines the blocked *> elementary reflector H(i), for i = 1,2,...,k, as returned by -*> DLASWLQ in the first k rows of its array argument A. +*> SLASWLQ in the first k rows of its array argument A. *> \endverbatim *> *> \param[in] LDA diff --git a/SRC/slamtsqr.f b/SRC/slamtsqr.f index 747481da..cbcace69 100644 --- a/SRC/slamtsqr.f +++ b/SRC/slamtsqr.f @@ -81,7 +81,7 @@ *> N >= NB >= 1. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is REAL array, dimension (LDA,K) *> The i-th column must contain the vector which defines the diff --git a/SRC/slaswlq.f b/SRC/slaswlq.f index efd28a6b..565ce2b6 100644 --- a/SRC/slaswlq.f +++ b/SRC/slaswlq.f @@ -55,7 +55,7 @@ *> \verbatim *> A is REAL array, dimension (LDA,N) *> 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; *> the elements above the diagonal represent Q by the rows *> of blocked V (see Further Details). diff --git a/SRC/ssytrs_aa.f b/SRC/ssytrs_aa.f index 6d084736..aa2f9cfc 100644 --- a/SRC/ssytrs_aa.f +++ b/SRC/ssytrs_aa.f @@ -66,7 +66,7 @@ *> of the matrix B. NRHS >= 0. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is REAL array, dimension (LDA,N) *> Details of factors computed by SSYTRF_AA. diff --git a/SRC/stplqt.f b/SRC/stplqt.f index e3c37abf..482ce568 100644 --- a/SRC/stplqt.f +++ b/SRC/stplqt.f @@ -73,8 +73,8 @@ *> *> \param[in,out] A *> \verbatim -*> A is REAL array, dimension (LDA,N) -*> On entry, the lower triangular N-by-N matrix A. +*> A is REAL array, dimension (LDA,M) +*> On entry, the lower triangular M-by-M matrix A. *> On exit, the elements on and below the diagonal of the array *> contain the lower triangular matrix L. *> \endverbatim @@ -82,7 +82,7 @@ *> \param[in] LDA *> \verbatim *> LDA is INTEGER -*> The leading dimension of the array A. LDA >= max(1,N). +*> The leading dimension of the array A. LDA >= max(1,M). *> \endverbatim *> *> \param[in,out] B @@ -146,26 +146,26 @@ *> C = [ A ] [ B ] *> *> -*> where A is an lower triangular N-by-N matrix, and B is M-by-N pentagonal +*> where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal *> matrix consisting of a M-by-(N-L) rectangular matrix B1 on left of a M-by-L *> upper trapezoidal matrix B2: *> [ B ] = [ B1 ] [ B2 ] *> [ B1 ] <- M-by-(N-L) rectangular -*> [ B2 ] <- M-by-L upper trapezoidal. +*> [ B2 ] <- M-by-L lower trapezoidal. *> *> The lower trapezoidal matrix B2 consists of the first L columns of a -*> N-by-N lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, +*> M-by-M lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, *> B is rectangular M-by-N; if M=L=N, B is lower triangular. *> *> The matrix W stores the elementary reflectors H(i) in the i-th row *> above the diagonal (of A) in the M-by-(M+N) input matrix C *> [ C ] = [ A ] [ B ] -*> [ A ] <- lower triangular N-by-N +*> [ A ] <- lower triangular M-by-M *> [ B ] <- M-by-N pentagonal *> *> so that W can be represented as *> [ W ] = [ I ] [ V ] -*> [ I ] <- identity, N-by-N +*> [ I ] <- identity, M-by-M *> [ V ] <- M-by-N, same form as B. *> *> Thus, all of information needed for W is contained on exit in B, which diff --git a/SRC/stplqt2.f b/SRC/stplqt2.f index f1b8e030..b16738fb 100644 --- a/SRC/stplqt2.f +++ b/SRC/stplqt2.f @@ -65,7 +65,7 @@ *> *> \param[in,out] A *> \verbatim -*> A is REAL array, dimension (LDA,N) +*> A is REAL array, dimension (LDA,M) *> On entry, the lower triangular M-by-M matrix A. *> On exit, the elements on and below the diagonal of the array *> contain the lower triangular matrix L. @@ -74,7 +74,7 @@ *> \param[in] LDA *> \verbatim *> LDA is INTEGER -*> The leading dimension of the array A. LDA >= max(1,N). +*> The leading dimension of the array A. LDA >= max(1,M). *> \endverbatim *> *> \param[in,out] B @@ -133,7 +133,7 @@ *> C = [ A ][ B ] *> *> -*> where A is an lower triangular N-by-N matrix, and B is M-by-N pentagonal +*> where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal *> matrix consisting of a M-by-(N-L) rectangular matrix B1 left of a M-by-L *> upper trapezoidal matrix B2: *> @@ -149,13 +149,13 @@ *> above the diagonal (of A) in the M-by-(M+N) input matrix C *> *> C = [ A ][ B ] -*> [ A ] <- lower triangular N-by-N +*> [ A ] <- lower triangular M-by-M *> [ B ] <- M-by-N pentagonal *> *> so that W can be represented as *> *> W = [ I ][ V ] -*> [ I ] <- identity, N-by-N +*> [ I ] <- identity, M-by-M *> [ V ] <- M-by-N, same form as B. *> *> Thus, all of information needed for W is contained on exit in B, which diff --git a/SRC/zgelqt.f b/SRC/zgelqt.f index c8afd1c5..54da169b 100644 --- a/SRC/zgelqt.f +++ b/SRC/zgelqt.f @@ -117,8 +117,8 @@ *> *> \verbatim *> -*> The matrix V stores the elementary reflectors H(i) in the i-th column -*> below the diagonal. For example, if M=5 and N=3, the matrix V is +*> The matrix V stores the elementary reflectors H(i) in the i-th row +*> above the diagonal. For example, if M=5 and N=3, the matrix V is *> *> V = ( 1 v1 v1 v1 v1 ) *> ( 1 v2 v2 v2 ) @@ -127,11 +127,11 @@ *> *> 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. -*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/NB), where each -*> block is of order NB except for the last block, which is of order -*> IB = K - (B-1)*NB. 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 -*> for the last block) T's are stored in the NB-by-N matrix T as +*> Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each +*> block is of order MB except for the last block, which is of order +*> IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block +*> 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 MB-by-K matrix T as *> *> T = (T1 T2 ... TB). *> \endverbatim diff --git a/SRC/zgelqt3.f b/SRC/zgelqt3.f index 14063544..438238a1 100644 --- a/SRC/zgelqt3.f +++ b/SRC/zgelqt3.f @@ -109,8 +109,8 @@ *> *> \verbatim *> -*> The matrix V stores the elementary reflectors H(i) in the i-th column -*> below the diagonal. For example, if M=5 and N=3, the matrix V is +*> The matrix V stores the elementary reflectors H(i) in the i-th row +*> above the diagonal. For example, if M=5 and N=3, the matrix V is *> *> V = ( 1 v1 v1 v1 v1 ) *> ( 1 v2 v2 v2 ) diff --git a/SRC/zgemlqt.f b/SRC/zgemlqt.f index 569713c7..e75b24b0 100644 --- a/SRC/zgemlqt.f +++ b/SRC/zgemlqt.f @@ -6,7 +6,7 @@ * http://www.netlib.org/lapack/explore-html/ * *> \htmlonly -*> Download DGEMQRT + dependencies +*> Download DGEMLQT + dependencies *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zgemlqt.f"> *> [TGZ]</a> *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zgemlqt.f"> @@ -35,16 +35,16 @@ *> *> \verbatim *> -*> ZGEMQRT overwrites the general real M-by-N matrix C with +*> ZGEMLQT overwrites the general real M-by-N matrix C with *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q C C Q -*> TRANS = 'C': Q**C C C Q**C +*> TRANS = 'C': Q**H C C Q**H *> *> where Q is a complex orthogonal matrix defined as the product of K *> elementary reflectors: *> -*> Q = H(1) H(2) . . . H(K) = I - V C V**C +*> Q = H(1) H(2) . . . H(K) = I - V T V**H *> *> generated using the compact WY representation as returned by ZGELQT. *> @@ -57,15 +57,15 @@ *> \param[in] SIDE *> \verbatim *> SIDE is CHARACTER*1 -*> = 'L': apply Q or Q**C from the Left; -*> = 'R': apply Q or Q**C from the Right. +*> = 'L': apply Q or Q**H from the Left; +*> = 'R': apply Q or Q**H from the Right. *> \endverbatim *> *> \param[in] TRANS *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'C': Transpose, apply Q**C. +*> = 'C': Transpose, apply Q**H. *> \endverbatim *> *> \param[in] M @@ -99,7 +99,9 @@ *> *> \param[in] V *> \verbatim -*> V is COMPLEX*16 array, dimension (LDV,K) +*> V is COMPLEX*16 array, dimension +*> (LDV,M) if SIDE = 'L', +*> (LDV,N) if SIDE = 'R' *> The i-th row must contain the vector which defines the *> elementary reflector H(i), for i = 1,2,...,k, as returned by *> DGELQT in the first K rows of its array argument A. @@ -108,16 +110,14 @@ *> \param[in] LDV *> \verbatim *> LDV is INTEGER -*> The leading dimension of the array V. -*> If SIDE = 'L', LDA >= max(1,M); -*> if SIDE = 'R', LDA >= max(1,N). +*> The leading dimension of the array V. LDV >= max(1,K). *> \endverbatim *> *> \param[in] T *> \verbatim *> T is COMPLEX*16 array, dimension (LDT,K) *> The upper triangular factors of the block reflectors -*> as returned by DGELQT, stored as a MB-by-M matrix. +*> as returned by DGELQT, stored as a MB-by-K matrix. *> \endverbatim *> *> \param[in] LDT @@ -130,7 +130,7 @@ *> \verbatim *> C is COMPLEX*16 array, dimension (LDC,N) *> On entry, the M-by-N matrix C. -*> On exit, C is overwritten by Q C, Q**C C, C Q**C or C Q. +*> On exit, C is overwritten by Q C, Q**H C, C Q**H or C Q. *> \endverbatim *> *> \param[in] LDC diff --git a/SRC/zgeqrt.f b/SRC/zgeqrt.f index 4f872c5b..910f803e 100644 --- a/SRC/zgeqrt.f +++ b/SRC/zgeqrt.f @@ -133,7 +133,7 @@ *> block is of order NB except for the last block, which is of order *> IB = K - (B-1)*NB. 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 -*> 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 NB-by-K matrix T as *> *> T = (T1 T2 ... TB). *> \endverbatim diff --git a/SRC/zgetsls.f b/SRC/zgetsls.f index 40ad10e8..e9ff84fd 100644 --- a/SRC/zgetsls.f +++ b/SRC/zgetsls.f @@ -53,7 +53,7 @@ *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': the linear system involves A; -*> = 'C': the linear system involves A**C. +*> = 'C': the linear system involves A**H. *> \endverbatim *> *> \param[in] M diff --git a/SRC/zhetrs_aa.f b/SRC/zhetrs_aa.f index 044bf4cf..af8e6762 100644 --- a/SRC/zhetrs_aa.f +++ b/SRC/zhetrs_aa.f @@ -67,7 +67,7 @@ *> of the matrix B. NRHS >= 0. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is COMPLEX*16 array, dimension (LDA,N) *> Details of factors computed by ZHETRF_AA. diff --git a/SRC/zlamswlq.f b/SRC/zlamswlq.f index 8068114b..9cd529bf 100644 --- a/SRC/zlamswlq.f +++ b/SRC/zlamswlq.f @@ -23,7 +23,7 @@ *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q * C C * Q -*> TRANS = 'T': Q**T * C C * Q**T +*> TRANS = 'C': Q**H * C C * Q**H *> where Q is a real orthogonal matrix defined as the product of blocked *> elementary reflectors computed by short wide LQ *> factorization (ZLASWLQ) @@ -35,21 +35,21 @@ *> \param[in] SIDE *> \verbatim *> SIDE is CHARACTER*1 -*> = 'L': apply Q or Q**T from the Left; -*> = 'R': apply Q or Q**T from the Right. +*> = 'L': apply Q or Q**H from the Left; +*> = 'R': apply Q or Q**H from the Right. *> \endverbatim *> *> \param[in] TRANS *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'T': Transpose, apply Q**T. +*> = 'C': Conjugate Transpose, apply Q**H. *> \endverbatim *> *> \param[in] M *> \verbatim *> M is INTEGER -*> The number of rows of the matrix A. M >=0. +*> The number of rows of the matrix C. M >=0. *> \endverbatim *> *> \param[in] N @@ -88,12 +88,14 @@ *> *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim -*> A is COMPLEX*16 array, dimension (LDA,K) +*> A is COMPLEX*16 array, dimension +*> (LDA,M) if SIDE = 'L', +*> (LDA,N) if SIDE = 'R' *> The i-th row must contain the vector which defines the blocked *> elementary reflector H(i), for i = 1,2,...,k, as returned by -*> DLASWLQ in the first k rows of its array argument A. +*> ZLASWLQ in the first k rows of its array argument A. *> \endverbatim *> *> \param[in] LDA @@ -123,7 +125,7 @@ *> \verbatim *> C is COMPLEX*16 array, dimension (LDC,N) *> On entry, the M-by-N matrix C. -*> On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. +*> On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. *> \endverbatim *> *> \param[in] LDC @@ -207,7 +209,7 @@ * * .. Scalar Arguments .. CHARACTER SIDE, TRANS - INTEGER INFO, LDA, M, N, K, MB, NB, LDT, LWORK, LDC, LW + INTEGER INFO, LDA, M, N, K, MB, NB, LDT, LWORK, LDC * .. * .. Array Arguments .. COMPLEX*16 A( LDA, * ), WORK( * ), C(LDC, * ), @@ -219,7 +221,7 @@ * .. * .. Local Scalars .. LOGICAL LEFT, RIGHT, TRAN, NOTRAN, LQUERY - INTEGER I, II, KK, CTR + INTEGER I, II, KK, LW, CTR * .. * .. External Functions .. LOGICAL LSAME diff --git a/SRC/zlamtsqr.f b/SRC/zlamtsqr.f index 855083a6..79370017 100644 --- a/SRC/zlamtsqr.f +++ b/SRC/zlamtsqr.f @@ -23,7 +23,7 @@ *> *> SIDE = 'L' SIDE = 'R' *> TRANS = 'N': Q * C C * Q -*> TRANS = 'C': Q**C * C C * Q**C +*> TRANS = 'C': Q**H * C C * Q**H *> where Q is a real orthogonal matrix defined as the product *> of blocked elementary reflectors computed by tall skinny *> QR factorization (ZLATSQR) @@ -35,15 +35,15 @@ *> \param[in] SIDE *> \verbatim *> SIDE is CHARACTER*1 -*> = 'L': apply Q or Q**T from the Left; -*> = 'R': apply Q or Q**T from the Right. +*> = 'L': apply Q or Q**H from the Left; +*> = 'R': apply Q or Q**H from the Right. *> \endverbatim *> *> \param[in] TRANS *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'C': Conjugate Transpose, apply Q**C. +*> = 'C': Conjugate Transpose, apply Q**H. *> \endverbatim *> *> \param[in] M @@ -81,7 +81,7 @@ *> N >= NB >= 1. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is COMPLEX*16 array, dimension (LDA,K) *> The i-th column must contain the vector which defines the @@ -117,7 +117,7 @@ *> \verbatim *> C is COMPLEX*16 array, dimension (LDC,N) *> On entry, the M-by-N matrix C. -*> On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. +*> On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. *> \endverbatim *> *> \param[in] LDC diff --git a/SRC/zlaswlq.f b/SRC/zlaswlq.f index cd7bcc3a..96f86f18 100644 --- a/SRC/zlaswlq.f +++ b/SRC/zlaswlq.f @@ -55,7 +55,7 @@ *> \verbatim *> A is COMPLEX*16 array, dimension (LDA,N) *> 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; *> the elements above the diagonal represent Q by the rows *> of blocked V (see Further Details). diff --git a/SRC/zsytrs_aa.f b/SRC/zsytrs_aa.f index b3c9b9ec..fc7f31e6 100644 --- a/SRC/zsytrs_aa.f +++ b/SRC/zsytrs_aa.f @@ -66,7 +66,7 @@ *> of the matrix B. NRHS >= 0. *> \endverbatim *> -*> \param[in,out] A +*> \param[in] A *> \verbatim *> A is COMPLEX*16 array, dimension (LDA,N) *> Details of factors computed by ZSYTRF_AA. diff --git a/SRC/ztplqt.f b/SRC/ztplqt.f index 28740208..a9a035ef 100644 --- a/SRC/ztplqt.f +++ b/SRC/ztplqt.f @@ -73,8 +73,8 @@ *> *> \param[in,out] A *> \verbatim -*> A is COMPLEX*16 array, dimension (LDA,N) -*> On entry, the lower triangular N-by-N matrix A. +*> A is COMPLEX*16 array, dimension (LDA,M) +*> On entry, the lower triangular M-by-M matrix A. *> On exit, the elements on and below the diagonal of the array *> contain the lower triangular matrix L. *> \endverbatim @@ -82,7 +82,7 @@ *> \param[in] LDA *> \verbatim *> LDA is INTEGER -*> The leading dimension of the array A. LDA >= max(1,N). +*> The leading dimension of the array A. LDA >= max(1,M). *> \endverbatim *> *> \param[in,out] B @@ -146,26 +146,26 @@ *> C = [ A ] [ B ] *> *> -*> where A is an lower triangular N-by-N matrix, and B is M-by-N pentagonal +*> where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal *> matrix consisting of a M-by-(N-L) rectangular matrix B1 on left of a M-by-L *> upper trapezoidal matrix B2: *> [ B ] = [ B1 ] [ B2 ] *> [ B1 ] <- M-by-(N-L) rectangular -*> [ B2 ] <- M-by-L upper trapezoidal. +*> [ B2 ] <- M-by-L lower trapezoidal. *> *> The lower trapezoidal matrix B2 consists of the first L columns of a -*> N-by-N lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, +*> M-by-M lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, *> B is rectangular M-by-N; if M=L=N, B is lower triangular. *> *> The matrix W stores the elementary reflectors H(i) in the i-th row *> above the diagonal (of A) in the M-by-(M+N) input matrix C *> [ C ] = [ A ] [ B ] -*> [ A ] <- lower triangular N-by-N +*> [ A ] <- lower triangular M-by-M *> [ B ] <- M-by-N pentagonal *> *> so that W can be represented as *> [ W ] = [ I ] [ V ] -*> [ I ] <- identity, N-by-N +*> [ I ] <- identity, M-by-M *> [ V ] <- M-by-N, same form as B. *> *> Thus, all of information needed for W is contained on exit in B, which diff --git a/SRC/ztplqt2.f b/SRC/ztplqt2.f index 733f9dcc..a1d96dba 100644 --- a/SRC/ztplqt2.f +++ b/SRC/ztplqt2.f @@ -65,7 +65,7 @@ *> *> \param[in,out] A *> \verbatim -*> A is COMPLEX*16 array, dimension (LDA,N) +*> A is COMPLEX*16 array, dimension (LDA,M) *> On entry, the lower triangular M-by-M matrix A. *> On exit, the elements on and below the diagonal of the array *> contain the lower triangular matrix L. @@ -74,7 +74,7 @@ *> \param[in] LDA *> \verbatim *> LDA is INTEGER -*> The leading dimension of the array A. LDA >= max(1,N). +*> The leading dimension of the array A. LDA >= max(1,M). *> \endverbatim *> *> \param[in,out] B @@ -133,7 +133,7 @@ *> C = [ A ][ B ] *> *> -*> where A is an lower triangular N-by-N matrix, and B is M-by-N pentagonal +*> where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal *> matrix consisting of a M-by-(N-L) rectangular matrix B1 left of a M-by-L *> upper trapezoidal matrix B2: *> @@ -149,13 +149,13 @@ *> above the diagonal (of A) in the M-by-(M+N) input matrix C *> *> C = [ A ][ B ] -*> [ A ] <- lower triangular N-by-N +*> [ A ] <- lower triangular M-by-M *> [ B ] <- M-by-N pentagonal *> *> so that W can be represented as *> *> W = [ I ][ V ] -*> [ I ] <- identity, N-by-N +*> [ I ] <- identity, M-by-M *> [ V ] <- M-by-N, same form as B. *> *> Thus, all of information needed for W is contained on exit in B, which diff --git a/SRC/ztpmlqt.f b/SRC/ztpmlqt.f index f9540e11..e6c611e0 100644 --- a/SRC/ztpmlqt.f +++ b/SRC/ztpmlqt.f @@ -6,7 +6,7 @@ * http://www.netlib.org/lapack/explore-html/ * *> \htmlonly -*> Download DTPMQRT + dependencies +*> Download ZTPMLQT + dependencies *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/ztpmlqt.f"> *> [TGZ]</a> *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/ztpmlqt.f"> @@ -36,9 +36,9 @@ *> *> \verbatim *> -*> ZTPMQRT applies a complex orthogonal matrix Q obtained from a -*> "triangular-pentagonal" real block reflector H to a general -*> real matrix C, which consists of two blocks A and B. +*> ZTPMLQT applies a complex orthogonal matrix Q obtained from a +*> "triangular-pentagonal" complex block reflector H to a general +*> complex matrix C, which consists of two blocks A and B. *> \endverbatim * * Arguments: @@ -47,15 +47,15 @@ *> \param[in] SIDE *> \verbatim *> SIDE is CHARACTER*1 -*> = 'L': apply Q or Q**C from the Left; -*> = 'R': apply Q or Q**C from the Right. +*> = 'L': apply Q or Q**H from the Left; +*> = 'R': apply Q or Q**H from the Right. *> \endverbatim *> *> \param[in] TRANS *> \verbatim *> TRANS is CHARACTER*1 *> = 'N': No transpose, apply Q; -*> = 'C': Transpose, apply Q**C. +*> = 'C': Transpose, apply Q**H. *> \endverbatim *> *> \param[in] M @@ -128,7 +128,7 @@ *> (LDA,K) if SIDE = 'R' *> On entry, the K-by-N or M-by-K matrix A. *> On exit, A is overwritten by the corresponding block of -*> Q*C or Q**C*C or C*Q or C*Q**C. See Further Details. +*> Q*C or Q**H*C or C*Q or C*Q**H. See Further Details. *> \endverbatim *> *> \param[in] LDA @@ -144,7 +144,7 @@ *> B is COMPLEX*16 array, dimension (LDB,N) *> On entry, the M-by-N matrix B. *> On exit, B is overwritten by the corresponding block of -*> Q*C or Q**C*C or C*Q or C*Q**C. See Further Details. +*> Q*C or Q**H*C or C*Q or C*Q**H. See Further Details. *> \endverbatim *> *> \param[in] LDB @@ -205,11 +205,11 @@ *> *> If TRANS='N' and SIDE='L', C is on exit replaced with Q * C. *> -*> If TRANS='C' and SIDE='L', C is on exit replaced with Q**C * C. +*> If TRANS='C' and SIDE='L', C is on exit replaced with Q**H * C. *> *> If TRANS='N' and SIDE='R', C is on exit replaced with C * Q. *> -*> If TRANS='C' and SIDE='R', C is on exit replaced with C * Q**C. +*> If TRANS='C' and SIDE='R', C is on exit replaced with C * Q**H. *> \endverbatim *> * ===================================================================== |