?ormrq
?ormrq
Multiplies a real matrix by the orthogonal matrix Q of the RQ factorization formed by .
?gerqf
Syntax
lapack_int
LAPACKE_sormrq
(
int
matrix_layout
,
char
side
,
char
trans
,
lapack_int
m
,
lapack_int
n
,
lapack_int
k
,
const
float
*
a
,
lapack_int
lda
,
const
float
*
tau
,
float
*
c
,
lapack_int
ldc
);
lapack_int
LAPACKE_dormrq
(
int
matrix_layout
,
char
side
,
char
trans
,
lapack_int
m
,
lapack_int
n
,
lapack_int
k
,
const
double
*
a
,
lapack_int
lda
,
const
double
*
tau
,
double
*
c
,
lapack_int
ldc
);
Include Files
- mkl.h
Description
The routine multiplies a real , where : as returned by the
m
-by-n
matrix C
by Q
or Q
T
Q
is the real orthogonal matrix defined as a product of k
elementary reflectors H
i
Q
= H
1
H
2
... H
k
RQ
factorization routine gerqf. Depending on the parameters , *, , or (overwriting the result over
side
and trans
, the routine can form one of the matrix products Q
*C
Q
T
C
C
*Q
C
*Q
T
C
).Input Parameters
- 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'QorQis applied toTCfrom the left.If,side='R'QorQis applied toTCfrom the right.
- trans
- Must be either'N'or'T'.If, the routine multipliestrans='N'CbyQ.If, the routine multipliestrans='T'CbyQ.T
- m
- The number of rows in the matrixC().m≥0
- n
- The number of columns inC().n≥0
- k
- The number of elementary reflectors whose product defines the matrixQ. Constraints:0, if≤k≤m;side='L'0, if≤k≤n.side='R'
- a,tau,c
- Arrays:a(size forside= 'L': max(1,lda*m) for column major layout and max(1,lda*k) for row major layout; forside= 'R': max(1,lda*n) for column major layout and max(1,lda*k) for row major layout),tau,c(size max(1,ldc*n) for column major layout and max(1,ldc*m) for row major layout).On entry, theith row ofamust contain the vector which defines the elementary reflectorH, for i = 1,2,...,ik, as returned bysgerqf/dgerqfin the lastkrows of its array argumenta.tau[must contain the scalar factor of the elementary reflectori- 1]H, as returned byisgerqf/dgerqf.The size oftaumust be at least max(1,k).ccontains them-by-nmatrixC.
- lda
- The leading dimension ofa;lda≥max(1,k)for column major layout. For row major layout,.iflda≥max(1,m)side= 'L', andiflda≥max(1,n)side= 'R'
- ldc
- The leading dimension ofc;ldc≥max(1,m)for column major layout and max(1,.n) for row major layout
Output Parameters
- c
- Overwritten by the product,Q*C,Q*TC, orC*Q(as specified byC*QTsideandtrans).
Return Values
This function returns a value
info
.If , the execution is successful.
info
=0If , the
info
= -i
i
-th parameter had an illegal value.Application Notes
The complex counterpart of this routine is unmrq.