public interface laqps
LAQPS computes a step of QR factorization with column pivoting
of a complex M-by-N matrix A by using Blas-3. It tries to factorize
NB columns from A starting from the row OFFSET+1, and updates all
of the matrix with Blas-3 xGEMM.
In some cases, due to catastrophic cancellations, it cannot
factorize NB columns. Hence, the actual number of factorized
columns is returned in KB.
Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
offset |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
kb |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
integer(kind=ilp),
|
intent(inout) |
|
|
:: |
jpvt(*) |
|
|
complex(kind=sp),
|
intent(out) |
|
|
:: |
tau(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vn1(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vn2(*) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
auxv(*) |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
f(ldf,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldf |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
offset |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
kb |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
integer(kind=ilp),
|
intent(inout) |
|
|
:: |
jpvt(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
tau(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vn1(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vn2(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
auxv(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
f(ldf,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldf |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
offset |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
kb |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
integer(kind=ilp),
|
intent(inout) |
|
|
:: |
jpvt(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
tau(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vn1(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
vn2(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
auxv(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
f(ldf,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldf |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
offset |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nb |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
kb |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
integer(kind=ilp),
|
intent(inout) |
|
|
:: |
jpvt(*) |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
tau(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vn1(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
vn2(*) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
auxv(*) |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
f(ldf,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldf |
|
Module Procedures