Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

?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
(8
n
)
.
work
Workspace array,
dimension
must be at least
(3
m
2
+2
m
)
.
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,
vt
T
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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804