Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?laed9
Used by sstedc / dstedc . Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense.
Syntax
call slaed9 ( k , kstart , kstop , n , d , q , ldq , rho , dlamda , w , s , lds , info )
call dlaed9 ( k , kstart , kstop , n , d , q , ldq , rho , dlamda , w , s , lds , info )
Include Files
mkl.fi
Description
slaed9 dlaed9
The routine finds the roots of the secular equation, as defined by the values in d , z , and rho , between kstart and kstop . It makes the appropriate calls to slaed4 / dlaed4 and then stores the new matrix of eigenvectors for use in calculating the next level of z vectors.
Input Parameters
- k
-
INTEGER . The number of terms in the rational function to be solved by slaed4 / dlaed4 ( k≥ 0 ).
- kstart , kstop
-
INTEGER . The updated eigenvalues lambda (i), kstart ≤ i ≤ kstop are to be computed. 1 ≤ kstart ≤ kstop ≤ k .
- n
-
INTEGER . The number of rows and columns in the Q matrix. n≥k (deflation may result in n > k ).
- q
-
REAL for slaed9 DOUBLE PRECISION for dlaed9 . Workspace array, dimension ( ldq, * ). The second dimension of q must be at least max(1, n) .
- ldq
-
INTEGER . The leading dimension of the array q ; ldq≥ max(1, n) .
- rho
-
REAL for slaed9 DOUBLE PRECISION for dlaed9 The value of the parameter in the rank one update equation. rho≥ 0 required.
- dlamda , w
-
REAL for slaed9 DOUBLE PRECISION for dlaed9 Arrays, dimension ( k ) each. The first k elements of the array dlamda (*) contain the old roots of the deflated updating problem. These are the poles of the secular equation. The first k elements of the array w (*) contain the components of the deflation-adjusted updating vector.
- lds
-
INTEGER . The leading dimension of the output array s ; lds≥ max(1, k) .
Output Parameters
- d
-
REAL for slaed9 DOUBLE PRECISION for dlaed9 Array, dimension ( n ). Elements in d(i) are not referenced for 1 ≤ i < kstart or kstop < i ≤ n .
- s
-
REAL for slaed9 DOUBLE PRECISION for dlaed9 . Array, dimension ( lds, * ) . The second dimension of s must be at least max(1, k) . Will contain the eigenvectors of the repaired matrix which will be stored for subsequent z vector calculation and multiplied by the previously accumulated eigenvectors to update the system.
- dlamda
-
On exit, the value is modified to make sure all dlamda(i) - dlamda(j) can be computed with high relative accuracy, barring overflow and underflow.
- w
-
Destroyed on exit.
info
INTEGER .
If info = 0 , the execution is successful.
If info = -i , the i- th parameter had an illegal value. If info = 1 , the eigenvalue did not converge.