lalsa Interface

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

public pure subroutine clalsa(icompq, smlsiz, n, nrhs, b, ldb, bx, ldbx, u, ldu, vt, k, difl, difr, z, poles, givptr, givcol, ldgcol, perm, givnum, c, s, rwork, iwork, info)

Arguments

Type IntentOptional 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

public pure subroutine dlalsa(icompq, smlsiz, n, nrhs, b, ldb, bx, ldbx, u, ldu, vt, k, difl, difr, z, poles, givptr, givcol, ldgcol, perm, givnum, c, s, work, iwork, info)

Arguments

Type IntentOptional 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

public pure subroutine slalsa(icompq, smlsiz, n, nrhs, b, ldb, bx, ldbx, u, ldu, vt, k, difl, difr, z, poles, givptr, givcol, ldgcol, perm, givnum, c, s, work, iwork, info)

Arguments

Type IntentOptional 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

public pure subroutine zlalsa(icompq, smlsiz, n, nrhs, b, ldb, bx, ldbx, u, ldu, vt, k, difl, difr, z, poles, givptr, givcol, ldgcol, perm, givnum, c, s, rwork, iwork, info)

Arguments

Type IntentOptional 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

public interface stdlib_clalsa()

Arguments

None

public interface stdlib_dlalsa()

Arguments

None

public interface stdlib_slalsa()

Arguments

None

public interface stdlib_zlalsa()

Arguments

None