Loading...
Searching...
No Matches

## dlaed9()

subroutine dlaed9 | ( | integer | k,
|  | integer | kstart,
|  | integer | kstop,
|  | integer | n,
|  | double precision, dimension( * ) | d,
|  | double precision, dimension( ldq, * ) | q,
|  | integer | ldq,
|  | double precision | rho,
|  | double precision, dimension( * ) | dlambda,
|  | double precision, dimension( * ) | w,
|  | double precision, dimension( lds, * ) | s,
|  | integer | lds,
|  | integer | info )

DLAED9 used by DSTEDC. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense.

Download DLAED9 + dependencies [TGZ] [ZIP] [TXT]

Purpose:

      !>
      !> DLAED9 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 DLAED4 and then stores the new matrix of
      !> eigenvectors for use in calculating the next level of Z vectors.
      !>

Parameters

  [in]

  K

      !>          K is INTEGER
      !>          The number of terms in the rational function to be solved by
      !>          DLAED4.  K >= 0.
      !>

  [in]

  KSTART

      !>          KSTART is INTEGER
      !>

  [in]

  KSTOP

      !>          KSTOP is INTEGER
      !>          The updated eigenvalues Lambda(I), KSTART <= I <= KSTOP
      !>          are to be computed.  1 <= KSTART <= KSTOP <= K.
      !>

  [in]

  N

      !>          N is INTEGER
      !>          The number of rows and columns in the Q matrix.
      !>          N >= K (delation may result in N > K).
      !>

  [out]

  D

      !>          D is DOUBLE PRECISION array, dimension (N)
      !>          D(I) contains the updated eigenvalues
      !>          for KSTART <= I <= KSTOP.
      !>

  [out]

  Q

      !>          Q is DOUBLE PRECISION array, dimension (LDQ,N)
      !>

  [in]

  LDQ

      !>          LDQ is INTEGER
      !>          The leading dimension of the array Q.  LDQ >= max( 1, N ).
      !>

  [in]

  RHO

      !>          RHO is DOUBLE PRECISION
      !>          The value of the parameter in the rank one update equation.
      !>          RHO >= 0 required.
      !>

  [in]

  DLAMBDA

      !>          DLAMBDA is DOUBLE PRECISION array, dimension (K)
      !>          The first K elements of this array contain the old roots
      !>          of the deflated updating problem.  These are the poles
      !>          of the secular equation.
      !>

  [in]

  W

      !>          W is DOUBLE PRECISION array, dimension (K)
      !>          The first K elements of this array contain the components
      !>          of the deflation-adjusted updating vector.
      !>

  [out]

  S

      !>          S is DOUBLE PRECISION array, dimension (LDS, 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.
      !>

  [in]

  LDS

      !>          LDS is INTEGER
      !>          The leading dimension of S.  LDS >= max( 1, K ).
      !>

  [out]

  INFO

      !>          INFO is INTEGER
      !>          = 0:  successful exit.
      !>          < 0:  if INFO = -i, the i-th argument had an illegal value.
      !>          > 0:  if INFO = 1, an eigenvalue did not converge
      !>

Author
  Univ. of Tennessee
  Univ. of California Berkeley
  Univ. of Colorado Denver
  NAG Ltd.

Contributors:
  Jeff Rutter, Computer Science Division, University of California at Berkeley, USA