summaryrefslogtreecommitdiff
path: root/SRC
diff options
context:
space:
mode:
authorjulielangou <julie@cs.utk.edu>2017-03-18 10:22:04 -0700
committerGitHub <noreply@github.com>2017-03-18 10:22:04 -0700
commit4506e47617765c0e13d9d9fb3c6458dbfeda8dbb (patch)
tree95309e52b1b22578cc10e09db51b8be474dba167 /SRC
parent06f63681c5c9ada2371e43c48d2fde6265a590e0 (diff)
parent1ca9c52562cec809a6f77eb3a61c7838ad58fb11 (diff)
downloadlapack-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')
-rw-r--r--SRC/cgelqt.f14
-rw-r--r--SRC/cgelqt3.f4
-rw-r--r--SRC/cgemlqt.f24
-rw-r--r--SRC/cgeqrt.f2
-rw-r--r--SRC/cgetsls.f2
-rw-r--r--SRC/chetrs_aa.f2
-rw-r--r--SRC/clamswlq.f22
-rw-r--r--SRC/clamtsqr.f12
-rw-r--r--SRC/claswlq.f2
-rw-r--r--SRC/csytrs_aa.f2
-rw-r--r--SRC/ctplqt.f16
-rw-r--r--SRC/ctplqt2.f10
-rw-r--r--SRC/ctpmlqt.f20
-rw-r--r--SRC/dgelqt.f14
-rw-r--r--SRC/dgelqt3.f4
-rw-r--r--SRC/dgemlqt.f14
-rw-r--r--SRC/dgeqrt.f2
-rw-r--r--SRC/dlamswlq.f8
-rw-r--r--SRC/dlamtsqr.f2
-rw-r--r--SRC/dlaswlq.f2
-rw-r--r--SRC/dsytrs_aa.f2
-rw-r--r--SRC/dtplqt.f16
-rw-r--r--SRC/dtplqt2.f10
-rw-r--r--SRC/sgelqt.f14
-rw-r--r--SRC/sgelqt3.f4
-rw-r--r--SRC/sgemlqt.f12
-rw-r--r--SRC/sgeqrt.f2
-rw-r--r--SRC/slamswlq.f14
-rw-r--r--SRC/slamtsqr.f2
-rw-r--r--SRC/slaswlq.f2
-rw-r--r--SRC/ssytrs_aa.f2
-rw-r--r--SRC/stplqt.f16
-rw-r--r--SRC/stplqt2.f10
-rw-r--r--SRC/zgelqt.f14
-rw-r--r--SRC/zgelqt3.f4
-rw-r--r--SRC/zgemlqt.f26
-rw-r--r--SRC/zgeqrt.f2
-rw-r--r--SRC/zgetsls.f2
-rw-r--r--SRC/zhetrs_aa.f2
-rw-r--r--SRC/zlamswlq.f24
-rw-r--r--SRC/zlamtsqr.f12
-rw-r--r--SRC/zlaswlq.f2
-rw-r--r--SRC/zsytrs_aa.f2
-rw-r--r--SRC/ztplqt.f16
-rw-r--r--SRC/ztplqt2.f10
-rw-r--r--SRC/ztpmlqt.f22
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
*>
* =====================================================================