Using a divide and conquer approach, LASDA: computes the singular value decomposition (SVD) of a real upper bidiagonal N-by-M matrix B with diagonal D and offdiagonal E, where M = N + SQRE. The algorithm computes the singular values in the SVD B = U * S * VT. The orthogonal matrices U and VT are optionally computed in compact form. A related subroutine, DLASD0, computes the singular values and the singular vectors in explicit form.
More...
|
pure subroutine | dlasda (icompq, smlsiz, n, sqre, d, e, u, ldu, vt, k, difl, difr, z, poles, givptr, givcol, ldgcol, perm, givnum, c, s, work, iwork, info) |
|
| la_dlasda |
|
| la_qlasda |
|
pure subroutine | slasda (icompq, smlsiz, n, sqre, d, e, u, ldu, vt, k, difl, difr, z, poles, givptr, givcol, ldgcol, perm, givnum, c, s, work, iwork, info) |
|
| la_slasda |
|
Using a divide and conquer approach, LASDA: computes the singular value decomposition (SVD) of a real upper bidiagonal N-by-M matrix B with diagonal D and offdiagonal E, where M = N + SQRE. The algorithm computes the singular values in the SVD B = U * S * VT. The orthogonal matrices U and VT are optionally computed in compact form. A related subroutine, DLASD0, computes the singular values and the singular vectors in explicit form.
◆ dlasda()
pure subroutine la_lapack::lasda::dlasda |
( |
integer(ilp), intent(in) | icompq, |
|
|
integer(ilp), intent(in) | smlsiz, |
|
|
integer(ilp), intent(in) | n, |
|
|
integer(ilp), intent(in) | sqre, |
|
|
real(dp), dimension(*), intent(inout) | d, |
|
|
real(dp), dimension(*), intent(inout) | e, |
|
|
real(dp), dimension(ldu,*), intent(out) | u, |
|
|
integer(ilp), intent(in) | ldu, |
|
|
real(dp), dimension(ldu,*), intent(out) | vt, |
|
|
integer(ilp), dimension(*), intent(out) | k, |
|
|
real(dp), dimension(ldu,*), intent(out) | difl, |
|
|
real(dp), dimension(ldu,*), intent(out) | difr, |
|
|
real(dp), dimension(ldu,*), intent(out) | z, |
|
|
real(dp), dimension(ldu, *), intent(out) | poles, |
|
|
integer(ilp), dimension(*), intent(out) | givptr, |
|
|
integer(ilp), dimension(ldgcol,*), intent(out) | givcol, |
|
|
integer(ilp), intent(in) | ldgcol, |
|
|
integer(ilp), dimension(ldgcol,*), intent(out) | perm, |
|
|
real(dp), dimension(ldu,*), intent(out) | givnum, |
|
|
real(dp), dimension(*), intent(out) | c, |
|
|
real(dp), dimension(*), intent(out) | s, |
|
|
real(dp), dimension(*), intent(out) | work, |
|
|
integer(ilp), dimension(*), intent(out) | iwork, |
|
|
integer(ilp), intent(out) | info ) |
◆ la_dlasda()
la_lapack::lasda::la_dlasda |
◆ la_qlasda()
la_lapack::lasda::la_qlasda |
◆ la_slasda()
la_lapack::lasda::la_slasda |
◆ slasda()
pure subroutine la_lapack::lasda::slasda |
( |
integer(ilp), intent(in) | icompq, |
|
|
integer(ilp), intent(in) | smlsiz, |
|
|
integer(ilp), intent(in) | n, |
|
|
integer(ilp), intent(in) | sqre, |
|
|
real(sp), dimension(*), intent(inout) | d, |
|
|
real(sp), dimension(*), intent(inout) | e, |
|
|
real(sp), dimension(ldu,*), intent(out) | u, |
|
|
integer(ilp), intent(in) | ldu, |
|
|
real(sp), dimension(ldu,*), intent(out) | vt, |
|
|
integer(ilp), dimension(*), intent(out) | k, |
|
|
real(sp), dimension(ldu,*), intent(out) | difl, |
|
|
real(sp), dimension(ldu,*), intent(out) | difr, |
|
|
real(sp), dimension(ldu,*), intent(out) | z, |
|
|
real(sp), dimension(ldu, *), intent(out) | poles, |
|
|
integer(ilp), dimension(*), intent(out) | givptr, |
|
|
integer(ilp), dimension(ldgcol,*), intent(out) | givcol, |
|
|
integer(ilp), intent(in) | ldgcol, |
|
|
integer(ilp), dimension(ldgcol,*), intent(out) | perm, |
|
|
real(sp), dimension(ldu,*), intent(out) | givnum, |
|
|
real(sp), dimension(*), intent(out) | c, |
|
|
real(sp), dimension(*), intent(out) | s, |
|
|
real(sp), dimension(*), intent(out) | work, |
|
|
integer(ilp), dimension(*), intent(out) | iwork, |
|
|
integer(ilp), intent(out) | info ) |
The documentation for this interface was generated from the following file: