Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?laswlq

Computes blocked Short-Wide LQ matrix factorization.
call slaswlq
(
m
,
n
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
work
,
lwork
,
info
)
call dlaswlq
(
m
,
n
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
work
,
lwork
,
info
)
call claswlq
(
m
,
n
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
work
,
lwork
,
info
)
call zlaswlq
(
m
,
n
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
work
,
lwork
,
info
)
Description
?laswlq
computes a blocked Short-Wide LQ (SWLQ) factorization of an
m
-by-
n
matrix
A
, where
n
m
:
A
=
L
*
Q
.
SWLQ performs LQ by a sequence of orthogonal transformations, representing
Q
as a product of other orthogonal matrices
Q
=
Q
(1) *
Q
(2) * . . . *
Q
(
k
)
where each
Q
(
i
) zeros out upper diagonal entries of a block of
nb
rows of
A
:
Q
(1) zeros out the upper diagonal entries of rows 1:
nb
of
A
,
Q
(2) zeros out the bottom
mb
-
n
rows of rows [1:
m
,
nb
+ 1:2*
nb
-
m
] of
A
,
Q
(3) zeros out the bottom
mb
-
n
rows of rows [1:
m
, 2*
nb
-
m
+ 1:3*
nb
- 2*
m
] of
A
....
Q
(1) is computed by
gelqt
, which represents
Q
(1) by Householder vectors stored under the diagonal of rows 1:
mb
of
a
, and by upper triangular block reflectors, stored in array
t
(1:
ldt
, 1:
n
). For more information, see
gelqt
.
Q
(
i
) for
i
> 1 is computed by
tplqt
, which represents
Q
(
i
) by Householder vectors stored in columns [(
i
- 1)*(
nb
-
m
) +
m
+ 1:
i
*(
nb
-
m
) +
m
] of
a
, and by upper triangular block reflectors, stored in array
t
(1:
ldt
, (
i
- 1)*
m
+ 1:
i
*
m
). The last
Q
(
k
) may use fewer rows. For more information, see
tplqt
. For more details of the overall algorithm, see [DEMMEL12].
Input Parameters
m
INTEGER
.
The number of rows of the matrix
A
.
m
0.
n
INTEGER
.
The number of columns of the matrix
A
.
n
m
0.
mb
INTEGER
.
The row block size to be used in the blocked QR.
m
mb
1
nb
INTEGER
.
The column block size to be used in the blocked QR.
nb
>
m
.
a
REAL
for
slaswlq
DOUBLE PRECISION
for
dlaswlq
COMPLEX
for
claswlq