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
void slasd0( lapack_int *n, lapack_int *sqre, float *d, float *e, float *u, lapack_int *ldu, float *vt, lapack_int *ldvt, lapack_int *smlsiz, lapack_int *iwork, float *work, lapack_int *info );
void dlasd0( lapack_int *n, lapack_int *sqre, double *d, double *e, double *u, lapack_int *ldu, double *vt, lapack_int *ldvt, lapack_int *smlsiz, lapack_int *iwork, double *work, lapack_int *info );
Include Files
- mkl.h
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
-
On entry, the row dimension of the upper bidiagonal matrix. This is also the dimension of the main diagonal array d.
- sqre
-
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
-
Array, DIMENSION (n). On entry, d contains the main diagonal of the bidiagonal matrix.
- e
-
Array, DIMENSION (m-1). Contains the subdiagonal entries of the bidiagonal matrix. On exit, e is destroyed.
- ldu
-
On entry, leading dimension of the output array u.
- ldvt
-
On entry, leading dimension of the output array vt.
- smlsiz
-
On entry, maximum size of the subproblems at the bottom of the computation tree.
- iwork
-
Workspace array, dimension must be at least (8n).
- work
-
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
-
Array, DIMENSION at least (ldq, n). On exit, u contains the left singular vectors.
- vt
-
Array, DIMENSION at least (ldvt, m). On exit, vtT contains the right singular vectors.
- info
-
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.