Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?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.

Input Parameters

m

INTEGER. The number of rows of the matrix Q. m 0.

n

INTEGER. The number of columns of the matrix Q. mn 0.

k

INTEGER. The number of elementary reflectors whose product defines the matrix Q. nk 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