?lasd9
?lasd9
Finds the square roots of the roots of the secular equation, and stores, for each element in
D
, the distance to its two nearest poles. Used by ?bdsdc
.Syntax
void slasd9
(
lapack_int
*icompq
,
lapack_int
*k
,
float
*d
,
float
*z
,
float
*vf
,
float
*vl
,
float
*difl
,
float
*difr
,
float
*dsigma
,
float
*work
,
lapack_int
*info
);
void dlasd9
(
lapack_int
*icompq
,
lapack_int
*k
,
double
*d
,
double
*z
,
double
*vf
,
double
*vl
,
double
*difl
,
double
*difr
,
double
*dsigma
,
double
*work
,
lapack_int
*info
);
Include Files
- mkl.h
Description
The routine
?lasd9
finds the square roots of the roots of the secular equation, as defined by the values in dsigma
and z
. It makes the appropriate calls to ?lasd4
, and stores, for each element in d
, the distance to its two nearest poles (elements in dsigma
). It also updates the arrays vf
and vl
, the first and last components of all the right singular vectors of the original bidiagonal matrix. ?lasd9
is called from ?lasd7
.Input Parameters
- icompq
- Specifies whether singular vectors are to be computed in factored form in the calling routine:If, compute singular values only;icompq= 0If, compute singular vector matrices in factored form also.icompq= 1
- k
- The number of terms in the rational function to be solved byslasd4..k≥1
- dsigma
- Array,DIMENSION(k).The firstkelements of this array contain the old roots of the deflated updating problem. These are the poles of the secular equation.
- z
- Array,DIMENSION(k). The firstkelements of this array contain the components of the deflation-adjusted updating row vector.
- vf
- Array,DIMENSION(k). On entry,vfcontains information passed throughsbede8.
- vl
- Array,DIMENSION(k). On entry,vlcontains information passed throughsbede8.
- work
- Workspace array,DIMENSIONat least (3k).
Output Parameters
- d
- Array,DIMENSION(k).d(i) contains the updated singular values.
- vf
- On exit,vfcontains the firstkcomponents of the first components of all right singular vectors of the bidiagonal matrix.
- vl
- On exit,vlcontains the firstkcomponents of the last components of all right singular vectors of the bidiagonal matrix.
- difl
- Array,DIMENSION(k).On exit,.difl(i) =d(i) -dsigma(i)
- difr
- Array,DIMENSION(ldu, 2) ifandicompq=1DIMENSION(k) if.icompq= 0On exit,,difr(i, 1) =d(i) -dsigma(i+1)difr(k, 1) is not defined and will not be referenced.If,icompq= 1is an array containing the normalizing factors for the right singular vector matrix.difr(1:k, 2)
- info
- = 0: successful exit.< 0: if, theinfo= -ii-th argument had an illegal value.> 0: If, an singular value did not convergeinfo= 1