table of contents
lasd0(3) | Library Functions Manual | lasd0(3) |
NAME¶
lasd0 - lasd0: D&C step: top level solver
SYNOPSIS¶
Functions¶
subroutine DLASD0 (n, sqre, d, e, u, ldu, vt, ldvt, smlsiz,
iwork, work, info)
DLASD0 computes the singular values of a real upper bidiagonal n-by-m
matrix B with diagonal d and off-diagonal e. Used by sbdsdc. subroutine
SLASD0 (n, sqre, d, e, u, ldu, vt, ldvt, smlsiz, iwork, work, info)
SLASD0 computes the singular values of a real upper bidiagonal n-by-m
matrix B with diagonal d and off-diagonal e. Used by sbdsdc.
Detailed Description¶
Function Documentation¶
subroutine DLASD0 (integer n, integer sqre, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( ldu, * ) u, integer ldu, double precision, dimension( ldvt, * ) vt, integer ldvt, integer smlsiz, integer, dimension( * ) iwork, double precision, dimension( * ) work, integer info)¶
DLASD0 computes the singular values of a real upper bidiagonal n-by-m matrix B with diagonal d and off-diagonal e. Used by sbdsdc.
Purpose:
!> !> Using a divide and conquer approach, DLASD0 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 orthogonal matrices U and VT such that !> B = U * S * VT. The singular values S are overwritten on D. !> !> A related subroutine, DLASDA, computes only the singular values, !> and optionally, the singular vectors in compact form. !>
Parameters
!> N is INTEGER !> On entry, the row dimension of the upper bidiagonal matrix. !> This is also the dimension of the main diagonal array D. !>
SQRE
!> SQRE is INTEGER !> Specifies the column dimension of the bidiagonal matrix. !> = 0: The bidiagonal matrix has column dimension M = N; !> = 1: The bidiagonal matrix has column dimension M = N+1; !>
D
!> D is DOUBLE PRECISION array, dimension (N) !> On entry D contains the main diagonal of the bidiagonal !> matrix. !> On exit D, if INFO = 0, contains its singular values. !>
E
!> E is DOUBLE PRECISION array, dimension (M-1) !> Contains the subdiagonal entries of the bidiagonal matrix. !> On exit, E has been destroyed. !>
U
!> U is DOUBLE PRECISION array, dimension (LDU, N) !> On exit, U contains the left singular vectors, !> if U passed in as (N, N) Identity. !>
LDU
!> LDU is INTEGER !> On entry, leading dimension of U. !>
VT
!> VT is DOUBLE PRECISION array, dimension (LDVT, M) !> On exit, VT**T contains the right singular vectors, !> if VT passed in as (M, M) Identity. !>
LDVT
!> LDVT is INTEGER !> On entry, leading dimension of VT. !>
SMLSIZ
!> SMLSIZ is INTEGER !> On entry, maximum size of the subproblems at the !> bottom of the computation tree. !>
IWORK
!> IWORK is INTEGER array, dimension (8*N) !>
WORK
!> WORK is DOUBLE PRECISION array, dimension (3*M**2+2*M) !>
INFO
!> INFO is INTEGER !> = 0: successful exit. !> < 0: if INFO = -i, the i-th argument had an illegal value. !> > 0: if INFO = 1, a singular value did not converge !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Definition at line 150 of file dlasd0.f.
subroutine SLASD0 (integer n, integer sqre, real, dimension( * ) d, real, dimension( * ) e, real, dimension( ldu, * ) u, integer ldu, real, dimension( ldvt, * ) vt, integer ldvt, integer smlsiz, integer, dimension( * ) iwork, real, dimension( * ) work, integer info)¶
SLASD0 computes the singular values of a real upper bidiagonal n-by-m matrix B with diagonal d and off-diagonal e. Used by sbdsdc.
Purpose:
!> !> Using a divide and conquer approach, SLASD0 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 orthogonal matrices U and VT such that !> B = U * S * VT. The singular values S are overwritten on D. !> !> A related subroutine, SLASDA, computes only the singular values, !> and optionally, the singular vectors in compact form. !>
Parameters
!> N is INTEGER !> On entry, the row dimension of the upper bidiagonal matrix. !> This is also the dimension of the main diagonal array D. !>
SQRE
!> SQRE is INTEGER !> Specifies the column dimension of the bidiagonal matrix. !> = 0: The bidiagonal matrix has column dimension M = N; !> = 1: The bidiagonal matrix has column dimension M = N+1; !>
D
!> D is REAL array, dimension (N) !> On entry D contains the main diagonal of the bidiagonal !> matrix. !> On exit D, if INFO = 0, contains its singular values. !>
E
!> E is REAL array, dimension (M-1) !> Contains the subdiagonal entries of the bidiagonal matrix. !> On exit, E has been destroyed. !>
U
!> U is REAL array, dimension (LDU, N) !> On exit, U contains the left singular vectors, !> if U passed in as (N, N) Identity. !>
LDU
!> LDU is INTEGER !> On entry, leading dimension of U. !>
VT
!> VT is REAL array, dimension (LDVT, M) !> On exit, VT**T contains the right singular vectors, !> if VT passed in as (M, M) Identity. !>
LDVT
!> LDVT is INTEGER !> On entry, leading dimension of VT. !>
SMLSIZ
!> SMLSIZ is INTEGER !> On entry, maximum size of the subproblems at the !> bottom of the computation tree. !>
IWORK
!> IWORK is INTEGER array, dimension (8*N) !>
WORK
!> WORK is REAL array, dimension (3*M**2+2*M) !>
INFO
!> INFO is INTEGER !> = 0: successful exit. !> < 0: if INFO = -i, the i-th argument had an illegal value. !> > 0: if INFO = 1, a singular value did not converge !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Definition at line 150 of file slasd0.f.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 | LAPACK |