Loading...
Searching...
No Matches

## dlarrf()

subroutine dlarrf | ( | integer | n,
|  | double precision, dimension( * ) | d,
|  | double precision, dimension( * ) | l,
|  | double precision, dimension( * ) | ld,
|  | integer | clstrt,
|  | integer | clend,
|  | double precision, dimension( * ) | w,
|  | double precision, dimension( * ) | wgap,
|  | double precision, dimension( * ) | werr,
|  | double precision | spdiam,
|  | double precision | clgapl,
|  | double precision | clgapr,
|  | double precision | pivmin,
|  | double precision | sigma,
|  | double precision, dimension( * ) | dplus,
|  | double precision, dimension( * ) | lplus,
|  | double precision, dimension( * ) | work,
|  | integer | info )

DLARRF finds a new relatively robust representation such that at least one of the eigenvalues is relatively isolated.

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

Purpose:

      !>
      !> Given the initial representation L D L^T and its cluster of close
      !> eigenvalues (in a relative measure), W( CLSTRT ), W( CLSTRT+1 ), ...
      !> W( CLEND ), DLARRF finds a new relatively robust representation
      !> L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the
      !> eigenvalues of L(+) D(+) L(+)^T is relatively isolated.
      !>

Parameters

  [in]

  N

      !>          N is INTEGER
      !>          The order of the matrix (subblock, if the matrix split).
      !>

  [in]

  D

      !>          D is DOUBLE PRECISION array, dimension (N)
      !>          The N diagonal elements of the diagonal matrix D.
      !>

  [in]

  L

      !>          L is DOUBLE PRECISION array, dimension (N-1)
      !>          The (N-1) subdiagonal elements of the unit bidiagonal
      !>          matrix L.
      !>

  [in]

  LD

      !>          LD is DOUBLE PRECISION array, dimension (N-1)
      !>          The (N-1) elements L(i)*D(i).
      !>

  [in]

  CLSTRT

      !>          CLSTRT is INTEGER
      !>          The index of the first eigenvalue in the cluster.
      !>

  [in]

  CLEND

      !>          CLEND is INTEGER
      !>          The index of the last eigenvalue in the cluster.
      !>

  [in]

  W

      !>          W is DOUBLE PRECISION array, dimension
      !>          dimension is >=  (CLEND-CLSTRT+1)
      !>          The eigenvalue APPROXIMATIONS of L D L^T in ascending order.
      !>          W( CLSTRT ) through W( CLEND ) form the cluster of relatively
      !>          close eigenalues.
      !>

  [in,out]

  WGAP

      !>          WGAP is DOUBLE PRECISION array, dimension
      !>          dimension is >=  (CLEND-CLSTRT+1)
      !>          The separation from the right neighbor eigenvalue in W.
      !>

  [in]

  WERR

      !>          WERR is DOUBLE PRECISION array, dimension
      !>          dimension is  >=  (CLEND-CLSTRT+1)
      !>          WERR contain the semiwidth of the uncertainty
      !>          interval of the corresponding eigenvalue APPROXIMATION in W
      !>

  [in]

  SPDIAM

      !>          SPDIAM is DOUBLE PRECISION
      !>          estimate of the spectral diameter obtained from the
      !>          Gerschgorin intervals
      !>

  [in]

  CLGAPL

      !>          CLGAPL is DOUBLE PRECISION
      !>

  [in]

  CLGAPR

      !>          CLGAPR is DOUBLE PRECISION
      !>          absolute gap on each end of the cluster.
      !>          Set by the calling routine to protect against shifts too close
      !>          to eigenvalues outside the cluster.
      !>

  [in]

  PIVMIN

      !>          PIVMIN is DOUBLE PRECISION
      !>          The minimum pivot allowed in the Sturm sequence.
      !>

  [out]

  SIGMA

      !>          SIGMA is DOUBLE PRECISION
      !>          The shift used to form L(+) D(+) L(+)^T.
      !>

  [out]

  DPLUS

      !>          DPLUS is DOUBLE PRECISION array, dimension (N)
      !>          The N diagonal elements of the diagonal matrix D(+).
      !>

  [out]

  LPLUS

      !>          LPLUS is DOUBLE PRECISION array, dimension (N-1)
      !>          The first (N-1) elements of LPLUS contain the subdiagonal
      !>          elements of the unit bidiagonal matrix L(+).
      !>

  [out]

  WORK

      !>          WORK is DOUBLE PRECISION array, dimension (2*N)
      !>          Workspace.
      !>

  [out]

  INFO

      !>          INFO is INTEGER
      !>          Signals processing OK (=0) or failure (=1)
      !>

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

Contributors:
  Beresford Parlett, University of California, Berkeley, USA
  Jim Demmel, University of California, Berkeley, USA
  Inderjit Dhillon, University of Texas, Austin, USA
  Osni Marques, LBNL/NERSC, USA
  Christof Voemel, University of California, Berkeley, USA