fortran-lapack
Loading...
Searching...
No Matches
la_lapack::lals0 Interface Reference

LALS0: applies back the multiplying factors of either the left or the right singular vector matrix of a diagonal matrix appended by a row to the right hand side matrix B in solving the least squares problem using the divide-and-conquer SVD approach. For the left singular vector matrix, three types of orthogonal matrices are involved: (1L) Givens rotations: the number of such rotations is GIVPTR; the pairs of columns/rows they were applied to are stored in GIVCOL; and the C- and S-values of these rotations are stored in GIVNUM. (2L) Permutation. The (NL+1)-st row of B is to be moved to the first row, and for J=2:N, PERM(J)-th row of B is to be moved to the J-th row. (3L) The left singular vector matrix of the remaining matrix. For the right singular vector matrix, four types of orthogonal matrices are involved: (1R) The right singular vector matrix of the remaining matrix. (2R) If SQRE = 1, one extra Givens rotation to generate the right null space. (3R) The inverse transformation of (2L). (4R) The inverse transformation of (1L). More...

Public Member Functions

pure subroutine clals0 (icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx, perm, givptr, givcol, ldgcol, givnum, ldgnum, poles, difl, difr, z, k, c, s, rwork, info)
 
 la_clals0
 
pure subroutine dlals0 (icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx, perm, givptr, givcol, ldgcol, givnum, ldgnum, poles, difl, difr, z, k, c, s, work, info)
 
 la_dlals0
 
 la_qlals0
 
pure subroutine slals0 (icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx, perm, givptr, givcol, ldgcol, givnum, ldgnum, poles, difl, difr, z, k, c, s, work, info)
 
 la_slals0
 
 la_wlals0
 
pure subroutine zlals0 (icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx, perm, givptr, givcol, ldgcol, givnum, ldgnum, poles, difl, difr, z, k, c, s, rwork, info)
 
 la_zlals0
 

Detailed Description

LALS0: applies back the multiplying factors of either the left or the right singular vector matrix of a diagonal matrix appended by a row to the right hand side matrix B in solving the least squares problem using the divide-and-conquer SVD approach. For the left singular vector matrix, three types of orthogonal matrices are involved: (1L) Givens rotations: the number of such rotations is GIVPTR; the pairs of columns/rows they were applied to are stored in GIVCOL; and the C- and S-values of these rotations are stored in GIVNUM. (2L) Permutation. The (NL+1)-st row of B is to be moved to the first row, and for J=2:N, PERM(J)-th row of B is to be moved to the J-th row. (3L) The left singular vector matrix of the remaining matrix. For the right singular vector matrix, four types of orthogonal matrices are involved: (1R) The right singular vector matrix of the remaining matrix. (2R) If SQRE = 1, one extra Givens rotation to generate the right null space. (3R) The inverse transformation of (2L). (4R) The inverse transformation of (1L).

Member Function/Subroutine Documentation

◆ clals0()

pure subroutine la_lapack::lals0::clals0 ( integer(ilp), intent(in)  icompq,
integer(ilp), intent(in)  nl,
integer(ilp), intent(in)  nr,
integer(ilp), intent(in)  sqre,
integer(ilp), intent(in)  nrhs,
complex(sp), dimension(ldb,*), intent(inout)  b,
integer(ilp), intent(in)  ldb,
complex(sp), dimension(ldbx,*), intent(out)  bx,
integer(ilp), intent(in)  ldbx,
integer(ilp), dimension(*), intent(in)  perm,
integer(ilp), intent(in)  givptr,
integer(ilp), dimension(ldgcol,*), intent(in)  givcol,
integer(ilp), intent(in)  ldgcol,
real(sp), dimension(ldgnum,*), intent(in)  givnum,
integer(ilp), intent(in)  ldgnum,
real(sp), dimension( ldgnum,*), intent(in)  poles,
real(sp), dimension(*), intent(in)  difl,
real(sp), dimension(ldgnum,*), intent(in)  difr,
real(sp), dimension(*), intent(in)  z,
integer(ilp), intent(in)  k,
real(sp), intent(in)  c,
real(sp), intent(in)  s,
real(sp), dimension(*), intent(out)  rwork,
integer(ilp), intent(out)  info 
)

◆ dlals0()

pure subroutine la_lapack::lals0::dlals0 ( integer(ilp), intent(in)  icompq,
integer(ilp), intent(in)  nl,
integer(ilp), intent(in)  nr,
integer(ilp), intent(in)  sqre,
integer(ilp), intent(in)  nrhs,
real(dp), dimension(ldb,*), intent(inout)  b,
integer(ilp), intent(in)  ldb,
real(dp), dimension(ldbx,*), intent(out)  bx,
integer(ilp), intent(in)  ldbx,
integer(ilp), dimension(*), intent(in)  perm,
integer(ilp), intent(in)  givptr,
integer(ilp), dimension(ldgcol,*), intent(in)  givcol,
integer(ilp), intent(in)  ldgcol,
real(dp), dimension(ldgnum,*), intent(in)  givnum,
integer(ilp), intent(in)  ldgnum,
real(dp), dimension( ldgnum,*), intent(in)  poles,
real(dp), dimension(*), intent(in)  difl,
real(dp), dimension(ldgnum,*), intent(in)  difr,
real(dp), dimension(*), intent(in)  z,
integer(ilp), intent(in)  k,
real(dp), intent(in)  c,
real(dp), intent(in)  s,
real(dp), dimension(*), intent(out)  work,
integer(ilp), intent(out)  info 
)

◆ la_clals0()

la_lapack::lals0::la_clals0

◆ la_dlals0()

la_lapack::lals0::la_dlals0

◆ la_qlals0()

la_lapack::lals0::la_qlals0

◆ la_slals0()

la_lapack::lals0::la_slals0

◆ la_wlals0()

la_lapack::lals0::la_wlals0

◆ la_zlals0()

la_lapack::lals0::la_zlals0

◆ slals0()

pure subroutine la_lapack::lals0::slals0 ( integer(ilp), intent(in)  icompq,
integer(ilp), intent(in)  nl,
integer(ilp), intent(in)  nr,
integer(ilp), intent(in)  sqre,
integer(ilp), intent(in)  nrhs,
real(sp), dimension(ldb,*), intent(inout)  b,
integer(ilp), intent(in)  ldb,
real(sp), dimension(ldbx,*), intent(out)  bx,
integer(ilp), intent(in)  ldbx,
integer(ilp), dimension(*), intent(in)  perm,
integer(ilp), intent(in)  givptr,
integer(ilp), dimension(ldgcol,*), intent(in)  givcol,
integer(ilp), intent(in)  ldgcol,
real(sp), dimension(ldgnum,*), intent(in)  givnum,
integer(ilp), intent(in)  ldgnum,
real(sp), dimension( ldgnum,*), intent(in)  poles,
real(sp), dimension(*), intent(in)  difl,
real(sp), dimension(ldgnum,*), intent(in)  difr,
real(sp), dimension(*), intent(in)  z,
integer(ilp), intent(in)  k,
real(sp), intent(in)  c,
real(sp), intent(in)  s,
real(sp), dimension(*), intent(out)  work,
integer(ilp), intent(out)  info 
)

◆ zlals0()

pure subroutine la_lapack::lals0::zlals0 ( integer(ilp), intent(in)  icompq,
integer(ilp), intent(in)  nl,
integer(ilp), intent(in)  nr,
integer(ilp), intent(in)  sqre,
integer(ilp), intent(in)  nrhs,
complex(dp), dimension(ldb,*), intent(inout)  b,
integer(ilp), intent(in)  ldb,
complex(dp), dimension(ldbx,*), intent(out)  bx,
integer(ilp), intent(in)  ldbx,
integer(ilp), dimension(*), intent(in)  perm,
integer(ilp), intent(in)  givptr,
integer(ilp), dimension(ldgcol,*), intent(in)  givcol,
integer(ilp), intent(in)  ldgcol,
real(dp), dimension(ldgnum,*), intent(in)  givnum,
integer(ilp), intent(in)  ldgnum,
real(dp), dimension( ldgnum,*), intent(in)  poles,
real(dp), dimension(*), intent(in)  difl,
real(dp), dimension(ldgnum,*), intent(in)  difr,
real(dp), dimension(*), intent(in)  z,
integer(ilp), intent(in)  k,
real(dp), intent(in)  c,
real(dp), intent(in)  s,
real(dp), dimension(*), intent(out)  rwork,
integer(ilp), intent(out)  info 
)

The documentation for this interface was generated from the following file: