Developer Reference

Contents

?tpqrt

Computes a blocked QR factorization of a real or complex "triangular-pentagonal" matrix, which is composed of a triangular block and a pentagonal block, using the compact WY representation for Q.

Syntax

lapack_int
LAPACKE_stpqrt
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_int
l
,
lapack_int
nb
,
float
*
a
,
lapack_int
lda
,
float
*
b
,
lapack_int
ldb
,
float
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_dtpqrt
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_int
l
,
lapack_int
nb
,
double
*
a
,
lapack_int
lda
,
double
*
b
,
lapack_int
ldb
,
double
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_ctpqrt
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_int
l
,
lapack_int
nb
,
lapack_complex_float
*
a
,
lapack_int
lda
,
lapack_complex_float
*
b
,
lapack_int
ldb
,
lapack_complex_float
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_ztpqrt
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_int
l
,
lapack_int
nb
,
lapack_complex_double
*
a
,
lapack_int
lda
,
lapack_complex_double
*
b
,
lapack_int
ldb
,
lapack_complex_double
*
t
,
lapack_int
ldt
);
Include Files
  • mkl.h
Description
The input matrix
C
is an (
n
+
m
)-by-
n
matrix
Equation
where
A
is an
n
-by-
n
upper triangular matrix, and
B
is an
m
-by-
n
pentagonal matrix consisting of an (
m
-
l
)-by-
n
rectangular matrix
B1
on top of an
l
-by-
n
upper trapezoidal matrix
B2
:
Equation
The upper trapezoidal matrix
B2
consists of the first
l
rows of an
n
-by-
n
upper triangular matrix, where 0 ≤
l
≤ min(
m
,
n
). If
l
=0,
B
is an
m
-by-
n
rectangular matrix. If
m
=
l
=
n
,
B
is upper triangular. The elementary reflectors
H(i)
are stored in the
i
th column below the diagonal in the (
n
+
m
)-by-
n
input matrix
C
. The structure of vectors defining the elementary reflectors is illustrated by:
Equation
The elements of the unit matrix
I
are not stored. Thus,
V
contains all of the necessary information, and is returned in array
b
.
Note that
V
has the same form as
B
:
Equation
The columns of
V
represent the vectors which define the
H(i)
s.
The number of blocks is
k
= ceiling(
n
/
nb
), where each block is of order
nb
except for the last block, which is of order
ib
=
n
- (
k
-1)*
nb
. For each of the
k
blocks, an upper triangular block reflector factor is computed:
T1
,
T2
, ...,
Tk
. The
nb
-by-
nb
(
ib
-by-
ib
for the last block)
Ti
s are stored in the
nb
-by-
n
array
t
as
t
= [
T1
T2
...
Tk
]
.
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major (
LAPACK_ROW_MAJOR
) or column major (
LAPACK_COL_MAJOR
).
m
The total number of rows in the matrix
B
(
m
≥ 0).
n
The number of columns in
B
and the order of the triangular matrix
A
(
n
≥ 0).
l
The number of rows of the upper trapezoidal part of
B
(min(
m
,
n
) ≥
l
≥ 0).
nb
The block size to use in the blocked
QR
factorization (
n
nb
≥ 1).
a
,
b
Arrays:
a
size
lda
*
n
contains the
n
-by-
n
upper triangular matrix
A
.
b
size
max(1,
ldb
*
n
) for column major layout and max(1,
ldb
*
m
) for row major layout
, the pentagonal
m
-by-
n
matrix
B
. The first (
m
-
l
) rows contain the rectangular
B1
matrix, and the next
l
rows contain the upper trapezoidal
B2
matrix.
lda
The leading dimension of
a
; at least max(1,
n
).
ldb
The leading dimension of
b
; at least max(1,
m
)
for column major layout and at least max(1,
n
) for row major layout
.
ldt
The leading dimension of
t
; at least
nb
for column major layout and at least max(1,
n
) for row major layout
.
Output Parameters
a
The elements on and above the diagonal of the array contain the upper triangular matrix
R
.
b
The pentagonal matrix
V
.
t
Array, size
ldt
*
n
for column major layout and
ldt
*
nb
for row major layout
.
The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.
Return Values
This function returns a value
info
.
If
info
=0
, the execution is successful.
If
info
=
-i
, the
i
-th parameter had an illegal value.

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