public interface lalsa
LALSA is an itermediate step in solving the least squares problem
by computing the SVD of the coefficient matrix in compact form (The
singular vectors are computed as products of simple orthorgonal
matrices.).
If ICOMPQ = 0, LALSA applies the inverse of the left singular vector
matrix of an upper bidiagonal matrix to the right hand side; and if
ICOMPQ = 1, LALSA applies the right singular vector matrix to the
right hand side. The singular vector matrices were generated in
compact form by LALSA.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
icompq |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
smlsiz |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nrhs |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
b(ldb,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldb |
|
|
complex(kind=sp),
|
intent(out) |
|
|
:: |
bx(ldbx,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldbx |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
u(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldu |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vt(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
k(*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
difl(ldu,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
difr(ldu,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
z(ldu,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
poles(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
givptr(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
givcol(ldgcol,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldgcol |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
perm(ldgcol,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
givnum(ldu,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
c(*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
s(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
rwork(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
iwork(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
icompq |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
smlsiz |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nrhs |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
b(ldb,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldb |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
bx(ldbx,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldbx |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
u(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldu |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vt(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
k(*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
difl(ldu,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
difr(ldu,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
z(ldu,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
poles(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
givptr(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
givcol(ldgcol,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldgcol |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
perm(ldgcol,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
givnum(ldu,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
c(*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
s(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
iwork(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
icompq |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
smlsiz |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nrhs |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
b(ldb,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldb |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
bx(ldbx,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldbx |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
u(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldu |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
vt(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
k(*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
difl(ldu,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
difr(ldu,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
z(ldu,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
poles(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
givptr(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
givcol(ldgcol,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldgcol |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
perm(ldgcol,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
givnum(ldu,*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
c(*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
s(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
iwork(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
icompq |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
smlsiz |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
nrhs |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
b(ldb,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldb |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
bx(ldbx,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldbx |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
u(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldu |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
vt(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
k(*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
difl(ldu,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
difr(ldu,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
z(ldu,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
poles(ldu,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
givptr(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
givcol(ldgcol,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldgcol |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
perm(ldgcol,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
givnum(ldu,*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
c(*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
s(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
rwork(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
iwork(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures