Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?gelqt
?gelqt computes a blocked LQ factorization of a real or complex m -by- n matrix A using the compact WY representation of Q .
Syntax
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 v 1 v 1 v 1 v 1 ) ( 1 v 2 v 2 v 2 ) ( 1 v 3 v 3 )
where the vi s 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.