Visible to Intel only — GUID: GUID-6B0E54F0-D2C1-4761-85BD-741CF46EF12E
Visible to Intel only — GUID: GUID-6B0E54F0-D2C1-4761-85BD-741CF46EF12E
?gelqt
?gelqt computes a blocked LQ factorization of a real or complex m-by-n matrix A using the compact WY representation of Q.
call sgelqt(m, n, mb, a, lda, t, ldt, work, info)
call dgelqt(m, n, mb, a, lda, t, ldt, work, info)
call cgelqt(m, n, mb, a, lda, t, ldt, work, info)
call zgelqt(m, n, mb, a, lda, t, ldt, work, info)
Description
?gelqt computes a blocked LQ factorization of a real or complex m-by-n matrix A using the compact WY representation of Q.
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 ) ( 1 v3 v3 )
where the vis represent the vectors which define H(i), which are returned in the array a. The 1 elements along the diagonal of V are not stored in a. 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 = (T1T2 ... TB).
Input Parameters
- m
-
INTEGER. The number of rows of the matrix A. m≥ 0.
- n
-
INTEGER. The number of columns of the matrix A. n≥ 0.
- mb
-
INTEGER. The block size to be used in the blocked QR. min(m, n) ≥mb≥ 1.
- a
-
REAL for sgelqt
DOUBLE PRECISION for dgelqt
COMPLEX for cgelqt
COMPLEX*16 for zgelqt
Array of size (lda,n). On entry, the m-by-n matrix A.
- lda
-
INTEGER. The leading dimension of the array a. lda≥ max(1,m).
- ldt
-
INTEGER. The leading dimension of the array t. ldt≥mb.
Output Parameters
- a
-
On exit, the elements on and below the diagonal of the array contain the m-by-min(m, n) lower trapezoidal matrix L (L is lower triangular if m≤n); the elements above the diagonal are the rows of V.
- t
-
REAL for sgelqt
DOUBLE PRECISION for dgelqt
COMPLEX for cgelqt
COMPLEX*16 for zgelqt
Array of size (ldt, min(m, n)). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks. See Description for further details.
- work
-
REAL for sgelqt
DOUBLE PRECISION for dgelqt
COMPLEX for cgelqt
COMPLEX*16 for zgelqt
Array of size (mb*n).
- info
-
INTEGER.
info = 0: successful exit.
info < 0: if info = -i, the i-th argument had an illegal value.