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: