?geqrt
?geqrt
Computes a blocked QR factorization of a general real or complex matrix using the compact WY representation of Q.
Syntax
lapack_int
LAPACKE_sgeqrt
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_int
nb
,
float
*
a
,
lapack_int
lda
,
float
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_dgeqrt
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_int
nb
,
double
*
a
,
lapack_int
lda
,
double
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_cgeqrt
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_int
nb
,
lapack_complex_float
*
a
,
lapack_int
lda
,
lapack_complex_float
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_zgeqrt
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_int
nb
,
lapack_complex_double
*
a
,
lapack_int
lda
,
lapack_complex_double
*
t
,
lapack_int
ldt
);
Include Files
- mkl.h
Description
The strictly lower triangular matrix
V
contains the elementary reflectors
H
(i
) in the i
th column below the diagonal. For example, if m
=5 and
n
=3, the matrix V
is
where represents one of the vectors that
define
v
i
H
(i
). The vectors are returned in the lower triangular part of array a
.The 1s along the diagonal of
V
are not stored in a
. Let . The number of blocks is , where each block is of order . For each of the .
The
k
= min(m
,n
)b
=
ceiling(k
/nb
)nb
except for the last block,
which is of order ib
= k
- (b
-1)*nb
b
blocks, a
upper triangular block reflector factor is computed:t1
, t2
, ..., tb
nb
-by-nb
(and ib
-by-ib
for the last block) t
s are stored in the
nb
-by-n
array t
as t
= (t1
t2
... tb
)Input Parameters
- matrix_layout
- Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- m
- The number of rows in the matrixA(m≥ 0).
- n
- The number of columns inA(n≥ 0).
- nb
- The block size to be used in the blocked QR (min(m,n) ≥nb≥ 1).
- a
- Arrayaof size max(1,lda*n) for column major layout and max(1,lda*m) for row major layout contains them-by-nmatrixA.
- lda
- The leading dimension ofa; at least max(1,m)for column major layout and max(1,.n) for row major layout
- ldt
- The leading dimension oft; at leastnbfor column major layout and max(1, min(.m,n)) for row major layout
Output Parameters
- a
- Overwritten by the factorization data as follows:The elements on and above the diagonal of the array contain the min(m,n)-by-nupper trapezoidal matrixR(Ris upper triangular ifm≥n); the elements below the diagonal, with the arrayt, present the orthogonal matrixQas a product of min(m,n) elementary reflectors (see Orthogonal Factorizations).
- t
- Array, size max(1,ldt*min(m,n)) for column major layout and max(1,ldt*nb) for row major layout.The upper triangular block reflector's factors stored as a sequence of upper triangular blocks.
Return Values
This function returns a value
info
.If , the execution is successful.
info
=0If , the
info
< 0 and info
= -i
i
-th parameter had an illegal value.