Developer Reference

  • 2021.1
  • 12/04/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

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.