public interface getsqrhrt
GETSQRHRT computes a NB2-sized column blocked QR-factorization
of a complex M-by-N matrix A with M >= N,
A = Q * R.
The routine uses internally a NB1-sized column blocked and MB1-sized
row blocked TSQR-factorization and perfors the reconstruction
of the Householder vectors from the TSQR output. The routine also
converts the R_tsqr factor from the TSQR-factorization output into
the R factor that corresponds to the Householder QR-factorization,
A = Q_tsqr * R_tsqr = Q * R.
The output Q and R factors are stored in the same format as in CGEQRT
(Q is in blocked compact WY-representation). See the documentation
of CGEQRT for more details on the format.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
mb1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb2 |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
complex(kind=sp),
|
intent(out) |
|
|
:: |
t(ldt,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldt |
|
|
complex(kind=sp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
mb1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb2 |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
t(ldt,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldt |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
mb1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb2 |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
t(ldt,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldt |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
mb1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb2 |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
t(ldt,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldt |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures