Visible to Intel only — GUID: GUID-8348C251-71FE-4DF6-B22E-6F45C3029828
Visible to Intel only — GUID: GUID-8348C251-71FE-4DF6-B22E-6F45C3029828
?orgr2/?ungr2
Generates all or part of the orthogonal/unitary matrix Q from an RQ factorization determined by ?gerqf (unblocked algorithm).
Syntax
call sorgr2( m, n, k, a, lda, tau, work, info )
call dorgr2( m, n, k, a, lda, tau, work, info )
call cungr2( m, n, k, a, lda, tau, work, info )
call zungr2( m, n, k, a, lda, tau, work, info )
Include Files
- mkl.fi
Description
The routine ?orgr2/?ungr2 generates an m-by-n real matrix Q with orthonormal rows, which is defined as the last m rows of a product of k elementary reflectors of order n
Q = H(1)*H(2)*...*H(k) for real flavors, or Q = (H(1))H*(H(2))H*...*(H(k))H for complex flavors as returned by ?gerqf.
Input Parameters
- m
-
INTEGER. The number of rows of the matrix Q. m≥ 0.
- n
-
INTEGER. The number of columns of the matrix Q. n≥m
- k
-
INTEGER.
The number of elementary reflectors whose product defines the matrix Q. m≥k≥ 0.
- a
-
REAL for sorgr2
DOUBLE PRECISION for dorgr2
COMPLEX for cungr2
DOUBLE COMPLEX for zungr2.
Array, DIMENSION (lda, n).
On entry, the ( m- k+i)-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,..., k, as returned by ?gerqf in the last k rows of its array argument a.
- lda
-
INTEGER. The leading dimension of the array a. lda≥ max(1,m).
- tau
-
REAL for sorgr2
DOUBLE PRECISION for dorgr2
COMPLEX for cungr2
DOUBLE COMPLEX for zungr2.
Array, DIMENSION (k).tau(i) must contain the scalar factor of the elementary reflector H(i), as returned by ?gerqf.
- work
-
REAL for sorgr2
DOUBLE PRECISION for dorgr2
COMPLEX for cungr2
DOUBLE COMPLEX for zungr2.
Workspace array, DIMENSION (m).
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