Visible to Intel only — GUID: GUID-020CC0E2-37E2-48D1-86C3-67B98FBC8BCA
Visible to Intel only — GUID: GUID-020CC0E2-37E2-48D1-86C3-67B98FBC8BCA
?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.