Developer Reference

Contents

?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
Equation
where
v
i
represents one of the vectors that define
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
k
= min(
m
,
n
)
. The number of blocks is
b
= ceiling(
k
/
nb
)
, where each block is of order
nb
except for the last block, which is of order
ib
=
k
- (
b
-1)*
nb
. For each of the
b
blocks, a upper triangular block reflector factor is computed:
t1
,
t2
, ...,
tb
. The
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 matrix
A
(
m
≥ 0).
n
The number of columns in
A
(
n
≥ 0).
nb
The block size to be used in the blocked QR (min(
m
,
n
) ≥
nb
≥ 1).
a
Array
a
of size max(1,
lda
*
n
) for column major layout and max(1,
lda
*
m
) for row major layout contains the
m
-by-
n
matrix
A
.
lda
The leading dimension of
a
; at least max(1,
m
)
for column major layout and max(1,
n
) for row major layout
.
ldt
The leading dimension of
t
; at least
nb
for 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-
n
upper trapezoidal matrix
R
(
R
is upper triangular if
m
n
); the elements below the diagonal, with the array
t
, present the orthogonal matrix
Q
as 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
info
=0
, the execution is successful.
If
info
< 0 and
info
=
-i
, the
i
-th parameter had an illegal value.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.