Visible to Intel only — GUID: GUID-6A2C172B-4D62-4991-A7AE-596653F501EA
Visible to Intel only — GUID: GUID-6A2C172B-4D62-4991-A7AE-596653F501EA
?lasd0
Computes the singular values of a real upper bidiagonal n-by-m matrix B with diagonal d and off-diagonal e. Used by ?bdsdc.
Syntax
call slasd0( n, sqre, d, e, u, ldu, vt, ldvt, smlsiz, iwork, work, info )
call dlasd0( n, sqre, d, e, u, ldu, vt, ldvt, smlsiz, iwork, work, info )
Include Files
- mkl.fi
Description
Using a divide and conquer approach, the routine ?lasd0 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.
The related subroutine ?lasda computes only the singular values, and optionally, the singular vectors in compact form.
Input Parameters
- n
-
INTEGER. On entry, the row dimension of the upper bidiagonal matrix. This is also the dimension of the main diagonal array d.
- sqre
-
INTEGER. Specifies the column dimension of the bidiagonal matrix.
If sqre = 0: the bidiagonal matrix has column dimension m = n.
If sqre = 1: the bidiagonal matrix has column dimension m = n+1.
- d
-
REAL for slasd0
DOUBLE PRECISION for dlasd0
Array, DIMENSION (n). On entry, d contains the main diagonal of the bidiagonal matrix.
- e
-
REAL for slasd0
DOUBLE PRECISION for dlasd0
Array, DIMENSION (m-1). Contains the subdiagonal entries of the bidiagonal matrix. On exit, e is destroyed.
- ldu
-
INTEGER. On entry, leading dimension of the output array u.
- ldvt
-
INTEGER. On entry, leading dimension of the output array vt.
- smlsiz
-
INTEGER. On entry, maximum size of the subproblems at the bottom of the computation tree.
- iwork
-
INTEGER.
Workspace array, dimension must be at least (8n).
- work
-
REAL for slasd0
DOUBLE PRECISION for dlasd0
Workspace array, dimension must be at least (3m2+2m).
Output Parameters
- d
-
On exit d, If info = 0, contains singular values of the bidiagonal matrix.
- u
-
REAL for slasd0
DOUBLE PRECISION for dlasd0
Array, DIMENSION at least (ldq, n). On exit, u contains the left singular vectors.
- vt
-
REAL for slasd0
DOUBLE PRECISION for dlasd0
Array, DIMENSION at least (ldvt, m). On exit, vtT contains the right singular vectors.
- info
-
INTEGER.
If info = 0: successful exit.
If info = -i < 0, the i-th argument had an illegal value.
If info = 1, a singular value did not converge.