public interface upmtr
UPMTR overwrites the general complex M-by-N matrix C with
SIDE = 'L' SIDE = 'R'
TRANS = 'N': Q * C C * Q
TRANS = 'C': QH * C C * QH
where Q is a complex unitary matrix of order nq, with nq = m if
SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of
nq-1 elementary reflectors, as returned by CHPTRD using packed
storage:
if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
side |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
uplo |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
trans |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
ap(*) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
tau(*) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
c(ldc,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldc |
|
|
complex(kind=sp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
side |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
uplo |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
trans |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
ap(*) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
tau(*) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
c(ldc,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldc |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures