Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?gelqt3
?gelqt3 recursively computes a LQ factorization of a general real or complex M-by-N matrix A , using the compact WY representation of Q .
Syntax
call sgelqt3 ( m , n , a , lda , t , ldt , info )
call dgelqt3 ( m , n , a , lda , t , ldt , info )
call cgelqt3 ( m , n , a , lda , t , ldt , info )
call zgelqt3 ( m , n , a , lda , t , ldt , info )
Description
?gelqt3 recursively computes a LQ factorization of a real or complex m -by- n matrix A , using the compact WY representation of Q . Based on the algorithm of Elmroth and Gustavson [ELMROTH00].
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 . The block reflector H is then given by
H = I - V * T * VT for real matrices, or
H = I - V * T * VH for complex matrices.
Input Parameters
m
INTEGER . The number of rows of the matrix A . m ≤ n .
n
INTEGER . The number of columns of the matrix A . n ≥ 0.
- a
-
REAL for sgelqt3 DOUBLE PRECISION for dgelqt3 COMPLEX for cgelqt3 COMPLEX*16 for zgelqt3 Array of size ( lda , n ). On entry, the real or complex 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 ≥ max(1, n ).
Output Parameters
- a
-
On exit, the elements on and below the diagonal contain the n -by- n lower triangular matrix L ; the elements above the diagonal are the rows of V . See Description for further details.
- t
-
REAL for sgelqt3 DOUBLE PRECISION for dgelqt3 COMPLEX for cgelqt3 COMPLEX*16 for zgelqt3 Array of size ( ldt , n ). The n -by- n upper triangular factor of the block reflector. The elements on and above the diagonal contain the block reflector T ; the elements below the diagonal are not used. See Description for further details.
info
INTEGER .
info = 0: successful exit.
info < 0: if info = - i , the i -th argument had an illegal value.