Loading...
Searching...
No Matches

## claed0()

subroutine claed0 | ( | integer | qsiz,
|  | integer | n,
|  | real, dimension( * ) | d,
|  | real, dimension( * ) | e,
|  | complex, dimension( ldq, * ) | q,
|  | integer | ldq,
|  | complex, dimension( ldqs, * ) | qstore,
|  | integer | ldqs,
|  | real, dimension( * ) | rwork,
|  | integer, dimension( * ) | iwork,
|  | integer | info )

CLAED0 used by CSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method.

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

Purpose:

      !>
      !> Using the divide and conquer method, CLAED0 computes all eigenvalues
      !> of a symmetric tridiagonal matrix which is one diagonal block of
      !> those from reducing a dense or band Hermitian matrix and
      !> corresponding eigenvectors of the dense or band matrix.
      !>

Parameters

  [in]

  QSIZ

      !>          QSIZ is INTEGER
      !>         The dimension of the unitary matrix used to reduce
      !>         the full matrix to tridiagonal form.  QSIZ >= N if ICOMPQ = 1.
      !>

  [in]

  N

      !>          N is INTEGER
      !>         The dimension of the symmetric tridiagonal matrix.  N >= 0.
      !>

  [in,out]

  D

      !>          D is REAL array, dimension (N)
      !>         On entry, the diagonal elements of the tridiagonal matrix.
      !>         On exit, the eigenvalues in ascending order.
      !>

  [in,out]

  E

      !>          E is REAL array, dimension (N-1)
      !>         On entry, the off-diagonal elements of the tridiagonal matrix.
      !>         On exit, E has been destroyed.
      !>

  [in,out]

  Q

      !>          Q is COMPLEX array, dimension (LDQ,N)
      !>         On entry, Q must contain an QSIZ x N matrix whose columns
      !>         unitarily orthonormal. It is a part of the unitary matrix
      !>         that reduces the full dense Hermitian matrix to a
      !>         (reducible) symmetric tridiagonal matrix.
      !>

  [in]

  LDQ

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

  [out]

  IWORK

      !>          IWORK is INTEGER array,
      !>         the dimension of IWORK must be at least
      !>                      6 + 6*N + 5*N*lg N
      !>                      ( lg( N ) = smallest integer k
      !>                                  such that 2^k >= N )
      !>

  [out]

  RWORK

      !>          RWORK is REAL array,
      !>                               dimension (1 + 3*N + 2*N*lg N + 3*N**2)
      !>                        ( lg( N ) = smallest integer k
      !>                                    such that 2^k >= N )
      !>

  [out]

  QSTORE

      !>          QSTORE is COMPLEX array, dimension (LDQS, N)
      !>         Used to store parts of
      !>         the eigenvector matrix when the updating matrix multiplies
      !>         take place.
      !>

  [in]

  LDQS

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

  [out]

  INFO

      !>          INFO is INTEGER
      !>          = 0:  successful exit.
      !>          < 0:  if INFO = -i, the i-th argument had an illegal value.
      !>          > 0:  The algorithm failed to compute an eigenvalue while
      !>                working on the submatrix lying in rows and columns
      !>                INFO/(N+1) through mod(INFO,N+1).
      !>

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