Developer Reference

Contents

?lasd7

Merges the two sets of singular values together into a single sorted set. Then it tries to deflate the size of the problem. Used by
?bdsdc
.

Syntax

void slasd7
(
lapack_int
*icompq
,
lapack_int
*nl
,
lapack_int
*nr
,
lapack_int
*sqre
,
lapack_int
*k
,
float
*d
,
float
*z
,
float
*zw
,
float
*vf
,
float
*vfw
,
float
*vl
,
float
*vlw
,
float
*alpha
,
float
*beta
,
float
*dsigma
,
lapack_int
*idx
,
lapack_int
*idxp
,
lapack_int
*idxq
,
lapack_int
*perm
,
lapack_int
*givptr
,
lapack_int
*givcol
,
lapack_int
*ldgcol
,
float
*givnum
,
lapack_int
*ldgnum
,
float
*c
,
float
*s
,
lapack_int
*info
);
void dlasd7
(
lapack_int
*icompq
,
lapack_int
*nl
,
lapack_int
*nr
,
lapack_int
*sqre
,
lapack_int
*k
,
double
*d
,
double
*z
,
double
*zw
,
double
*vf
,
double
*vfw
,
double
*vl
,
double
*vlw
,
double
*alpha
,
double
*beta
,
double
*dsigma
,
lapack_int
*idx
,
lapack_int
*idxp
,
lapack_int
*idxq
,
lapack_int
*perm
,
lapack_int
*givptr
,
lapack_int
*givcol
,
lapack_int
*ldgcol
,
double
*givnum
,
lapack_int
*ldgnum
,
double
*c
,
double
*s
,
lapack_int
*info
);
Include Files
  • mkl.h
Description
The routine
?lasd7
merges the two sets of singular values together into a single sorted set. Then it tries to deflate the size of the problem. There are two ways in which deflation can occur: when two or more singular values are close together or if there is a tiny entry in the
Z
vector. For each such occurrence the order of the related secular equation problem is reduced by one.
?lasd7
is called from
?lasd6
.
Input Parameters
icompq
Specifies whether singular vectors are to be computed in compact form, as follows:
= 0: Compute singular values only.
= 1: Compute singular vectors of upper bidiagonal matrix in compact form.
nl
The row dimension of the upper block.
nl
1
.
nr
The row dimension of the lower block.
nr
1
.
sqre
= 0: the lower block is an
nr
-by-
nr
square matrix.
= 1: the lower block is an
nr
-by-(
nr
+1) rectangular matrix. The bidiagonal matrix has
n
=
nl
+
nr
+ 1
rows and
m
=
n
+
sqre
n
columns.
d
Array,
DIMENSION
(
n
). On entry
d
contains the singular values of the two submatrices to be combined.
zw
Array,
DIMENSION
(
m
).
Workspace for
z
.
vf
Array,
DIMENSION
(
m
). On entry,
vf
(1:
nl
+1)
contains the first components of all right singular vectors of the upper block; and
vf
(
nl
+2:
m
)
contains the first components of all right singular vectors of the lower block.
vfw
Array,
DIMENSION
(
m
).
Workspace for
vf
.
vl
Array,
DIMENSION
(
m
).
On entry,
vl
(1:
nl
+1)
contains the last components of all right singular vectors of the upper block; and
vl
(
nl
+2:
m
)
contains the last components of all right singular vectors of the lower block.
VLW
Array,
DIMENSION
(
m
).
Workspace for
VL
.
alpha
REAL
for
slasd7
DOUBLE PRECISION
for
dlasd7
.
Contains the diagonal element associated with the added row.
beta
Contains the off-diagonal element associated with the added row.
idx
Workspace array,
DIMENSION
(
n
). This will contain the permutation used to sort the contents of
d
into ascending order.
idxp
Workspace array,
DIMENSION
(
n
). This will contain the permutation used to place deflated values of
d
at the end of the array.
idxq
Array,
DIMENSION
(
n
).
This contains the permutation which separately sorts the two sub-problems in
d
into ascending order. Note that entries in the first half of this permutation must first be moved one position backward; and entries in the second half must first have
nl
+1
added to their values.
ldgcol
The leading dimension of the output array
givcol
, must be at least
n
.
ldgnum
The leading dimension of the output array
givnum
, must be at least
n
.
Output Parameters
k
Contains the dimension of the non-deflated matrix, this is the order of the related secular equation.
1 ≤
k
n
.
d
On exit,
d
contains the trailing (
n
-
k
) updated singular values (those which were deflated) sorted into increasing order.
z
Array,
DIMENSION
(
m
).
On exit,
Z
contains the updating row vector in the secular equation.
vf
On exit,
vf
contains the first components of all right singular vectors of the bidiagonal matrix.
vl
On exit,
vl
contains the last components of all right singular vectors of the bidiagonal matrix.
dsigma
Array,
DIMENSION
(
n
). Contains a copy of the diagonal elements (
k
-1 singular values and one zero) in the secular equation.
idxp
On output,
idxp
(2:
k
) points to the nondeflated
d
-values and
idxp
(
k
+1:
n
) points to the deflated singular values.
perm
Array,
DIMENSION
(
n
).
The permutations (from deflation and sorting) to be applied to each singular block. Not referenced if
icompq
= 0
.
givptr
The number of Givens rotations which took place in this subproblem. Not referenced if
icompq
= 0
.
givcol
Array,
DIMENSION
(
ldgcol
, 2 ). Each pair of numbers indicates a pair of columns to take place in a Givens rotation. Not referenced if
icompq
= 0
.
givnum
Array,
DIMENSION
(
ldgnum
, 2 ). Each number indicates the
C
or
S
value to be used in the corresponding Givens rotation. Not referenced if
icompq
= 0
.
c
If
sqre
=0
, then
c
contains garbage, and if
sqre
= 1
, then
c
contains
C
-value of a Givens rotation related to the right null space.
S
If
sqre
=0
, then
s
contains garbage, and if
sqre
= 1
, then
s
contains
S
-value of a Givens rotation related to the right null space.
info
= 0: successful exit.
< 0: if
info
= -
i
, the
i
-th argument had an illegal value.

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