Developer Reference

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

?latsqr

Computes a blocked Tall-Skinny QR matrix factorization.
call slatsqr
(
m
,
n
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
work
,
lwork
,
info
)
call dlatsqr
(
m
,
n
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
work
,
lwork
,
info
)
call clatsqr
(
m
,
n
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
work
,
lwork
,
info
)
call zlatsqr
(
m
,
n
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
work
,
lwork
,
info
)
Description
?latsqr
computes a blocked Tall-Skinny QR (TSQR) factorization of an
m
-by-
n
matrix
A
, where
m
n
:
A
=
Q
*
R
.
TSQR performs QR 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 subdiagonal entries of a block of
mb
rows of
A
:
Q
(1) zeros out the subdiagonal entries of rows 1:MB of
A
,
Q
(2) zeros out the bottom
mb
-
n
rows of rows [1:
n
,
mb
+ 1:2*
mb
-
n
] of
A
,
Q
(3) zeros out the bottom
mb
-
n
rows of rows [1:
n
, 2*
mb
-
n
+ 1:3*
mb
- 2*
n
] of
A
. . . .
Q
(1) is computed by
geqrt
, 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
geqrt
.
Q
(
i
) for
i
> 1 is computed by
tpqrt
, which represents
Q
(
i
) by Householder vectors stored in rows [(
i
- 1)*(
mb
-
n
) +
n
+ 1:
i
*(
mb
-
n
) +
n
] of
a
, and by upper triangular block reflectors, stored in array
t
(1:
ldt
, (
i
- 1)*
n
+ 1:
i
*
n
). The last
Q
(
k
) may use fewer rows. For more information, see
tpqrt
. For more details of the overall algorithm, see [DEMMEL12]
Input Parameters
m
INTEGER
.
The nu