Developer Reference

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

?tpmlqt

Applies an orthogonal matrix obtained from a "triangular-pentagonal" block reflector to a general matrix.
call stpmlqt
(
side
,
trans
,
m
,
n
,
k
,
l
,
mb
,
v
,
ldv
,
t
,
ldt
,
a
,
lda
,
b
,
ldb
,
work
,
info
)
call dtpmlqt
(
side
,
trans
,
m
,
n
,
k
,
l
,
mb
,
v
,
ldv
,
t
,
ldt
,
a
,
lda
,
b
,
ldb
,
work
,
info
)
call ctpmlqt
(
side
,
trans
,
m
,
n
,
k
,
l
,
mb
,
v
,
ldv
,
t
,
ldt
,
a
,
lda
,
b
,
ldb
,
work
,
info
)
call ztpmlqt
(
side
,
trans
,
m
,
n
,
k
,
l
,
mb
,
v
,
ldv
,
t
,
ldt
,
a
,
lda
,
b
,
ldb
,
work
,
info
)
Description
?tpmlqt
applies an orthogonal matrix
Q
obtained from a "triangular-pentagonal" block reflector
H
to a general matrix
C
, which consists of two blocks
A
and
B
.
The columns of the pentagonal matrix
V
contain the elementary reflectors
H
(1),
H
(2), ...,
H
(
k
);
V
is composed of a rectangular block
V1
and a trapezoidal block
V2
:
V
= [
V1
] [
V2
].
The size of the trapezoidal block
V2
is determined by the parameter
l
, where 0
l
k
;
V2
is lower trapezoidal, consisting of the first
l
rows of a
k
-by-
k
upper triangular matrix. If
l
=
k
,
V2
is lower triangular; if
l
=0, there is no trapezoidal block, hence
V
=
V1
is rectangular.
If
side
= 'L':
C
= [
A
] [
B
]
where
A
is
k
-by-
n
,
B
is
m
-by-
n
, and
C