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: