Generates the complex matrix Q of the QL factorization formed by ?geqlf.


lapack_int LAPACKE_cungql (int matrix_layout, lapack_int m, lapack_int n, lapack_int k, lapack_complex_float* a, lapack_int lda, const lapack_complex_float* tau);

lapack_int LAPACKE_zungql (int matrix_layout, lapack_int m, lapack_int n, lapack_int k, lapack_complex_double* a, lapack_int lda, const lapack_complex_double* tau);

Include Files

  • mkl.h


The routine 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 H(i) of order m: Q = H(k) *...* H(2)*H(1) as returned by the routines geqlf/geqlf . Use this routine after a call to cgeqlf/zgeqlf.

Input Parameters


Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).


The number of rows of the matrix Q (m0).


The number of columns of the matrix Q (mn0).


The number of elementary reflectors whose product defines the matrix Q (nk0).

a, tau

Arrays: a (size max(1, lda*n) for column major layout and max(1, lda*m) for row major layout), tau.

On entry, the (n - k + i)th column of a must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by cgeqlf/zgeqlf in the last k columns of its array argument a;

tau[i - 1] must contain the scalar factor of the elementary reflector H(i), as returned by cgeqlf/zgeqlf;

The size of tau must be at least max(1, k).


The leading dimension of a; at least max(1, m)for column major layout and max(1, n) for row major layout.

Output Parameters


Overwritten by the last n columns of the m-by-m unitary matrix Q.

Return Values

This function returns a value info.

If info=0, the execution is successful.

If info = -i, the i-th parameter had an illegal value.

Application Notes

The real counterpart of this routine is orgql.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.
Seleccione el color del botón adhesivo: 
Orange (only for download buttons)