Contents

?geqrt2

Computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.

Syntax

lapack_int
LAPACKE_sgeqrt2
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
float
*
a
,
lapack_int
lda
,
float
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_dgeqrt2
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
double
*
a
,
lapack_int
lda
,
double
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_cgeqrt2
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_complex_float
*
a
,
lapack_int
lda
,
lapack_complex_float
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_zgeqrt2
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
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 the vector that defines
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
.
The block reflector
H
is then given by
H
=
I
-
V
*
T
*
V
T
for real flavors, and
H
=
I
-
V
*
T
*
V
H
for complex flavors,
where
V
T
is the transpose and
V
H
is the conjugate transpose of
V
.
Input Parameters
m
The number of rows in the matrix
A
(
m
n
).
n
The number of columns in
A
(
n
≥ 0).
a
Array, size
at least
max(1,
lda
*
n
)
for column major and
max(1,
lda
*
m
)
for row major layout
. Array
a
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 max(1,
n
).
Output Parameters
a
Overwritten by the factorization data as follows:
The elements on and above the diagonal of the array contain the
n
-by-
n
upper triangular matrix
R
. The elements below the diagonal are the columns of
V
.
t
Array, size
at least
max(1,
ldt
*
n
)
.
The
n
-by-
n
upper triangular factor of the block reflector. The elements on and above the diagonal contain the block reflector
T
. The elements below the diagonal are not used.
Return Values
This function returns a value
info
.
If
info
= 0, the execution is successful.
If
info
< 0 and
info
=
-i
, the
i
th argument had an illegal value.
If
info
= -1011
, memory allocation error occurred.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804