LALSD: uses the singular value decomposition of A to solve the least squares problem of finding X to minimize the Euclidean norm of each column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-by-NRHS. The solution X overwrites B. The singular values of A smaller than RCOND times the largest singular value are treated as zero in solving the least squares problem; in this case a minimum norm solution is returned. The actual singular values are returned in D in ascending order. This code makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray XMP, Cray YMP, Cray C 90, or Cray 2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.
More...
|
pure subroutine | clalsd (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank, work, rwork, iwork, info) |
|
| la_clalsd |
|
pure subroutine | dlalsd (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank, work, iwork, info) |
|
| la_dlalsd |
|
| la_qlalsd |
|
pure subroutine | slalsd (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank, work, iwork, info) |
|
| la_slalsd |
|
| la_wlalsd |
|
pure subroutine | zlalsd (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank, work, rwork, iwork, info) |
|
| la_zlalsd |
|
LALSD: uses the singular value decomposition of A to solve the least squares problem of finding X to minimize the Euclidean norm of each column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-by-NRHS. The solution X overwrites B. The singular values of A smaller than RCOND times the largest singular value are treated as zero in solving the least squares problem; in this case a minimum norm solution is returned. The actual singular values are returned in D in ascending order. This code makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray XMP, Cray YMP, Cray C 90, or Cray 2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.
◆ clalsd()
pure subroutine la_lapack::lalsd::clalsd |
( |
character, intent(in) |
uplo, |
|
|
integer(ilp), intent(in) |
smlsiz, |
|
|
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
nrhs, |
|
|
real(sp), dimension(*), intent(inout) |
d, |
|
|
real(sp), dimension(*), intent(inout) |
e, |
|
|
complex(sp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
real(sp), intent(in) |
rcond, |
|
|
integer(ilp), intent(out) |
rank, |
|
|
complex(sp), dimension(*), intent(out) |
work, |
|
|
real(sp), dimension(*), intent(out) |
rwork, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ dlalsd()
pure subroutine la_lapack::lalsd::dlalsd |
( |
character, intent(in) |
uplo, |
|
|
integer(ilp), intent(in) |
smlsiz, |
|
|
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
nrhs, |
|
|
real(dp), dimension(*), intent(inout) |
d, |
|
|
real(dp), dimension(*), intent(inout) |
e, |
|
|
real(dp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
real(dp), intent(in) |
rcond, |
|
|
integer(ilp), intent(out) |
rank, |
|
|
real(dp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_clalsd()
la_lapack::lalsd::la_clalsd |
◆ la_dlalsd()
la_lapack::lalsd::la_dlalsd |
◆ la_qlalsd()
la_lapack::lalsd::la_qlalsd |
◆ la_slalsd()
la_lapack::lalsd::la_slalsd |
◆ la_wlalsd()
la_lapack::lalsd::la_wlalsd |
◆ la_zlalsd()
la_lapack::lalsd::la_zlalsd |
◆ slalsd()
pure subroutine la_lapack::lalsd::slalsd |
( |
character, intent(in) |
uplo, |
|
|
integer(ilp), intent(in) |
smlsiz, |
|
|
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
nrhs, |
|
|
real(sp), dimension(*), intent(inout) |
d, |
|
|
real(sp), dimension(*), intent(inout) |
e, |
|
|
real(sp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
real(sp), intent(in) |
rcond, |
|
|
integer(ilp), intent(out) |
rank, |
|
|
real(sp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ zlalsd()
pure subroutine la_lapack::lalsd::zlalsd |
( |
character, intent(in) |
uplo, |
|
|
integer(ilp), intent(in) |
smlsiz, |
|
|
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
nrhs, |
|
|
real(dp), dimension(*), intent(inout) |
d, |
|
|
real(dp), dimension(*), intent(inout) |
e, |
|
|
complex(dp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
real(dp), intent(in) |
rcond, |
|
|
integer(ilp), intent(out) |
rank, |
|
|
complex(dp), dimension(*), intent(out) |
work, |
|
|
real(dp), dimension(*), intent(out) |
rwork, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
The documentation for this interface was generated from the following file: