Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?org2l/?ung2l
Generates all or part of the orthogonal/unitary matrix Q from a QL factorization determined by ?geqlf (unblocked algorithm).
Syntax
call sorg2l ( m , n , k , a , lda , tau , work , info )
call dorg2l ( m , n , k , a , lda , tau , work , info )
call cung2l ( m , n , k , a , lda , tau , work , info )
call zung2l ( m , n , k , a , lda , tau , work , info )
Include Files
mkl.fi
Description
The routine ?org2l / ?ung2l generates an m -by- n real/complex matrix Q with orthonormal columns, which is defined as the last n columns of a product of k elementary reflectors of order m :
Q = H(k)*...*H(2)*H(1) as returned by ?geqlf (Computes the QL factorization of a general m-by-n matrix.) .
Input Parameters
- m
-
INTEGER . The number of rows of the matrix Q . m≥ 0 .
- n
-
INTEGER . The number of columns of the matrix Q . m≥n≥ 0 .
- k
-
INTEGER . The number of elementary reflectors whose product defines the matrix Q . n≥k≥ 0 .
- a
-
REAL for sorg2l DOUBLE PRECISION for dorg2l COMPLEX for cung2l DOUBLE COMPLEX for zung2l . Array, DIMENSION ( lda , n ). On entry, the ( n-k + i )-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,…, k , as returned by ?geqlf in the last k columns of its array argument A .
- lda
-
INTEGER . The leading dimension of the array a . lda≥ max(1,m) .
- tau
-
REAL for sorg2l DOUBLE PRECISION for dorg2l COMPLEX for cung2l DOUBLE COMPLEX for zung2l . Array, DIMENSION ( k ). tau(i) must contain the scalar factor of the elementary reflector H(i), as returned by ?geqlf .
- work
-
REAL for sorg2l DOUBLE PRECISION for dorg2l COMPLEX for cung2l DOUBLE COMPLEX for zung2l . Workspace array, DIMENSION ( n ).
Output Parameters
- a
-
On exit, the m -by- n matrix Q .
info
INTEGER .
= 0: successful exit
< 0: if info = -i , the i -th argument has an illegal value