Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
?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.