# ung2l - Man Page

{un,or}g2l: step in ungql

## Synopsis

### Functions

subroutine **cung2l** (m, n, k, a, lda, tau, work, info)**CUNG2L** generates all or part of the unitary matrix Q from a QL factorization determined by cgeqlf (unblocked algorithm).

subroutine **dorg2l** (m, n, k, a, lda, tau, work, info)**DORG2L** generates all or part of the orthogonal matrix Q from a QL factorization determined by sgeqlf (unblocked algorithm).

subroutine **sorg2l** (m, n, k, a, lda, tau, work, info)**SORG2L** generates all or part of the orthogonal matrix Q from a QL factorization determined by sgeqlf (unblocked algorithm).

subroutine **zung2l** (m, n, k, a, lda, tau, work, info)**ZUNG2L** generates all or part of the unitary matrix Q from a QL factorization determined by cgeqlf (unblocked algorithm).

## Detailed Description

## Function Documentation

### subroutine cung2l (integer m, integer n, integer k, complex, dimension( lda, * ) a, integer lda, complex, dimension( * ) tau, complex, dimension( * ) work, integer info)

**CUNG2L** generates all or part of the unitary matrix Q from a QL factorization determined by cgeqlf (unblocked algorithm).

**Purpose:**

CUNG2L generates an m by n 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 CGEQLF.

**Parameters***M*M is INTEGER The number of rows of the matrix Q. M >= 0.

*N*N is INTEGER The number of columns of the matrix Q. M >= N >= 0.

*K*K is INTEGER The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0.

*A*A is COMPLEX 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 CGEQLF in the last k columns of its array argument A. On exit, the m-by-n matrix Q.

*LDA*LDA is INTEGER The first dimension of the array A. LDA >= max(1,M).

*TAU*TAU is COMPLEX array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by CGEQLF.

*WORK*WORK is COMPLEX array, dimension (N)

*INFO*INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument has an illegal value

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **113** of file **cung2l.f**.

### subroutine dorg2l (integer m, integer n, integer k, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) tau, double precision, dimension( * ) work, integer info)

**DORG2L** generates all or part of the orthogonal matrix Q from a QL factorization determined by sgeqlf (unblocked algorithm).

**Purpose:**

DORG2L generates an m by n real 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 DGEQLF.

**Parameters***M*M is INTEGER The number of rows of the matrix Q. M >= 0.

*N*N is INTEGER The number of columns of the matrix Q. M >= N >= 0.

*K*K is INTEGER The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0.

*A*A is DOUBLE PRECISION 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 DGEQLF in the last k columns of its array argument A. On exit, the m by n matrix Q.

*LDA*LDA is INTEGER The first dimension of the array A. LDA >= max(1,M).

*TAU*TAU is DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGEQLF.

*WORK*WORK is DOUBLE PRECISION array, dimension (N)

*INFO*INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument has an illegal value

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **113** of file **dorg2l.f**.

### subroutine sorg2l (integer m, integer n, integer k, real, dimension( lda, * ) a, integer lda, real, dimension( * ) tau, real, dimension( * ) work, integer info)

**SORG2L** generates all or part of the orthogonal matrix Q from a QL factorization determined by sgeqlf (unblocked algorithm).

**Purpose:**

SORG2L generates an m by n real 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 SGEQLF.

**Parameters***M*M is INTEGER The number of rows of the matrix Q. M >= 0.

*N*N is INTEGER The number of columns of the matrix Q. M >= N >= 0.

*K*K is INTEGER The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0.

*A*A is REAL 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 SGEQLF in the last k columns of its array argument A. On exit, the m by n matrix Q.

*LDA*LDA is INTEGER The first dimension of the array A. LDA >= max(1,M).

*TAU*TAU is REAL array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by SGEQLF.

*WORK*WORK is REAL array, dimension (N)

*INFO*INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument has an illegal value

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **113** of file **sorg2l.f**.

### subroutine zung2l (integer m, integer n, integer k, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * ) work, integer info)

**ZUNG2L** generates all or part of the unitary matrix Q from a QL factorization determined by cgeqlf (unblocked algorithm).

**Purpose:**

ZUNG2L generates an m by n 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 ZGEQLF.

**Parameters***M*M is INTEGER The number of rows of the matrix Q. M >= 0.

*N*N is INTEGER The number of columns of the matrix Q. M >= N >= 0.

*K*K is INTEGER The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0.

*A*A is COMPLEX*16 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 ZGEQLF in the last k columns of its array argument A. On exit, the m-by-n matrix Q.

*LDA*LDA is INTEGER The first dimension of the array A. LDA >= max(1,M).

*TAU*TAU is COMPLEX*16 array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by ZGEQLF.

*WORK*WORK is COMPLEX*16 array, dimension (N)

*INFO*INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument has an illegal value

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **113** of file **zung2l.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.