Visible to Intel only — GUID: GUID-86F90DFA-22CF-4114-9820-4EFFC0F59617
Visible to Intel only — GUID: GUID-86F90DFA-22CF-4114-9820-4EFFC0F59617
?unmlq
Multiplies a complex matrix by the unitary matrix Q of the LQ factorization formed by ?gelqf.
lapack_int LAPACKE_cunmlq (int matrix_layout, char side, char trans, lapack_int m, lapack_int n, lapack_int k, const lapack_complex_float* a, lapack_int lda, const lapack_complex_float* tau, lapack_complex_float* c, lapack_int ldc);
lapack_int LAPACKE_zunmlq (int matrix_layout, char side, char trans, lapack_int m, lapack_int n, lapack_int k, const lapack_complex_double* a, lapack_int lda, const lapack_complex_double* tau, lapack_complex_double* c, lapack_int ldc);
- mkl.h
The routine multiplies a real m-by-n matrix C by Q or QH, where Q is the unitary matrix Q of the LQ factorization formed by the routine gelqf.
Depending on the parameters side and trans, the routine can form one of the matrix products Q*C, QH*C, C*Q, or C*QH (overwriting the result on C).
- matrix_layout
-
Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- side
-
Must be either 'L' or 'R'.
If side = 'L', Q or QH is applied to C from the left.
If side = 'R', Q or QH is applied to C from the right.
- trans
-
Must be either 'N' or 'C'.
If trans = 'N', the routine multiplies C by Q.
If trans = 'C', the routine multiplies C by QH.
- m
-
The number of rows in the matrix C (m≥ 0).
- n
-
The number of columns in C (n≥ 0).
- k
-
The number of elementary reflectors whose product defines the matrix Q. Constraints:
0 ≤k≤m if side = 'L';
0 ≤k≤n if side = 'R'.
- a, c, tau
-
Arrays:
a and tau are arrays returned by ?gelqf.
The size of a must be:
For side = 'L' and column major layout, max(1, lda*m).
For side = 'R' and column major layout, max(1, lda*n).
For row major layout regardless of side, max(1, lda*k).
The size of tau must be at least max(1, k).
c(size max(1, ldc*n) for column major layout and max(1, ldc*m for row major layout) contains the m-by-n matrix C.
- lda
-
The leading dimension of a. For column major layout, lda≥ max(1, k). For row major layout, if side = 'L', lda≥ max(1, m), or, if side = 'R', lda≥ max(1, n).
- ldc
-
The leading dimension of c; ldc≥ max(1, m) for column major layout and max(1, n) for row major layout.
- c
-
Overwritten by the product Q*C, QH*C, C*Q, or C*QH (as specified by side and trans).
This function returns a value info.
If info=0, the execution is successful.
If info = -i, the i-th parameter had an illegal value.
The real counterpart of this routine is ormlq.