Developer Reference

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

?lamtsqr

Multiplies a general matrix by the product of blocked elementary reflectors computed by tall skinny QR factorization (
?latsqr
)
call slamtsqr
(
side
,
trans
,
m
,
n
,
k
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
c
,
ldc
,
work
,
lwork
,
info
)
call dlamtsqr
(
side
,
trans
,
m
,
n
,
k
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
c
,
ldc
,
work
,
lwork
,
info
)
call clamtsqr
(
side
,
trans
,
m
,
n
,
k
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
c
,
ldc
,
work
,
lwork
,
info
)
call zlamtsqr
(
side
,
trans
,
m
,
n
,
k
,
mb
,
nb
,
a
,
lda
,
t
,
ldt
,
c
,
ldc
,
work
,
lwork
,
info
)
Description
?lamtsqr
overwrites the general real or complex
m
-by-
n
matrix
C
with
side
= 'L'
side
= 'R'
trans
= 'N'
Q
*
C
C
*
Q
trans
= 'T'
Q
T
*
C
C
*
Q
T
trans
= 'C'
Q
H
*
C
C
*
Q
H
where
Q
is a real orthogonal matrix defined as the product of blocked elementary reflectors computed by tall skinny QR factorization (
?latsqr
). Tall-Skinny QR (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
+